[解決済み】App Storeに投稿する問題。サポートされていないアーキテクチャ x86
2022-04-02 19:45:43
質問
ShopifyのAPIを使おうとしています。アプリをアーカイブして検証するときは問題ないのですが、アプリストアに提出すると、次のような問題が発生します。
- ERROR ITMS-90087: "Unsupported Architecture. あなたの実行ファイルにはサポートされていないアーキテクチャ '[x86_64, i386]' が含まれています。
- ERROR ITMS-90209: "無効なセグメントアライメントです。SJAPP.app/Frameworks/Buy.framework/Buy にある App Binary は、適切なセグメントアライメントを有していません。最新のXcodeバージョンでアプリを再構築してみてください。" (私はすでに最新バージョンを使用しています。)
- ERROR ITMS-90125: "The Binary is invalid. LC_ENCRYPTION_INFO load コマンドの暗号化情報がないか、無効か、またはバイナリがすでに暗号化されています。このバイナリはAppleのLinkerでビルドされていないようです"。
- 警告 ITMS-90080: "実行可能な Payload/.../Buy.framework は位置独立実行ファイルではありません。PIE 実行ファイルを作成するようにビルド設定がされていることを確認してください。
解決するには?
問題は、Buyフレームワークにシミュレータ(x86_64)用と実機(ARM)用のビルドがあることです。
もちろん、サポートされていないアーキテクチャのバイナリを App Store に提出することは許可されていないので、解決策は、提出する前に、最終的なバイナリから不要なアーキテクチャを手動で削除することです。
ダニエル・ケネットが思いついたのは は良い解決策で、次のスクリプトを提供しています。 をビルドフェーズに追加してください。
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
# This script loops through the frameworks embedded in the application and
# removes unused architectures.
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
EXTRACTED_ARCHS=()
for ARCH in $ARCHS
do
echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
echo "Merging extracted architectures: ${ARCHS}"
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
echo "Replacing original executable with thinned version"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
done
使ってみたらバッチリでした。
EDIT: このスクリプトには細かい問題があるので、Varrryが投稿した修正スクリプトを必ず見てください。
関連
-
[解決済み】iOS用のプライベートメッセージUI(受信、送信、作成)フレームワークはありますか?
-
[解決済み] 'strcmp' はこのスコープで宣言されていません。
-
[解決済み】NSURLErrorDomainエラーコードの説明
-
[解決済み] Xcode 10でコマンドCompileSwiftが0以外の終了コードで失敗する [重複] 。
-
[解決済み] Xcodeエラー:SDK 'iOS 10.0'の製品タイプ 'Application'では、コード署名が必要です。
-
[解決済み] CFNetwork SSLHandshakeに失敗しました(-9824) NSURLSession/NSURLConnection HTTPのロードに失敗しました(kCFStreamErrorDomainSSL, -9824)
-
[解決済み] 「シミュレータで実行すると、「インストールされているプロビジョニングプロファイルが、インストールされているiOS署名アイデンティティと一致しません。
-
[解決済み] UICollectionView: 非Nilのレイアウトパラメータで初期化する必要があります。
-
[解決済み] 指定されたホスト名を持つサーバーが見つからなかった
-
[解決済み] 脱獄したiphoneで`uicache`コマンドは何をするのですか?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Cocoapodsをインストールできない - プロジェクト・ディレクトリにポッドファイルが見つからない
-
[解決済み】arm64アーキテクチャの未定義シンボルについて
-
[解決済み] EXC_CORPSE_NOTIFY シンボルのクラッシュが発生しました、追跡するには?
-
[解決済み] CocoaPodsでポッド「Firebase/Core」の互換バージョンが見つからなかった|cloud_firestore, Flutter
-
[解決済み] Xcode 4のBundle creator OS Type code ?
-
[解決済み] SwiftでUIColor patternImageを使用して画像を中心からタイル状に配置する方法
-
[解決済み] React native - connection has no connection handler エラーの意味?
-
[解決済み] 起動画面にカスタムクラス名が設定されない場合がある
-
[解決済み] Unwind segue - インスタンスメソッドのみ @IBAction を宣言でき、ボタンが Exit に接続しない
-
[解決済み] Objective C - 値で渡す、参照で渡す