2016-12-02 3 views
3

私はアプリケーションをアーカイブし、App Storeで配布する準備をしようとしています。 (XCodeののオーガナイザーからトリガすることができる)アーカイブの検証中に は、次のエラーがポップアップ表示されます:私は、ネストされたフレームワークが含まれている私のフレームワークのいくつかを伝えることができるものから、ネストされたフレームワークを使用したIPA検証中にコード署名が失敗する

enter image description here

がcodesignedすることはできません。ネストされたフレームワークを含むすべてのフレームワークを削除すると、再び動作します。一例として、

次フレームワークは、このようなエラーが発生します。

2016-12-02 10:16:53 +0000 Processing step: IDEDistributionCodesignStep 
2016-12-02 10:16:53 +0000 Applying entitlements delta for <IDEDistributionItem: 0x7fbc6f6e2a00 'com.hearst.ObjectMapper' '<DVTFilePath:0x7fbc530bde70:'/Users/gruener/Library/Developer/Xcode/Archives/2016-12-02/TestSubmitApp 02-12-16 11.16.xcarchive/Products/Applications/TestSubmitApp.app/Frameworks/Dto.framework/Frameworks/ObjectMapper.framework'>'> from <IDEiCloudEntitlementsProcessor: 0x7fbc6e036e70>: { 
} 
2016-12-02 10:16:53 +0000 Combining entitlements for <DVTFilePath:0x7fbc525ceb00:'/var/folders/3r/_6fw2smn4vj099_d7j2jtt0cg18svh/T/XcodeDistPipeline.bXb/Root/Payload/TestSubmitApp.app/Frameworks/Dto.framework/Frameworks/ObjectMapper.framework'> 
    bundleIdentifier = com.hearst.ObjectMapper 
    profileEntitlements = { 
} 
    storedEntitlements = { 
} 
    extraEntitlements = { 
} 
2016-12-02 10:16:53 +0000 Entitlements for <IDEDistributionItem: 0x7fbc6f6e2a00 'com.hearst.ObjectMapper' '<DVTFilePath:0x7fbc530bde70:'/Users/gruener/Library/Developer/Xcode/Archives/2016-12-02/TestSubmitApp 02-12-16 11.16.xcarchive/Products/Applications/TestSubmitApp.app/Frameworks/Dto.framework/Frameworks/ObjectMapper.framework'>'>: { 
} 
2016-12-02 10:16:53 +0000 Writing entitlements for <IDEDistributionItem: 0x7fbc6f6e2a00 'com.hearst.ObjectMapper' '<DVTFilePath:0x7fbc530bde70:'/Users/gruener/Library/Developer/Xcode/Archives/2016-12-02/TestSubmitApp 02-12-16 11.16.xcarchive/Products/Applications/TestSubmitApp.app/Frameworks/Dto.framework/Frameworks/ObjectMapper.framework'>'> to: /var/folders/3r/_6fw2smn4vj099_d7j2jtt0cg18svh/T/XcodeDistPipeline.bXb/entitlementsuaGdWl 
2016-12-02 10:16:53 +0000 Running /usr/bin/codesign '-vvv' '--force' '--sign' 'A54D9A9C895E402713C0528523674342C777C825' '--preserve-metadata=identifier,resource-rules' '--entitlements' '/var/folders/3r/_6fw2smn4vj099_d7j2jtt0cg18svh/T/XcodeDistPipeline.bXb/entitlementsuaGdWl' '/var/folders/3r/_6fw2smn4vj099_d7j2jtt0cg18svh/T/XcodeDistPipeline.bXb/Root/Payload/TestSubmitApp.app/Frameworks/Dto.framework/Frameworks/ObjectMapper.framework' 
2016-12-02 10:16:53 +0000 Warning: usage of --preserve-metadata with option "resource-rules" (deprecated in Mac OS X >= 10.10)! 
2016-12-02 10:16:53 +0000 /var/folders/3r/_6fw2smn4vj099_d7j2jtt0cg18svh/T/XcodeDistPipeline.bXb/Root/Payload/TestSubmitApp.app/Frameworks/Dto.framework/Frameworks/ObjectMapper.framework: replacing existing signature 
2016-12-02 10:16:53 +0000 /var/folders/3r/_6fw2smn4vj099_d7j2jtt0cg18svh/T/XcodeDistPipeline.bXb/Root/Payload/TestSubmitApp.app/Frameworks/Dto.framework/Frameworks/ObjectMapper.framework: invalid resource directory (directory or signature have been modified) 
2016-12-02 10:16:53 +0000 /usr/bin/codesign exited with 1 
を:

enter image description here

フレームワークは、ここでCarthage

を使用して構築されて、私は見ていたログ出力されます

o FastlaneのGYMでIPAファイルを構築しようとしました。私は、アプリケーションを提出しようとすると、それが動作この中で、しかし、私はこのエラーが表示されます。エラーコード1102をグーグルで

WARNING ITMS-90686: "The binary you uploaded was invalid. (1102)" 

は結果が得られません。

答えて

1

私は最終的に問題が何であったかを考え出しました。

私は端末でlipo info /path/to/Dto.framework/Dtoを実行しましたが、すべてがうまく見えました - 不要なアーキテクチャは正しく削除されました。しかし、ネストされたフレームワークを詳しく見てみると、これはそうではないことに気付きました。

代わりに、カーセージを使って作業するときに、のすべてのフレームワークをアプリレベルにリンクして、自分のフレームワークでカプセル化してはいけないことがわかりました。

これを解決するために、Copy files Phase(すべてのフレームワークをframeworksディレクトリにコピーします)を削除しました。 Carthageはこれを認識するのに十分なほどスマートで、ネストされた依存関係をチェックアウトし、それらをビルドします。あなたがしなければならないのは、それをXCodeのLink Libraries Build Phaseに追加することだけです。

0

Dto.frameworkとObjectMapper.frameworkにどのようなアーキテクチャが含まれているか確認できますか?あなたは、それは私がデバイスとシミュレータ用に構築されたいくつかの組み込みフレームワークとしていた問題に似ているようだ

$ file /path/to/Dto.framework/Dto 

でこれを行うことができ 。シミュレータのアーチはデバッグでビルドされ、AppStoreに提出することはできません(アドホックのアーカイブはうまく機能します)。彼らはシミュレータarchsを(x86_64、およびi386)が含まれている場合は、リリース時にシミュレータarchsをを取り除くために、このブログで説明するスクリプトを使用できるアプリケーションのビルド:https://gkbrown.org/2015/12/17/creating-a-universal-ios-framework-in-xcode-7/

関連する問題