web-dev-qa-db-ja.com

xCode 6に予期しないMach-Oヘッダーコード1918975009が見つかりました

エラーの原因

Found an unexpected Mach-O header code: 1918975009 in xCode 6

プロジェクトをアーカイブして、ad hocビルドすると、ビルド/リンク/アーカイブは正常に動作しますが、xCodeオーガナイザーでExport -> Ad Hoc

エラーが表示されます

Found an unexpected Mach-O header code: 191897500. 
27
rtvanals

同じエラーが発生しました。私の場合、ユニバーサルフレームワークが原因でアプリのリソースに誤ってコピーしました(フレームワークはiOS AFAIKのメインの実行可能ファイルに直接マージされるため、これは不要です)。

そのため、ターゲットを選択し、[ビルドフェーズ]タブをクリックし、[バンドルリソースのコピー]リストを調べて、デスクトップアーキテクチャ(i386またはx86_64)を含むライブラリまたはフレームワークをコピーするかどうかを確認します。

ほとんどの場合、このようなファイルのコピーは間違っていますが、何らかの理由で必要な場合は、iOS互換アーキテクチャのみを含めることができます。

34
mkeiser

私の場合、Crashlytics、Fabricをインストールした後、この問題(「予期しないmach-oヘッダーコード0x72613c21が見つかりました」)が発生しました。

どういうわけか、ポッドは埋め込みバイナリになるように見えました。だから私はそれを削除する必要がありました、pod install、そして問題は消えました。

Remove pods from embedded binaries

35
Naloiko Eugene

同様のエラーがありました1918975009で、新しいSwift手動で追加されたサードパーティのフレームワーク(ワークスペース設定...)上記のスレッドに関連している可能性がありますので、万人に役立つ場合があります...これは、昨日正式にリリースされたXcode 9.3にアップグレードした後にのみ表示されます。

:-1: <path>/Frameworks/<frameworkName>.framework/<frameworkName>: Failed to parse executable: Unknown header: 1918975009

古い非Swiftベースのビルドシステムに戻すと、問題が修正されます。最適なソリューションではありませんが、同様の警告が表示された場合は、今のところ先に進みます。

10
Mark Thormann

同じエラーが発生しましたが、コピーバンドルリソースのライブラリ/フレームワーク、またはライブラリの不正なバージョンをトレースできませんでした。

回避策として、コマンドラインからエクスポートビルドを実行できることがわかりましたが、うまくいくようです:

xcodebuild -exportArchive -exportFormat ipa \
-archivePath /path/to/app.xcarchive/ \
-exportPath /path/to/app.ipa \
-exportProvisioningProfile "Name of provisioning profile"

ここで、「プロビジョニングプロファイルの名前」は、Xcodeに表示されるプロビジョニングプロファイルの名前です(プロファイルへのパスではありません)

3
damneddemand

[ビルドフェーズ]-> [バンドルリソースのコピー]に移動すると、フレームワークが表示されます。このセクションから削除し、LINK BINARY WITH LIBRARIESに追加します。それが動作します..

2

時々、あなたはBuild Phases-Embed Pods Frameworksを見るべきです。シェルファイルを見つけます。例えば。

ビルドフェーズ

Pods-midea-common-adddevice_Example-frameworks.shを開き、このファイルに問題があるかどうかを確認します。

1
邓立兵

私の場合は問題を解決しました

ビルドフェーズ->存在しないフレームワークまたはその他のバイナリのバンドルリソースのコピー

twitterKitとDigitKitバイナリを削除します。

編集:バンドルリソースのコピーからこのバイナリを削除すると、プロジェクトをビルド、アーカイブ、検証に渡し、App Storeに送信することもできます。しかし、プロジェクトを実行すると失敗します。したがって、Copy Bundle Resourcesから削除し、Link Binary With Libraryセクションに追加する場合(「Add other」を選択し、cmd + shift + gの組み合わせを押してバンドルまたはバイナリの場所に移動する)、それは解決されます。

0
Emre Gürses

ターゲットの「一般」タブの「埋め込みバイナリ」セクションで静的フレームワークを埋め込まないことを確認してください。

知る.framework内のバイナリアイコンが白の場合、フレームワークが静的かどうか、アイコンが黒の場合は動的フレームワークかどうかを確認できます。

0
rockdaswift

私もこの問題に遭遇しましたが、解決できました...

私の場合、既存のターゲットを複製して新しいターゲットを作成していました。名前を「MyApp-dev copy」から「MyApp-test」に変更しましたが、1つ忘れていました...新しいターゲットを作成すると、新しい.plistファイルも作成されます。そのファイルの名前を変更するのを忘れてから、新しく作成したターゲットにリンクして戻します。

それができたら、問題はなくなりました。私はもともとターゲットについて読んでいました: http://www.raywenderlich.com/68613/create-paid-lite-version-iphone-app そのページに戻ることが問題の解決に役立ちました。

0
Perlguy

プロジェクトにファブリックまたはcrashlyticsを追加するには、フレームワークをプロジェクトフォルダーまたはXcodeにドラッグまたは追加するときに、「必要に応じてアイテムをコピー」ボックスをオフのままにします。 enter image description here

0
anas.p