Xcode 10:この実行ファイルの有効なプロジェクトプロファイルが見かけませんでした
昨日以来、私は自分のデバイスでアプリを実行しようとしたときに次のエラーが発生していました: "この実行ファイルの有効なプロビジョニングプロファイルが見つかりませんでした。"これはXcode 10にアップデートした後です。先週のXcode 9でのビルドは問題なく動作しました。
私はエラーに関する他の議論をチェックしました、しかし解決策のどれもうまくいきません。
この問題は、私が取り組んでいる単一のプロジェクトに限定されているわけではありません。これは、異なる署名チームからの複数のプロジェクトすべてに影響を及ぼします。
これまでのところ、私は以下を試しました:
清掃プロジェクト
派生データのクリーニング
Xcodeをアンインストールし、それに関連する設定やファイルを削除します。
まったく別のMacにXcodeをインストールする
さまざまなデバイスでテストする
開発者プロファイルでデバイスを無効にし、それを再び有効にします。
開発者ポータルですべての証明書を削除して再作成する
「署名を自動的に管理する」のチェックマークをはずして再チェックする
プロビジョニングプロファイルをゴミ箱に入れてXcodeに再作成させる
開発者プロファイルでの手動プロビジョニングプロファイルの作成
プロジェクトにはテストが含まれていないので、そのターゲットの間違った署名設定による問題はあり得ません。日付/時刻が自動に設定されている
注目すべき1つのことは、私が作成したマニュアルプロファイルを除いて、プロビジョニングプロファイルがここにリストされていないことです。 https://developer.Apple.com/account/ios/profile/
私は、xcodeが他のすべてのクライアントの場合と同じように生成されるものを期待しています。
現在使用している署名設定は次のとおりです
私はまだXcodeを古いバージョンにダウングレードしてそれが機能するかどうかを確かめようとしています。それ以外には、次に何を試すべきかわからない。
私は今日これに苦しんでいました、それは超イライラしました。今のところ、"File"
> "Project Settings..."
(または場合によっては"Workspace Settings..."
)に入り、次に"Legacy Build System"
ドロップダウンから"Build System"
を選択します。
私は同じ問題を抱えていて、答えを探すこと、プロフィールを削除すること、プロジェクトを掃除することなどに何時間も費やしました。
アプリを配布しましたか?開発者プロファイルに戻る必要がありますが、プロジェクト設定の下の一般ではなくビルド設定に切り替えてください。
Signingの下で、 Code Signing Identity を見てください。
デバッグとリリースの両方がiOS Distributionではなく iOS Developer に設定されていることを確認してください。または自動値に設定されていない場合はiOS Developer Provisioningプロファイル。
プロビジョニングプロファイルについても同様です。それはあなたの開発プロファイルであり、あなたの配布プロファイルではありません。
これが将来の開発者の助けになることを願っています。
上記の解決策をすべて試しました。
しかし、私の場合、頭痛がした後は、 Test Project のために署名をプロビジョニングするための有効なアカウントがありませんでした。 テストプロジェクト に自動管理署名を使用してプロビジョニングするチームを選択した後。この問題は解決しました。
クリーンビルドフォルダ(command + shift + K)を使用してアプリを再構築すると、この問題をすぐに修正できます。ただし、ビルドフォルダをクリーンアップしたため、ビルド時間は長くなります。
私たちのチームにとって、何も助けにはなりませんでした。私たちは数日を費やし、答えとコメントの中で上で述べられたあらゆるステップを試しました。私たちはXCode 10とXCode 9.2をAppで試しました。それは何年もの間App Storeにあります。
この問題はMacOS Mojaveへのアップグレード後に始まりました。残念ながら、HighSierraに戻っても役に立ちませんでした。
新しい証明書とプロビジョニングプロファイルを作成した後は、少なくともApp Storeに出荷することができました。しかし、InAppでの購入をテストするために必要な、実際のデバイス上でリリースモードでアプリケーションをテストすることはできません。
一言で言えば、アーカイブと送信はうまく機能しますが、実際のデバイス上では実行されません。
何人かの開発者、何人かのデバイス、macbook、XCodeバージョン….
最後に AppIDを変更しなければなりませんでした 再び実際のデバイスでテストできるようにしました。
そのため、現在2つの異なるプロジェクトを実行しています。1つは実際のAppIDを持つTestFlight/AppStoreへの出荷用、もう1つは別のAppIDを持つ開発目的用です。
これは私たちの会社の一つの特定のアプリで起こり、他のすべてのアプリでは起こりませんが、Appleの開発ツールで事態が悪化するにつれて、私たちは将来同様の問題にぶつかると予想します。
現像機を交換したことはありますか?私が新しいiPhoneを購入し、以前のデバイスと同じ名前を付けたとき、それは私に起こりました。クリーンビルドは問題を解決しました。
私の場合、問題を解決する手順は次のとおりです。
- 次のフォルダーに移動します:
~/Library/MobileDevice/Provisioning Profiles/
- すべてのプロビジョニングプロファイルを削除する
- Xcode 10メニュー> [製品]> [ビルドフォルダーのクリーンアップ]
- Xcode 10メニュー> Xcode>設定>アカウント>手動プロファイルのダウンロード
- Xcode 10メニュー> [製品]> [ビルド/アーカイブ]
上記の手順を実行する理由は、構築プロセスを台無しにした古いプロビジョニングプロファイルを削除するためです。
私は同じ問題に苦しんでいたので、私の場合の解決策は開発者アカウントにログインすることでした。 Xcode 10にアップデートした後、すべてのアカウントがログアウトされました。
メニュー「Xcode - >設定... - >アカウント」を使用して、プロビジョニングプロファイルにアクセスできるように、使用するすべてのアカウントがログインしていることを確認してください。
ですから、これは誰にとっても当てはまりませんが、それに関連する答えはないようだからとにかくここに投稿することにしました。
私の場合、私はReactNativeで開発されているアプリに取り組んでいましたが、私の問題は私の署名はメインのアプリターゲットでは正しいのですが、テストターゲットには署名が適用されていなかったことです。
何らかの理由でReact Nativeは、アプリをデバイスにインストールするためにアプリターゲットとテストターゲットの両方に署名することを要求します。
これは、 デバイスの構築に関する公式文書ではこれを指定しています ただし、テスト以外の目的でテストターゲットがアプリと並行して構築されているのは私が今まで見た唯一のインスタンスです。
テストターゲットに署名するには、プロジェクトナビゲータ(⌘1)を開いてプロジェクト設定に移動し、一番上のプロジェクトを選択します。
メインエディタ内で、[ターゲット]の下でメインアプリケーションターゲットを選択し(プロジェクトと同じ名前にする必要があります)、署名が正しいことを確認してからテストターゲットを選択します(メインアプリケーションターゲットのすぐ下にあり、Testsと同じ名前になります)そしてそれが同じ方法で署名されていることを確認してください。
アプリを再構築すると、正常にインストールされます。
これに対する信用はLeo Leiに行きます、彼のここでの答えは私に多くの頭痛を救った: https://stackoverflow.com/a/48657358/732844
余談ですが、react nativeがあなたのテストターゲットをあなたのアプリターゲットと一緒に構築することを要求する理由を誰かが知っていれば、彼らは私に知らせてもらえますか?私が考えることができる唯一の理由は反応が単一のアプリを構築して再構築する必要なしに実行とテストの両方をすることができるようにインターフェイスを合理化することですが、私はただそれを推測します。
同じ問題が発生したため、Xcodeプロジェクトに複数の構成がありました。たとえば、Debug-Staging
、Debug-Production
です。次に、それらを統合し、1つの構成Debug
のみを使用しました。しかし、古いもの(もう存在しない)は実行フェーズのスキームで立ち往生していたため、実行しようとすると、Xcodeはこのメッセージを表示しました。構成に基づいてビルド設定でプロビジョニングプロファイルが設定されるため、これは理にかなっています。
したがって、実行スキームは次のようになりました。
プロジェクト構成はこのようにセットアップされましたが。
プロジェクトでまだ利用可能な構成を使用するようにスキームを変更すると、この問題が修正されました。
私はほとんどの解決策を疲れさせた後、何の問題もなく動作するようになったことを知りました。それはdeveloper.Apple.com
そしてaccount
そしてCertificates, identifiers & profiles
の順に進んでAll
の下のDevices
リンクをクリックし新しい装置を追加します。
その後、あなたは、デバイス名、およびUUIDを設定する必要があり、そしてそれを保存した後。 xcodeに行き、キャッシュをきれいにし、構築し、そしてすべての仕事をうまく行ってください。
注1:あなたのチームが真実に設定されていることを確認してください。
注2:あなたはあなたのMacデバイスにデバイスを接続し、iTunesをクリックし、セキュリティラベルを押すことでUUIDを取得することができます、あなたはUUIDが表示されます。
どちらがこの回答にも役立ちます。
XCTest単体テストターゲットに切り替えてからプロジェクトランタイムターゲットに戻した後、Xcode 10.3でこの問題が発生しました。
各ターゲットのプロビジョニングプロファイルで異なるチームが選択されていることがわかりました。
修正するには:
- ビルドフォルダーのクリーンアップ
- すべてのターゲットが同じチームを使用していることを確認してください。 [全般]タブの[プロファイルの署名]を参照してください。
すべてのターゲットに同じチームを使用していない場合は、ビルドターゲットに切り替える前にクリーニングします
別のチームが選択されました。
私にとって、配布証明書とプロビジョニングプロファイルがXcodeで利用可能であったとしても、配布プロセス中に自動署名管理を選択すると失敗しました。私は次のことをしました。前述したように、私は新しい配布証明書とプロビジョニングプロファイルを作成し、配布処理中に証明書とプロビジョニングプロファイルとVoilaaaaを手動で選択しました。また、私が最新バージョン10.1にいることを確認してください。
私はxcodejプロジェクトを開いていました...私はワークスペースファイルを試してみました、そしてそれはうまくいきませんでした。
少なくともそれは私の問題の一つを解決した(笑)
AppleがXcode 10.2 beta 2 Releaseでこのバグを修正したようです。
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 beta 2リリースはこちらからダウンロードできます。 https://developer.Apple.com/download/ /
私の場合、他に何も役に立たなかったところで、私は以下をしました:
- appIDを新しいものに変更します。
- XCodeは自動的に新しいプロビジョニングプロファイルを生成しました
- 実際のデバイス上でアプリを実行します - >今ではうまくいきました
- appIDを元のIDに戻します
- 作品
これの前に、私はここで述べられたあらゆるステップを試しました。しかしこれだけが助けになった。
または、ユーザーごとのワークスペース設定と共有ワークスペース設定を新しいビルドシステムに変更します このように
私は上のすべての答えを試してみました、そして、運がありませんでした。その後iPhoneを再起動すると問題は解決したようです。私はそれがとてもばかだと知っているがそれはうまくいった。上記の回答がおそらく問題を解決するでしょうが、そうでなければあなたのiOSデバイスを再起動してみてください。
あなたはただあなたのチームを変える必要があります。私の場合はうまくいった