私はここ数ヶ月間MonoTouchとMonoDevelopを使ってiPhoneアプリケーションを開発しています。この時点で私はデバッグ/テストの目的で自分の携帯電話にアプリをデプロイすることができましたし、私の雇用者が試用するためにAdhocバージョンをコンパイルすることもできました。これは今週まですべて正常に機能しています。Settings.bundleがiTunesに自分のiPhoneアプリケーションが無効であると言っているのはなぜですか?
私が送り出された最新バージョンがiTunesに移動して、次のエラーで失敗しません。
The app "Payload.ipa" could not be added to your iTunes library because it is not a valid app.
だから、基本的にはあなたの一般的な「何かが間違っているが、私はあなたに正確に何を言うつもりはありません」の種類のエラー。
私の最初の調査では、問題は特殊文字を含むアプリ名である可能性があるようですが、アプリ名を長年変更していないため、これは問題ではありません。私はinfo.plistにバンドル版を追加しましたが、これを削除しても問題は解決しませんでした。
出力フォルダにあるファイルを見て、Settings.bundleが含まれていることに気付きました(このアプリケーションで使用されている設定を保存するConfig.plistというファイルを追加しました)。 MonoDevelopでは、私が従っていたガイドに示唆されているように、 "Content"と "Always copy"にするオプションを変更しました。これは、SimulatorまたはMonoDevelop経由で私の電話でアプリを実行するとき、完全に動作します。しかし、アプリを.ipaファイルとしてパッケージ化すると、iTunesはアプリが有効ではないと言います。 Settings.bundleを削除すると、iTunesはそれを受け入れます。
「コンテンツ」を設定しても、「コピーしない」に設定されている場合でもSettings.bundleファイルが出力(ビン)フォルダに表示されている場合、「常にコピーする」オプションは不要です。
私はRoot.plistに名前を変更しなければならないかもしれないと思っていました。これは例が使用しているものであり、おそらくそれがそうであると思われるからです。しかし、再び名前を変更しても差は出ませんでした。
だから、他の誰かがこの問題にぶつかり合っていて、それをどうやって解決しているのだろうかと思っていただけです。
http://TestFlightApp.comを使用してみましたか?私は、iTunesでのベータテストにこれを使用することをお勧めします。あなたのAdHocビルドがMonoDevelopからデプロイされたときに電話で動作するならば、それはiTunesで同じように動作するはずです。 – jonathanpeppers
私はTestFlightをまだ試していませんが、今見ています。以前は単に.ipaファイルを必要な人にメールで送信し、iTunes経由で同期させるだけで問題を解決する方法はわかりません。しかし、それを言って、それは試してみる価値がある。 –
iOSプロビジョニングポータルにこれらの電話機を設定していますか?それを簡単に行うには、各電話機をMacに接続して、Xcodeのオーガナイザで[開発用に使用]をクリックします。これを行うもう1つの方法は、電話で番号を尋ねることですが、TestFlightがそのプロセスを自動化すると信じています。 – jonathanpeppers