ProvisioningProfile周りで端末にInstall出来なくなったときに確認することメモ。
Provisioningファイルとは。
以下Qiitaに記載されている事柄を確認。
iOSアプリのプロビジョニング周りを図にしてみる
http://qiita.com/fujisan3/items/d037e3c40a0acc46f618[iOS] プロビジョニングファイルと証明書の意味
http://qiita.com/edo_m18/items/6f10e57f95b25d9dab4e
確認したが分からないとき。
状態
取り敢えず「BundleIDとAppIDが一致してること」「秘密鍵と公開鍵のペアが多分正しいこと(例えばProvisioningProfileを作り直したりしてないこと)」「実行が許可された端末であること」を確認したが、原因がわからなかった。MemberCentorで登録されているProvisioningProfileを削除して、XcodeのFIX ISSUE押下で作成されなおすことをを確認したが、問題が解決しなかった。
対策
もう手当たり次第削除していって、空の状態からスタートしようぜという原因を特定しない根本的な解決じゃない方法。
多分よくない。
- Xcodeで開発者としてログインしているとおもうので、ログアウト
- キーチェンアクセスの「キーチェーン:ログイン」→「分類:自分の証明書」から関連する証明書(正規開発者証明書)を削除する
- Deviceに保存されているProvisioningProfileを削除
- 「Window」→「Device」→「DEVICE:HogeHoge」(任意の端末)を右クリック→「ShowProvisioningProfiles」→関連しそうなやつ全削除
- Xcode終了
- Macに保存されているProvisioningProfileを全削除
- 「/Users/HogeHoge/Library/MobileDevice/Provisioning Profiles 」にある。
- iPhoneをMacから切り離す
- iPhoneを再起動
- AppleDeveloper Mvember centerで関連するProvisioningProfileを削除(InvalidもValidも)
- 開いてるウィンドウを全部とじてMac再起動 Cmd+Q Cmd+Q Cmd+Q Cmd+Q
- Mac起動したらXcode起動
- プロジェクトを開くとログインを促すダイアログが出るので、それに従ってログイン
- iPhone接続
- 実行 「▶」
- ダイアログでProvisioningProfile関係のwarningとかでた場合は「FIX ISSUE」
- 動く!(゚∀゚)
これで憤りすぎて目が痛い・・・。