IPhone 4Sでアプリをテストしようとしています。 Xcodeからビルドして実行すると、プロジェクトは正常にコンパイルされますが、その後Xcodeは次のように言います。
MyiPhoneでのMyApp.appの実行が終了しました
アプリはシミュレータで完全に機能し、プロビジョニングプロファイルは正しく機能します(空のアプリをロードしようとしたところ、機能しました)。
アプリを手動でロードしようとすると、次のメッセージが表示されます。
/Users/*/Documents/App/AppName/DerivedData/AppName/Build/Products/Release-iphoneos/AppName.appにあるアプリケーションのInfo.plistが、存在しないAppNameのCFBundleExecutableを指定しています。
問題はどこだ?
XCodeがデバイスと作成する接続は壊れやすく、デバッグテストで何か問題が発生した場合、最も一般的には、開発者がデバイスに移動している間にビルドを停止した場合、簡単に破損する可能性があります。
これが起こったとき、私が経験することのルーティンがあります。うまくいかない場合は、リストをさらに下に移動します。
署名証明書を確認してください:このエラーは、証明書をいじりすぎている場合に発生する可能性があります。デバッグビルドを作成するときに現在のスキームがデバッグ署名を使用していることを確認し、現在のデバッグ署名証明書がデバッグ証明書であるかどうかをアプリケーション設定で確認してください。 (AppStore、AdHoc、Enterpriseではありません)。
デバイスとの接続を再確立:オーガナイザのデバイスの下を確認します。使用しているデバイスが存在し、緑色の黒丸でマークされているかどうかを確認します。オレンジ色または灰色の場合は、デバイスをUSBに再接続します。念のため、ケーブルを抜くのを数秒待ってからケーブルを挿入してください。 Macからケーブルを取り出したり、iDeviceを接続している部分を取り出したりしても、違いはありません。
iDeviceで開発を再アクティブ化する:これが発生する理由が分からないため、一部のデバイスは非開発段階に戻ることがあります。 [オーガナイザー]> [デバイス]の[開発を有効にする]をクリックすると、これがクリアされるようです。
XCodeデバイス接続のフラッシュ:頻繁に必要となるものは、XCodeをシャットダウンして(そして安全のために、iPhoneシミュレーターも閉じて)、新しく起動することができます。 iDeviceにあるデバッグアプリケーションを削除することもお勧めします。
iDeviceを再起動する:退屈だと思われるかもしれませんが、デバイスに保持されているパイプが破損している可能性があるため、iDeviceの再起動が必要になる場合があります。
デベロッパーマシンの再起動:それ以外のすべてが失敗した場合、Macの再起動が必要になることがよくあります。このエラーを今までに修正せずに経験したことはありません。
このチェックリストがお役に立てば幸いです。
プロジェクトをクリーンアップしてみてください。 SHIFT+CMD+K
それは私にとって仕事です。
IPhone 5sでプロジェクトを実行しているときにXCode 9で同じバグが見つかりました。プロジェクトをクリーンアップすると機能します。
デバイスでリリース製品を実行しようとしているようです。おそらくプロダクションキーで署名しています。デバッグとして実行します。
XCodeはビルド、実行、終了したようですが、アプリのデプロイに失敗し、デバイスにコピーされていません。
実際、XCodeプロジェクトには壊れているものがあるはずです。これは簡単に破損します。最善の方法は、新しいプロジェクトをゼロから構築することです。必要に応じてarmv6サポートを追加することを忘れないでください。
それは私にとってうまくいきます!
同様の問題の追跡を終えたところです。
デバイス(iPad 1)とシミュレーターで動作するアプリがiPadでの読み込みを停止しましたが、シミュレーターでは以前と同様に機能し続けました。デバイスをターゲットとして「実行」すると、コンパイルされてすぐに「Finished Running ...」に進みます。
私は通常のすべてのことを行いました-デバイスからアプリを削除し、製品/クリーンを実行し、派生データを削除し、コンピューターとデバイスをシャットダウンしましたが、運がありませんでした。他の開発アプリがロードされ、正常に実行されました。
このアプリはGameKitを使用します。 Info.plistからgameKitの要件を削除すると、アプリは再び読み込まれ、デバイス上で正しく実行されました-GameKit機能を含みます(冗談ではありません)。 gameKitを再度追加したところ、再び失敗しました。他のアプリにgameKit要件を追加すると、それらもデバイスにロードできませんでした。 gameKitが存在し、通常どおり機能していますが、デバイスのgameKit設定に問題が発生したようです。これがサンドボックスの状態に関係しているのではないかと疑っています。
IPhoneでアプリを実行するには、いくつかの変更を加える必要があります。それもテストします。整理したら再投稿します。
たぶん、私はこの推測に完全に満足していませんが、同じメッセージを最後に受け取ったのは、ターゲットデバイスが準拠していない必要なハードウェア機能がInfo.plistに設定されていたときです。 (例:カメラが必要で、iPad1でアプリを実行しようとしている。)
デバイスログを確認する
ターゲットにリストされている資格の1つを許可しないプロビジョニングプロファイルを使用している可能性があります。
例えば
資格「entitlement-name」の値は、プロビジョニングプロファイル「Your Profile Name」では許可されていません
同様の問題がありました。 iPad2でプログラムを実行すると、アプリがコンパイルされてデバイスにインストールされ、しばらく待ってからアラートが表示されます。次に、以下の手順に従いました
1)そのアプリケーションをデバイスから削除しました。
2)iPadの接続を解除して、再試行しました。
その後、デバイスで正常に実行されます。これで問題が解決しない場合は、
アプリケーションの名前を別の名前に変更して、実行してみます。実行されます。最後に、アドホッド配布で「ipa」ファイルを作成し、デバイスでテストできます。
私にとって、通常の原因は、デバイス上に既にApp Storeビルドが存在していることです。
異なる/同じバージョン番号は、事態を悪化させる可能性があります。通常は既にデバイスにインストールされているバージョンを削除すると問題が解決するため、詳しく調べていません。