Xcode10 SigningのSigningCertificateが古いものを読み込んでしまう。
困っていること
Certificateを更新したにも関わらずXcodeが古いものを適用して、証明書エラー(アップロード後に通知が来てAppStoreへアップロードができない)を起こしてしまう。
現状
古いCertificateのPrefix(9xxxxxxxxx)
新しいもの (7xxxxxxxxx)
古いCertificateはAppleDeveloperを見る限り存在しない。
キーチェーンに登録されている古いCertificateが書かれた証明書は削除済み。
キーチェーンからリクエストを発行してAppleDeveloperにて全てのCertificateを削除してからDeveloperとDistributionを発行した。
その後、AppIDを登録した。その時のPrefixIDは新しいものであることは確認済み。
そして、Provisioning Profilesを開発用と製品用を発行して(PrefixIDは新しいものを選択)してDL。
しかし、XcodeでAutomatically manage singingを選択するとSinging Certificateは古いものを生成しキーチェーンへ登録をしてしまう。また、AppDeveloperにも生成されたキーが出現。
AutomatiCally manage singingのチェックを外し再度試してみたがDistributionは新しいものを選択されるものの、Developerは古いものが選択されてしまう。
この後、ArchiveをしてValidate、Uploadをすると、Upload自体は出来る。
Upload時に確認画面として出てくるところのPrefixIDは新しいものが選択されている。
A sealed resource is missing or invalid. The file at path [MyAppName.app/MyAppName] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate.
とのメールが来てしまいアップロードができない
やってみたこと
- 上記に書いてある通りの証明書類の削除と再発行
- Xcodeのbuildの中身を削除
- XcodeのClean Build Folderを実行
- ~/Library/MobileDevice/Provisioning Profiles/ の中身はrm *で削除済み
- キーチェーン内のiOS Developerを削除
環境
macOS Mojave 10.14.3
Xcode 10.2 beta
Xcode 10.1で試してみたがProvision ProfileがUnknown、ProfileがNoneとなってしまうので10.0と10.2を試してみた。10.0ではアップロードができなくなるとのWarningをもらったので10.2を試している。なお、どのXcodeのバージョンを使ってもアップロード後のメールに変わりはなかった。