//tips
//Xcodeのvalidateエラーについて
PCを再起動して再度アーカイブをトライ。
なぜか成功。
your app successfully passed all validation checks
と表示された。
この時にDisplaynameは妥協して英語名にしたのが効いたのか確認するため,Displaynameを日本語表記に直して再度トライ。
やはりDisplaynameを漢字表記にするとエラーが発生。
再度アルファベットに変換してアーカイブしたものをvalidateする。ちなみに先ほどとは異なるアルファベットのdisplaynameにしてみた。というのも、displaynameがunityのbuild setting内にある product nameと全く同じでないといけないのかを確かめるためである。
下記のエラーが出て再度失敗。
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip: can't write output file: /Users/xxxxxxxx/Library/Developer/Xcode/DerivedData/Unity-iPhone-cxnoykbfrdsltbexoylfuigmjtpt/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/original.app/Frameworks/UnityFramework.framework/UnityFramework (No space left on device)
error: strip /Users/akihironakamura/Library/Developer/Xcode/DerivedData/Unity-iPhone-cxnoykbfrdsltbexoylfuigmjtpt/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/UnityFramework.framework/UnityFramework: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip exited with 1
この際にストレージを確かめてみると残量9GBあったものが50MBしかなかった。
この状態で最初に成功したdisplaynameに変更して、再度アーカイブしてみる。キャッシュがエラー要因になっていると考え、productからcleanを行い、キャッシュを無くして試行。
最初に成功したものもエラーが発生。この時点でストレージ残量50MBがおおよそのエラー要因であることがわかった。
PCを再起動するとストレージが5GBまで回復しているので、displaynameを日本語表記にして再度アーカイブを試行。
無事に成功。
アーカイブを別途作成したい時には、事前に再起動と、クリーンを行っておくことが必要なよう。
Distribute AppボタンからiOS App Storeにアップロード。成功の文言が出たら、App Store Connectでアップロードされていることを確認。
私の場合はアップロード中に画面がフリーズするので要因を探った。下記のように、xcodeがApp Storeにアプリをアップデートできない要因を含んでいることから別の手段でのアップロードを模索する。
http://www.366service.com/jp/qa/e8bb13a2de1f9d01e756ef64f114797f
https://dev.classmethod.jp/articles/cannot-upload-xcode-11-2/
Xcodeのメニューから Window > Organizer からアーカイブの内容を開き、Application Loaderを使用する方法で試そうとしたが、もはやApplication Loaderが存在していなかった。
さらに調査したところ下記のような形でもappleへの提出は可能らしい。
https://honmushi.com/2020/02/18/ios-transporter/
まずはWindow > Organizer からアーカイブの内容を開き、distribute appをクリック。
今度はここでアップロードではなく、エクスポートを行う。このエクスポートした内容をTransporterを使用し、提出する。
Transporterアプリをapp storeから新たにダウンロードし、使用、1時間半後、デリバリ済みの記載が表示される。
App Store Connect のマイappで反映中の表示がされているのを確認。反映完了までに時間差があるようなので待機。