アプリをアップロードしたらPotential Loss of Keychain Access
起きた現象
新バージョンのアプリをアーカイブして、Xcode 7.0.1のオーガナイザからUpload to App Store...でアップロードしたら、Potential Loss of Keychain Accessという警告が出るようになってしまいました。
原因のようなもの
アップロードするときのProvisioning Profileの指定が、今まではアプリごとのストア用プロビジョニング(XC:アプリバンドル名 とか)だったはずのところが、いつの間にか XC:* というワイルドカードIDのプロビジョニングが指定されてしまうようになっていました。
さらに、XC:アプリバンドル名 に紐づいているApp IDのプレフィックスと、XC:* に紐づいているXcode iOS Wildcard App IDという名前のApp IDのプレフィックスが異なっていました。
何かの拍子に意図していないプロビジョニングが指定されるようになってしまい、そのプロビジョニングのプレフィックスも意図したものと異なるために、Potential Loss of Keychain Accessが出るということのようです。
自己解決できた
- デベロッパーサイトのCertificates, Identifiers & Profilesでの作業
- Xcode iOS Wildcard App IDを削除しました。
- Xcode iOS Wildcard App IDに紐づいているプロビジョニングを全て削除しました。
- Xcodeの環境設定での作業
- Accountsから辿って行ってディスク上のプロビジョニングファイルを全て削除しました。
- プロビジョニングファイルをダウンロードし直しました。
- Xcodeのプロジェクトでの作業
- プロジェクト設定のTermの値がエラーになるので、Fix Issueします。
- デベロッパーサイトのCertificates, Identifiers & Profilesで確認
- 新しいXcode iOS Wildcard App IDが生成されていました。
- 新しいXcode iOS Wildcard App IDに紐づいているプロビジョニングも生成されていました。
- Xcode iOS Wildcard App IDのプレフィックスが他のApp IDと同じになっていました。
- Xcodeのプロジェクトでの作業
- Buildの値を更新しました。(忘れるとアップロードでエラーになります)
- 改めてアーカイブしました。
- Xcodeのオーガナイザでの作業
- 新しいアーカイブをアップロードすると今度は警告を受けずに完了しました。
なんだったのか
使っている人が気付かない何かよくない環境かタイミングの時にXcodeのApp IDとプロビジョニングの自動作成が実行されてしまった、ということらしいです。謎。
以上です。