web-dev-qa-db-ja.com

Xcode 10がプロジェクトをアーカイブできない

AppStoreに既にあるアプリの新しいバージョンをアップロードしようとしています。以前のバージョンはXcode 9.4を使用してアップロードされました。ただし、承認を得るにはXcode 10が必要になります。

悲しいことに、Xcode プロジェクトをアーカイブできないなので、提出用のバイナリを生成することさえできず、最初のステップに行き詰まっています。

エラーはありません:Xcodeによると、アーカイブプロセスには2000を超えるタスクがあり、任意のタスクでスタックしています(常に同じです)。 Xcodeはクラッシュせず、エラーを表示せず、文句を言いません。そのタスクを渡すことができず、IDEは永遠にそこに留まります。

別のマシンで試してみて、2つのバージョンも試してみました。以前のバージョンのアプリ(Xcode 9.4でアーカイブ可能)と新しいバージョンをSwift 4.2に正常に移行しました。

更新:

  • レガシービルディングシステムも機能しません。
  • Generic iOS Deviceのビルドも(アーカイブだけでなく)行き詰まりますが、ソフトウェアはシミュレータ上でコンパイルおよび動作します。
  • Swift 4(4.2ではなく)4)と同じ結果を選択して、移行されていないバージョンをコンパイルしようとしました。
  • 最適化レベル、全体コンパイルとインクリメンタルコンパイルなどでプレイし、常に同じ結果が得られました。
  • Xcode 9.4では、Generic iOS Deviceを何も変更せずにうまくビルドします。
10
nbloqs

最後に、プロジェクトビルド設定の「有効なアーキテクチャ」から「armv7」を削除しました。アーカイブしました!つまり、iPhone 4Sはもはや互換性がありません。しかし、私はAppleがこの方法で4Sを廃止するとは考えていません。

[17:15:49]: ▸ Generating 'ZUS_INHOUSE_DEV.app.dSYM'
[17:16:15]: ▸
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _lum_convert
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _ff_init_desc_hscale
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _lum_h_scale
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _ff_init_desc_cfmt_convert
[17:16:15]: ▸
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _ff_init_desc_chscale
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _chr_h_scale
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _ff_init_desc_no_chr
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _no_chr_scale
[17:16:30]: ▸ (arm64)  could not find object file symbol for symbol _vlc_entry__audio_filter_libscaletempo_pitch
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸ (arm64)  failed to insert symbol '_best_overlap_offset_float' in the debug map.

したがって、別の回避策は、「Debug Infomation Format」を「dWARM with dSYM File」から「DWARF」に変更することです。

12
LexTang

ビルド設定でSwift Compileの最適化を削除することにより、DSYMを使用してArchiveに取得できました。

ビルド設定-> Swiftコンパイラ-コード生成->リリース

「最適化なし」に設定

Appleフォーラム: https://forums.developer.Apple.com/thread/115185 でJacobJ84によって提案された元の修正

3
Jon C

LexTangが示唆したように、有効なアーキテクチャからarmv7を削除することなく機能する回避策の1つは、「デバッグ情報フォ​​ーマット」に「DWARF」を設定することです。残念ながら、この方法では、自動化されたクラッシュシンボリック化のオプションが失われます。この方法でクラッシュの原因を見つけることははるかに困難ですが、それでも不可能ではありません。次のリンクで、iOSのクラッシュの象徴化に関する詳細情報を見つけることができます。 https://coderwall.com/p/ezdcmg/symbolicating-an-ios-crash-log-without-the-original-dsym-file = https://www.apteligent.com/technical-resource/symbolicating-an-ios-crash-report

0
Sergio