バグを一通り修正し、再度、登録の問題に復帰しています。
アプリ登録に時間がかかっています。IDやProfileを消し、単純化して問題の原因箇所を見つけようとしています。とにかく何が何でもArchiveできるようにしたことで全体のしくみはわかってきました。しかし、いつまでも同じことをやっても解決できそうにありません。
今、原点に戻り、原因系のところを調べていいます。それで、provision fileが見つからない、というエラーが起きるケースがあることに気がつきました。
きのうは、「写真がないbase folerの場合、結果を保証しない」としていた仕様を見直しました。いくらなんでも、写真がないからと言って、結果がどうなるかわからないというのはまずい。
そうしたら、base folderをユーザーが変更できないバグがあることに気がつきました。余計な条件を入れたため起きた問題でした。
写真がないときの対処は、配列をクリアして初期値に戻せばいいのですが、組み合わせでghostが残る問題があり、これを消すのに思いの外、苦労しました。
写真がないとき、UIのボタンを押してもno actionになるようにしました。
追記:App IDsは2種類あり、com.aaa.bbb.*とcom.aaa.bbb.MesaAAAがあります。前者をiTunes Connectに登録していたつもりですが、実際は後者になっています。同じサフィックスを登録できないので、違うもので登録していけば、何かわかるかもしれません。
- iTunes Connect➡️App情報➡️一般情報
- iTunes Connectでの登録手順メモ(調査用途)
- 一般情報のバンドルIDでcom.aaa.bbb.*を選択
- バンドルIDのサフィックスはMesaBBB2を設定
このサフィックスの?には、「バンドルIDはAppのinfo.plistで使用されているものと一致する必要があります」と出ています。意味は? - 一般情報のバンドルIDに、IDはMesaExif – com.aaa.bbb.MesaBBB2と表示され、com.aaa.bbb.MesaBBB2 – com.aaa.bbb.MesaBBB2を選択できるようになりました。
- この次のステップはXcodeでの設定。
- Xcode➡️Project➡️GeneralのBundle IdentifierにiTunes Connectで登録したバンドルIDであるcom.aaa.bbb.MesaBBB2を設定する。
- エラーメッセージが出てくるので更新すれば、OKになる。つまり、これでcom.aaa.bbb.MesaBBB2と接続されたと解釈。
- ここでApple DeveloperのApp IDsを見ると、先程のMesaExif2がIn-App Purchaseとして登録されています。これでいいのかなあ?いずれにしてもこれは自動的に作成されたものであり、不可避な模様。
ただし、Mapsにチェックが入っていないので編集でチェックを入れました。 - XcodeでNo matching provisioning profile found: Your build setting specify a provisioning profile with the UUID “コード列”, however, no such provisioning profile was found.というエラーが発生。
Provisioning Profilesを見ると、確かに、App IDがcom.aaa.bbb.MesaBBB2になっていないので、選択しなおし、Generateで再登録し直し。 - このあと、Xcode➡️Project➡️GeneralとBuild SettingでそれぞれBundle Identifilerの再設定、Provisioning Profileの再設定。
- Xcode➡️Product➡️Archiveを実行。ビルドのアーカイブはOKに。
- 例のApp sandbox not enabledエラーが発生。振り出しへ。
- ここまでの操作でiTunes Connectの設定情報を削除しなくてもいいことがわかったので、App Sandbox情報をすべて入力することにして、やり直すことにします。