

Realmを使用したアプリをuploadした時にエラーが出ます。

<環境>  
xcode var8.3.2  
Realm var2.7.0

<エラー>  
ERROR ITMS-90087: "Unsupported Architectures. The executable for
アプリ名.app/Frameworks/Realm.framework contains unsupported architectures
'[x86_64, i386]'."

ERROR ITMS-90087: "Unsupported Architectures. The executable for
アプリ名.app/Frameworks/RealmSwift.framework contains unsupported architectures
'[x86_64, i386]'."

ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at
'アプリ名.app/Frameworks/Realm.framework/Realm' does not have proper segment
alignment. Try rebuilding the app with the latest Xcode version."

ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at
'アプリ名.app/Frameworks/RealmSwift.framework/RealmSwift' does not have proper
segment alignment. Try rebuilding the app with the latest Xcode version."

ERROR ITMS-90125: "The binary is invalid. The encryption info in the
LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is
already encrypted. This binary does not seem to have been built with Apple's
linker."

WARNING ITMS-90080: "The executable
'Payload/アプリ名.app/Frameworks/Realm.framework' is not a Position Independent
Executable. Please ensure that your build settings are configured to create
PIE executables. For more information refer to Technical Q&A QA1788 - Building
a Position Independent Executable in the iOS Developer Library."

WARNING ITMS-90080: "The executable
'Payload/アプリ名.app/Frameworks/RealmSwift.framework' is not a Position
Independent Executable. Please ensure that your build settings are configured
to create PIE executables. For more information refer to Technical Q&A QA1788
- Building a Position Independent Executable in the iOS Developer Library."

と、複数のエラーと警告が出ます。

実機などでは何もエラーや警告が出ていないので何が悪いのかがわかりません。

どうすればこのエラーが消えるのでしょうか？

よろしくお願いします。


CC BY-SA 3.0
2017-05-22T06:05:15.347
34925
2017-05-22T08:20:22.990
23285
question
swift xcode realm
Realmを使用したアプリを申請する時の質問です。


<https://realm.io/jp/docs/swift/latest/>

ドキュメントインストールのセクションに書かれている下記のスクリプトを実行していますか？

[code]

    bash "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/Realm.framework/strip-frameworks.sh"
    
[/code]

もしくはCarthageを使っているなら

[code]

    /usr/local/bin/carthage copy-frameworks
    
[/code]

このスクリプトを実行していますか？

ビルド済みフレームワークにはデバイスとシミュレータ用の両方のアーキテクチャのバイナリが結合されています。申請する際に、シミュレータ用のバイナリが含まれているとエラーとなり申請できません。  
このスクリプトはその問題を回避するために必要で、シミュレータ用のバイナリをフレームワークから取り除きます。もしRealm以外にも使ってるフレームワークがあるのなら同様の処理が必要です。


CC BY-SA 3.0
2017-05-22T08:20:22.990
34929
2017-05-22T08:20:22.990
5519
34925
answer