Xcode 10:この実行可能ファイルの有効なプロビジョニングプロファイルが見つかりませんでした


222

昨日から、デバイスでアプリを実行しようとすると、「この実行可能ファイルの有効なプロビジョニングプロファイルが見つかりませんでした」というエラーが発生しました。これはXcode 10にアップデートした後です。先週Xcode 9でビルドすると問題なく動作しました。

エラーに関する他のディスカッションを確認しましたが、解決策はどれも機能しません。

この問題は、さまざまな署名チームのいくつかのプロジェクトすべてに影響を与えるため、私が取り組んできた1つのプロジェクトに限定されません。

これまでのところ、私は次のことを試しました:

  • 清掃プロジェクト

  • 派生データのクリーニング

  • Xcodeをアンインストールし、それに関連する設定やファイルを削除します。

  • 完全に異なるMacへのXcodeのインストール

  • さまざまなデバイスでのテスト

  • 開発者プロファイルでデバイスを無効にし、Xcodeで再度有効にします。

  • 開発者ポータルですべての証明書を削除して再作成する

  • 「署名を自動的に管理する」のチェックを外して再度チェックする

  • プロビジョニングプロファイルを破棄し、Xcodeに再作成させる

  • 開発者プロファイルで手動プロビジョニングプロファイルを作成する

プロジェクトにはテストが含まれていないため、そのターゲットの署名設定が間違っていても問題はありません。日付/時刻が自動に設定されている

注目すべき点の1つは、私が作成した手動のものを除いて、ここにはプロビジョニングプロファイルがリストされていないことです:https : //developer.apple.com/account/ios/profile/

他のすべてのクライアントの場合と同様に、生成されたxcodeが表示されることを期待します。

以下は、現在使用している署名設定です

プロビジョニングプロファイル設定

Xcodeを古いバージョンにダウングレードして、それが機能するかどうかをまだ確認していません。それ以外は、次に何を試したらよいかわかりません。


Xcodeの設定で開発者アカウントを追加しましたか?
Ankit Jayaswal

@AnkitJayaswal複数回、機能しませんでした。ただし、9.4.1にダウングレードすることで解決できたため、問題はどういうわけかXcode 10に関連しているようです。しばらくの間、古いXcodeバージョンのアプリを送信できるはずです。
Daniel Andersson

2
はい、xcode 9とそのバージョンからのビルドを2019年3月まで送信できますdeveloper.apple.com/ios/submit
Ankit Jayaswal

また、Xcode 10でも試しましたが、のような問題には直面していませんmissing provisioning-profile
Ankit Jayaswal

3
証明書の有効期限データを過ぎてiPhoneの日付を変更しましたか?私はこの理由でこの問題に直面しました。
Anuved Nayak

回答:


478

今日私はこれに苦労していました、それはとてもイライラさせられました。とりあえず、"File"> "Project Settings..."(または場合によっては"Workspace Settings...")に移動し"Legacy Build System"て、"Build System"ドロップダウンから選択します。


1
これも私にとってはうまくいったので、Xcode 9に戻さなくてもXcode 10でアプリをビルドできます。ビルドをApp Store Conenctに送信し、TestFlightに公開することができました。したがって、問題が適切に修正されるまで、いくつかの回避策があります。アプリの提出時にレガシービルドシステムを使用できる期間について、アップルからのメモはありますか?
Daniel Andersson

9
しかし、これはどういう意味ですか?これにはどのような影響がありますか?また、設定を再び変更できることをどのようにして知ることができますか?
2018年

4
これは、Cordovaビルドで機能しました。明らかに、Cordova CLIにはスキップする引数があります:cordova build ios --buildFlag = '-UseModernBuildSystem = 0'詳細はこちらを参照してください: github.com/apache/cordova-ios/issues/407
Victor

6
ファイルの下にプロジェクト設定はありません。ワークスペース設定をクリックし、共有およびユーザーごとのワークスペース設定のビルドシステムドロップダウンから「レガシービルドシステム」を選択する必要がありました。
red-devil

9
私には
うまくいき

94

@Stephen tksこれは私のために解決されました。私は行く必要があります->ファイル-> WorspaceSettings->ビルド設定(ここで「レガシービルドシステム」に変更)ここに画像の説明を入力してください

ここに画像の説明を入力してください


1
イライラする、これも私のために働いたすべてです。私はUDIDを登録し、プロファイルを作成しました。開発証明書を持っています。開発中のアプリにすべてリンクされています。デバイスで直接実行できるようにするために必要なすべてのことを行いましたが、毎回失敗します-に切り替えるまでレガシー、初めて動作した...
Grant

62

[編集]注2020:以前はこのプロジェクトに手動で署名していました。自動的に署名したプロジェクトでは、この問題は一度もありませんでした。[/編集]

私も同じ問題を抱えていて、回答の検索、プロファイルの削除、プロジェクトのクリーニングなどに何時間も費やしました。

アプリを配布しましたか?あなたは開発者プロファイルに切り替える必要がありますが、ないでは一般的なプロジェクト設定の下で、しかしでビルド設定

[ 署名]で、コード署名IDを確認します。

デバッグとリリースの両方がiOSディストリビューションではなくiOS デベロッパーに設定されていることを確認してください。または、自動値に設定されていない場合は、iOS Developer Provisioningプロファイル。

同じことがプロビジョニングプロファイルにも当てはまります。配布プロファイルではなく、開発中のプロファイルである必要があります。 ここに画像の説明を入力してください

これが必要な将来の開発者に役立つことを願っています。


明確にするため(最初に読んだときにこの推奨事項に混乱していたため):このiOS Developerへのリリースの変更は、接続されたデバイスで直接テストしているときのみです。testflight / appストアにアップロードするためにビルドするとき、iOSディストリビューションに戻す必要がありますか?
ToolmakerSteve 2018年

1
正直なところ、いいえ。私はこれをする必要はありませんでした。これが発生する理由の1つとして、証明書を再度セットアップする必要があり、開発前にディストリビューションを「インストール」した可能性があります。それは私が推測しているだけですが、あなたの質問に答えるために:私はまだそれらを開発としてセットアップしていて、App Storeにアップロードするためにビルドをアーカイブするときに配布を選択しました。
リッカードエリマ

2
これは本当に役に立ちました!<3
bobber205

これで解決しました。アプリをプロファイリングしようとしたときにのみ問題が発生しましたが、正常に実行しただけで問題なく動作しました。デバッグ用の開発者アカウントとリリース用の配布アカウントがありました。これは正直なところ、XCode /プロファイリングのバグのようです。
James

1
動作しましたが、もう1つの手順が必要です。私はテザリングされたiPhoneでのテストを扱っていたので、App Storeに入って「iOSディストリビューション」証明書をセットアップすることについて心配する必要はありませんでした。私は開発を行っていたので、App Storeで「iOS開発」証明書を設定するだけでよいと思いました。まあ、「iOS開発」と「iOSディストリビューション」の両方の証明書を取得するまで機能しませんでした。
Stagr.Lee、

41

上記の解決策をすべて試しました。

しかし、私の場合、何時間もの頭痛の後、テストプロジェクトが署名をプロビジョニングするための有効なアカウントを持っていなかったことが原因でした。自動管理署名を使用してテストプロジェクトでプロビジョニングするチームを選択した後。この問題はなくなりました。


どうやったの?
red-devil

2
@ red-devilしたがって、すべてのターゲットプロジェクトで署名管理を更新する必要があります。
Chen

おかげで、上記のすべての答えは私の問題を解決しませんでした。あなたの答えが魔法でした。
HungrySoul

26

クリーンビルドフォルダー(コマンド+シフト+ K)を使用すると、アプリを再ビルドしてこの問題をすぐに修正できます。ただし、ビルドフォルダーをクリーンアップしたため、ビルド時間が長くなります。


1
レガシーモードを使用する提案が機能しなかったのに対して、これは私にとってはうまくいきました(さらに派生データを削除しました)
クリス、

1
通常のテストターゲットとテストターゲットのチームが異なるため、派生データを削除するだけでリセットできるという問題が発生しました。
クリス、

1
ビルドフォルダーを単独でクリーニングする(コマンド+ Shift + K)と、問題が解決しました。@JeromeLiに感謝します!
チリー

1
受け入れられた回答(「レガシーモード」)を最初に試してみましたが、うまくいきました。次に、「新しいビルドシステム」に戻り、これ(「クリーンビルドフォルダー」)の提案を試しました。それもうまくいきました。ですから、私にとっては、これがより良い答えです。
user1527225

1
これでうまく
いき

13

だから、これは誰にとっても当てはまるわけではありませんが、それに関連する答えはないようですので、とにかくここに投稿したいと思いました。

私の場合、ReactNativeで開発されているアプリで作業していましたが、メインアプリターゲットで署名が正しいにもかかわらず、テストターゲットに署名が適用されていないという問題がありました。
何らかの理由で、React Nativeでは、デバイスにアプリをインストールするために、アプリターゲットとテストターゲットの両方に署名する必要があります。
これは、デバイスのビルドに関する公式ドキュメントでこれを指定していますが、テスト以外の目的でアプリと一緒にテストターゲットがビルドされる唯一の例です。

テストターゲットに署名するには、プロジェクトナビゲーター(⌘1)を開いてプロジェクト設定に移動し、上部でプロジェクトを選択します。

メインエディター内の[ターゲット]でメインアプリターゲットを選択し(プロジェクトと同じ名前にする必要があります)、署名が正しいことを確認してから、テストターゲットを選択します(メインアプリターゲットの真下のように、テストと同じ名前にする必要があります)付加された)そして同じ方法で署名されていることを確認してください。

アプリを再構築すると、正常にインストールされるはずです。

このためクレジットは、ここで彼の答えは私に頭痛の多くを保存し、レオレイに行く:https://stackoverflow.com/a/48657358/732844

余談ですが、react nativeがテストターゲットをアプリターゲットと一緒にビルドする必要がある理由を誰かが知っている場合、彼らに教えてもらえますか?私が考えることができる唯一の理由は、インターフェイスを合理化して、reactが単一のアプリを構築し、再構築する必要なく実行とテストの両方を実行できるようにすることですが、私はそれを推測しているだけです。


2
これにより、他に何もしなかった私のためにそれを修正しました。投稿ありがとうございます。
Christian Chown

2
これを指摘してくれてありがとう。プロジェクトの名前を変更し、チームを変更しました。テストターゲットに古いチーム名がありました。私は今何時間も苦労しています。改めて感謝
Alix

何時間もの頭痛の後、これは私のためにそれを修正しました。どうもありがとう!
ジョンソン

8

私の場合、問題を解決する手順は次のとおりです。

  1. このフォルダに移動します。 ~/Library/MobileDevice/Provisioning Profiles/
  2. すべてのプロビジョニングプロファイルを削除する
  3. Xcode 10メニュー>製品>クリーンビルドフォルダー
  4. Xcode 10メニュー> Xcode> Preferences> Account> Download Manual Profiles
  5. Xcode 10メニュー>製品>ビルド/アーカイブ

上記の手順を実行する理由は、構築プロセスを混乱させていた古いプロビジョニングプロファイルを削除するためです。


6

私たちのチームにとって、何の助けにもなりませんでした。私たちは数日かけて、上記の回答とコメントで言及されているすべてのステップを試しました。XCode 10とXCode 9.2を使って、長年App Storeにあるアプリで試してみました。

この問題は、MacOS Mojaveにアップグレードした後に始まりました。残念ながら、HighSierraに戻ることはその時助けにはなりませんでした。

少なくとも、新しい証明書とプロビジョニングプロファイルを作成した後、再びApp Storeに出荷することができました。ただし、実際のデバイスでリリースモードでアプリをテストすることはできません。これは、InApp購入をテストするために必要です。

つまり、アーカイブと送信は適切に機能し、実際のデバイスでは実行できません。

複数の開発者、複数のデバイス、MacBook、XCodeバージョン...

最後に、実際のデバイスで再度テストできるようにAppID変更する必要がありました。

そのため、現在2つの異なるプロジェクトを実行しています。1つは実際のAppIDでTestFlight / AppStoreに出荷するためのもので、もう1つは別のAppIDで開発するためのものです。

これは、当社の特定の1つのアプリでのみ発生し、他のすべてのアプリでは発生しませんが、Appleの開発ツールで事態が悪化すると、将来的に同様の問題に遭遇すると予想しています...


5

XCTest単体テストターゲットに切り替えてからプロジェクトランタイムターゲットに戻した後、Xcode 10.3でこの問題が発生しました。

各ターゲットのプロビジョニングプロファイルで異なるチームを選択したことがわかりました。

修正するには:

  • クリーンビルドフォルダー

  • すべてのターゲットが同じチームを使用していることを確認してください。全般タブのプロファイル署名を参照してください。

  • すべてのターゲットに同じチームを使用していない場合は、クリーンアップしてからビルドターゲットに切り替える

    別のチームが選択されました。


5

ターゲットとターゲットテストの両方で、プロビジョニングプロファイルが同じチームからのものであることを確認してください。


1
ありがとうございました!これは、React Native
Yannickv

4

私の場合、デバイスの日時は将来の日付に設定されています。日付設定を「自動」に変更すると、問題が修正されました。


3

私は同じ問題で苦労しており、私の場合の解決策は開発者アカウントにログインすることでした。Xcode 10に更新した後、すべてのアカウントがログアウトされました。

メニュー「Xcode-> Preferences ...-> Accounts」を使用して、プロビジョニングプロファイルにアクセスできるように、使用するすべてのアカウントがログインしていることを確認してください。


2

上記の手順をすべて実行しましたが、最終的にはうまくいきません。ターゲットを複製して作成しましたが、問題なく動作しています。何が問題なのかわからない

ここに画像の説明を入力してください


1

開発デバイスを変更した可能性はありますか?新しいiPhoneを購入して、以前のデバイスと同じ名前を付けたとき、それは私に起こりました。クリーンビルドで問題が修正されました。


1

長い時間がかかり、上記のすべてのソリューションを実行しましたが、まったく機能しなかったため、チームはPodファイルを削除してpod install再実行することにしました。最後に、OTAがユーザーのデバイスにインストールしたipaをアップロードしました。最良の解決策

  1. 清潔project menu > Product > Clean Build Folder/Users/{you user name}/Library/Developer/Xcode/DerivedData

  2. プロジェクトディレクトリに移動してPodfile.lockPodsフォルダ、pod_***.framework

  3. pod installもう一度走る

できた


1

アプリがiPhoneにデプロイされても、時計にはデプロイされない場合がありました。ウォッチにデプロイすると、「この実行可能ファイルの有効なプロビジョニングプロファイルが見つかりませんでした」と表示されます。エラー。これはXCodeバージョン11.2.1であり、無料の開発者アカウントを使用しています。

これを時計に展開するために私がしたことは次のとおりです。

1)XCodeでプロビジョニングプロファイルを削除しました。これを行うには、ウィンドウ->デバイスとシミュレータに移動します。次に、iPhone名を右クリックして、「プロビジョニングプロファイルの表示」を選択します。そこからファイルを削除できます

2)「デバイスとシミュレーター」画面で、「インストール済みアプリ」セクションからアプリも削除しました。

3)「クリーンビルドフォルダー」を作成しました(製品->クリーンビルドフォルダー)

4)[ビルド設定]-> [署名セクション]で、各ターゲット(iPhone、テスト、ウォッチ)が同じ設定(開発チーム、コード署名スタイル、プロビジョニングプロファイルが自動に設定されているなど)であることを確認しました。

ビルド設定の詳細

5)〜/ Library / MobileDevice / Provisioning Profilesディレクトリが空であることを確認しました。

6)コンピュータから電話を外した

7)コンピュータ、電話、時計を再起動した

8)携帯電話をコンピュータに接続し直し、携帯電話と時計で「このマシンを信頼する」というプロンプトを確認しました。

9)アプリを実行した。出来た!


私のApple Watchにも同じ問題があり、これは私を助けました。また、Apple Watchのペアリングを解除して再度ペアリングしました。ありがとう!
Radu Vlad

1

今日、デバイスにアプリをインストールするときに同じエラーが発生しました。新しいxCode 11.4にアップデートした後、問題が発生しました。

問題を修正するために私がしたこと:

  • ペアリングされていないデバイス(Xcode> Window> Devices And Simulators> Left click device to unpair device。
  • iPhoneを再起動します
  • クリーンビルドフォルダー(Xcode>製品>クリーンビルドフォルダー)
  • 派生データを消去(../library/Developer/Xcode/DerivedData内)
  • ビルドフォルダーを再度クリーンアップ(Xcode> Product> Clean Build Folder)
  • デバイスでアプリをビルドします。

私の場合、デバイスのペアリングを解除せずにこれらの手順を使用して問題を修正しました。
ムハンマドユスフ

0

私の場合、他に何も役に立たなかったので、私は次のことをしました:

  1. AppIDを新しいものに変更する
  2. XCodeが自動的に生成した新しいプロビジョニングプロファイル
  3. 実際のデバイスでアプリを実行します->これでうまくいきました
  4. AppIDを元のIDに戻す
  5. 働く

これの前に、私はここで言及されたすべてのステップを試しました。しかし、これだけが役に立ちました。


0

Xcodeで配布証明書とプロビジョニングプロファイルが使用可能だったとしても、配布プロセス中に[署名の自動管理]を選択すると失敗しました。私は次のことをしました。前述のように、新しい配布証明書とプロビジョニングプロファイルを作成し、配布プロセス中に手動で証明書とプロビジョニングプロファイルとVoilaaaaを選択しました。また、私が最新バージョン10.1を使用していることも確認しました。


0

AppleはXcode 10.2ベータ2リリースでこのバグを修正したようです。

https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_beta_2_release_notes

署名と配布の解決された問題

macOSアプリのアーカイブを作成し、開発者ID署名証明書を使用する場合、Xcodeはアーカイブの署名に安全なタイムスタンプを含めます。その結果、最初にタイムスタンプで再署名する必要なく、xcrun altoolを使用して、アーカイブされたアプリをAppleの公証サービスに送信できるようになりました。(44952627)

macOSアプリのアーカイブを構築する際、Xcodeはアプリの署名にcom.apple.security.get-task-allowエンタイトルメントを挿入しなくなりました。その結果、xcrun altoolを使用してアーカイブされたアプリをAppleの公証サービスに提出できるようになりました。最初にこの資格を削除する必要はありません。(44952574)

アプリのエクスポートまたはアップロード時に使用される署名証明書、プロビジョニングプロファイル、およびエンタイトルメントに関する情報が不正確または不足していることを配布ワークフローが報告する原因となっていた問題を修正しました。(45761196)

オーガナイザーからエクスポートしたときに、薄くなった.ipaファイルが署名されなかった問題を修正しました。(45761101)

Xcode 10.2ベータ2リリースは、https//developer.apple.com/download/からダウンロードできます。


3
それは素晴らしいことです。しかし、アプリストア用のアプリを作成する場合、ベータ版ソフトウェアを使用していると、IPAをアップロードできません
Yasha


0

ほとんどの解決策に疲れた後、何も問題なく機能するものを見つけました。それで解決しdeveloper.apple.comaccount次にリンクCertificates, identifiers & profilesをクリックして新しいデバイスを追加しました。AllDevices

次に、デバイス名、uuid、および保存後に設定する必要があります。xcodeに移動し、キャッシュを削除してビルドし、すべての作業を正常に行います。

注1:チームが真実であることを確認してください。

注2:デバイスをMacデバイスに接続し、iTunesをクリックしてセキュリティラベルを押すと、uuidを取得できます。UUIDが表示されます。

この回答はどれも役に立ちます。


0

私は上記のすべての答えを試しましたが、運がありませんでした。その後、iPhoneを再起動すると問題が解決したようです。私はそれがとても愚かであることを知っていますが、それはうまくいきました。上記の回答でほとんどの場合問題が解決しますが、解決しない場合はiOSデバイスを再起動してください。


0

次のことを確認してください。

1)デバイスに登録済みのプロビジョニングプロファイルを用意します。

2)デバイスを開発プロファイルに追加して更新する必要があります。

それでも問題が発生する場合は、ターゲットのビルド設定を確認してください。

次のことを確認してください。

1)CODE_SIGNING_REQUIREDには、User-Definedに設定されていますYES

ここに画像の説明を入力してください

2)Signingオプションが正しいことを確認します。問題が解決しない場合は、自動ではなく手動設定に切り替えます。


0

同じ問題に遭遇し、私たちは、Xcodeプロジェクト、みましょうと言うに複数の構成を持っていましたDebug-StagingDebug-Production。その後、それらを統合し、1つの構成のみを使用しましたDebug。しかし、古いもの(もはや存在しないもの)は実行フェーズのスキームで立ち往生していたため、実行しようとすると、Xcodeはこのメッセージを表示しました。これは、プロビジョニングプロファイルが構成に基づいてビルド設定でセットアップされるので意味があります。

したがって、実行スキームは次のようになります。

不適切なターゲットスキーム

プロジェクトの構成はこのようにセットアップされましたが。

プロジェクト構成

プロジェクトでまだ利用可能な構成を使用するようにスキームを変更すると、この問題が修正されました。


0

私は同じ問題(XCode 11)を抱えていて、ここに書かれていることは何もうまくいきませんでした。

私の問題は、携帯電話にiOSベータ版(13.3)がインストールされていることでした。元に戻した後、すべてが再び正常に機能しました。


アイデア: デバイスがプロビジョニングプロファイルに関する情報もキャッシュしている可能性があるため、電話を出荷時設定にリセットしても修正される可能性がありますか?



0

私は次のことをしました:

  1. アプリがインストールされていなかったデバイスを切断しました
  2. 別のデバイスを接続しました<この2番目のデバイスにインストールされています
  3. しばらくして最初のデバイスを接続し、うまくいきました!

これは非常に奇妙ですが、私にとってはうまくいきました。


0

最後に、私は何が起こっているのかを理解しました...ほぼ2時間かかります

私の場合、電話の日付が正しくありません。電話の日付を変更したのを忘れました。私のプロビジョニングプロファイルがすべて期限切れになると思います...

したがって、これらの答えをすべて試しても、何も機能しない場合。設定に移動し、お使いの携帯電話の日付を確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.