web-dev-qa-db-ja.com

Xcode6:埋め込みバイナリは、親アプリと同じ証明書で署名されていません

Today App Extensionターゲットを追加すると、プロジェクトをコンパイルできなくなります。以下はエラーです:

error: Embedded binary is not signed with the same certificate as the parent app. Verify the embedded binary target's code sign settings match the parent app's.

埋め込みバイナリ署名証明書:iPhone開発者:(開発者名)(番号)

親アプリ署名証明書:iPhone開発者:(開発者名)(番号)

ただし、埋め込みバイナリ証明書と親アプリの証明書は同じです。だから私は今混乱しています...

51
JohnyDgoode

IPhone5でプロジェクトを実行しようとしましたが、App Extensionは32ビットアーキテクチャをサポートしていません。iPhone5Sでプロジェクトをビルドすると、プロジェクトをビルドできます!

1
JohnyDgoode

[ターゲット]でアプリを選択し、[機能]タブに移動して、[アプリグループ]セクションで[問題を修正]をクリックする必要がありました。

24
marcshilling

コード署名で矛盾がありました。拡張機能とメインアプリで異なる証明書が選択されました。ディストリビューションを使用するように両方を設定したら、うまくいきました。

enter image description here

20
smitt04

WatchKitを使用する場合、WatchアプリのWatchアプリのターゲット設定([全般]> [署名]> [チーム])で正しい「チーム」が選択されていることを確認してください。電話アプリのチームを設定していましたが、時計アプリのチームを設定していませんでした。

20
Maxwell

Xcodeが正常に動作しているが、プロジェクトに拡張ターゲットを追加した後に動作を停止した場合、ほとんどの場合、アプリは古い証明書(まだ名前などで有効)を使用して署名され、拡張は拡張機能の資格を持つ新しい証明書。これがエラーの理由です。この場合、同じ名前の証明書が2つある可能性が高く、これを行うことができます。
1.Go to Xcode->Preference; 2. [アカウント]タブを選択します。
3。 Apple IDを選択し、[詳細の表示]をクリックします。
4。 [IDリストに署名]ウィンドウで、[IOS Development]を選択し、小さな[構成]アイコンをクリックして、[失効]を選択します。
5。次に、Xcodeは新しい証明書のダウンロードを試みます。
この後、クリーンビルドを実行して、アプリと拡張機能の両方に新しい証明書を使用して署名することができます。
enter image description here

16
us_david

Apple IDアカウントを削除することで解決しました

Preferences -> Accounts

そして、my Apple ID

15
Fra

この問題は、拡張機能やwatchappなどの組み込みアプリのターゲットに、一致するteamGeneralセクションでメインiOSアプリとして選択されていない場合に発生する可能性があります。

関連するすべてのターゲットに適切なチームを選択すると、問題が解決しました。

6
apalvai

Xcode 6でも同じ問題がありましたが、私の場合は、2つのアクティブな開発者証明書があるために発生しました。取り消すと問題が修正されました。

6
Remco

同様の問題がありました。私にとって問題は、「不明な機関によって署名された」という証明書を表示することでした。私は以下の手順に従ったが、解決された。問題が見つかりませんでしたApple WWDR中間証明書。

また、Appleの世界的な開発者関係者が発行したWWDR中間証明書もインストールする必要があります。ポータルから、または直接 http://developer.Apple.com/certificationauthority/AppleWWDRCA.cer からダウンロードできます。これも必ずキーチェーンに追加してください。

証明書を追加するには、Macコンピューターでキーチェーンユーティリティソフトウェアを開き、[ファイル]→[アイテムのインポート]に移動して、AppleWWDRCA.cerを選択します。

5
Sunil

この問題が発生する理由はかなりあります。他の回答のどれもあなたのために働いていない場合-私を助けた別のもっともらしいチェックを追加したいと思います。署名する証明書に「常に信頼」がないことを確認します(設定がそのような場合は、緑色の「+」記号が表示されます)。

  1. [キーチェーンアクセス]に移動し、使用している証明書をダブルクリックします。
  2. 「信頼」ドロップダウンを展開し、「常に信頼」から「システムのデフォルトを使用」に変更/設定します。

'Always Trust'設定が適切なSwiftライブラリを壊すので、プロジェクトでSwiftを使用している場合に特に当てはまります。

4
John Doe

Xcode 8ベータ3の場合

Xcodeプロジェクトファイルのさまざまなターゲットでビルド番号がオフになっていました。

iOS Target showing "Build 3"

IOSターゲットにはビルドバージョン3がありましたが、ウォッチアプリターゲットと共有拡張ターゲットには両方ともビルドバージョン1がありました。

Thingy Watch target showing build number 1, does not match iOS target build number.

すべてのターゲットのビルド番号を一致させるだけで(すべて3に変更)、問題が修正されました。

お役に立てれば。

1
Brie

これが誰にも役立つ場合、私の修正は、ストアに送信するときにリリースのためにアーカイブスキームを更新したが、テストのためにアドホックに戻すことはなかったことです。アーカイブスキームを編集してアドホックを使用しました。

1
Mike

そのターゲットのプロビジョニングプロファイルを作成し、同じ証明書を必ず含める必要があります。

ターゲットには独自のバンドルIDがあり、AppIdも作成する必要があります。これはあなたが持っているのと同じ問題を解決しました

ベスト

1
eskopium

Xcodeにプロビジョニング作業を任せるだけです。私の場合、これで同じ問題が解決しました。 http://aplus.rs/2014/embedded-binary-is-not-signed-with-the-same-certificate-as-the-parent-app/

1
Jeet

この問題が発生したとき、Apple Member Centerにアクセスして、作成したプロビジョニングプロファイル(拡張機能用)が「無効」とマークされていることに気付きました。プロビジョニングを再作成しましたアプリの署名に使用したのと同じ証明書でプロファイルを作成し、Xcode>環境設定>アカウント>更新でダウンロードします。

新しいプロビジョニングプロファイルを作成したら、ビルド設定でそれらを選択しました。作成したプロビジョニングプロファイルを選択し、ビルド設定のコード署名エンティティで対応する証明書を選択し、問題を修正しました。

拡張機能には独自のアプリIDがあるため、独自のプロビジョニングプロファイルがあることに注意してください。

1
RPM

プロビジョニングプロファイルを更新すると修正されました(設定->アカウント->アカウントをダブルタップ->左下の更新ボタンをタップ)

0
Tylerc230

Xcode 7.1のアプリでも同じ問題が発生しました。このアプリにはWatch拡張機能があり、したがってApp Groupがありました。私のために働いたのは:

  1. ~/Library/MobileDevice/Provisioning Profilesに移動します
  2. リストされているすべてのプロビジョニングプロファイルを削除します
  3. SafariのiOSデベロッパーセンターに移動し、すべてのプロビジョニングプロファイルを再生成します
  4. Xcode => Preferences => Apple IDsに戻って、アプリに関連付けられているApple ID
  5. [詳細を表示...](右下)をクリックします
  6. 作成されたプロビジョニングプロファイルをダウンロードする
  7. きれいにして再構築

Capabilities => Associated Domainsで発生した別の問題にXcodeの「自動的に修正」機能を使用していたため、プロビジョニングプロファイルが混乱したと思います。

0
bruce1337

私は同じ問題を抱えていました。

そこで、各バンドルIDとWatchKitアプリの構成に対してプロビジョニングプロファイルを作成しました。

  • アプリ開発を見る
  • 拡張機能の開発を見る

  • アプリ制作を見る

  • 拡張機能の製品を見る

/!\開発者ポータルの監視アプリのアプリIDは次のようなものなので注意してください:

com.example.projectname.watchkitapp.watchkitextension

ウォッチキットアプリを作成したとき、XcodeのバンドルIDは次のとおりでした。

com.example.projectname.watchkitapp

多分それはWatchOS 2.0以降に変更されたものです。

0
Anthony

MacでKeyChain Accessを開き、自分の証明書とは異なる他の1つの証明書を削除します。この問題は、Xcodeで別のアカウントにログインした後に発生します。

0
Michael Yang

何らかの理由で、開発者証明書がキ​​ーチェーンに2回保存されました。それらのいずれかを削除すると、問題が修正されました。

0
Falco Winkler

丸1日後、ルート証明書の「Apple Worldwide Developer Relations Certification Authority」が削除済みでした。別のマシンからエクスポートしてインストールすると、すべて正常に動作します。

0
Liu Yan

拡張機能(私の場合はOneSignal拡張機能を使用している)を使用している場合、その場合、親アプリバンドルはcom.app.xyzになりますが、拡張機能/ウィジェットの場合、バンドルIDはcom.app.xyz.extensionになります

したがって、バンドルID com.app.xyz.extensionを使用してアプリIDを作成し、このアプリIDのプロビジョニングプロファイルを作成します。

親アプリに使用したのと同じ開発証明書と運用証明書を使用します。

ここに役立つリンクがあります ウィジェットのプロビジョニングプロファイル

最後に、自動設定を使用していません。そこで、プロビジョニングプロファイルと証明書を手動で設定しました

0
Muhammad Nayab

私も同じ問題に直面しました。次の手順で解決しました。

最初に、チーム開発証明書を再作成します(ルート証明書を更新したため)

2、Iphone Apps開発証明書を編集します。作成した証明書を必ず含めてください。

3、同じようにウォッチキット拡張機能とウォッチキットアプリを実行する

4、Xocdeの「設定」に移動し、「チーム名」をダブルクリックして、古いIphone証明書、watchApps、watchExtentionを削除します。

5、新しい証明書をダウンロードしてインストールします。

その後、動作します。

0
user2020695

私の場合、拡張ターゲットが使用するプロファイルには、親ターゲットが使用するプロファイルとは異なる証明書が含まれています。これはまさに文句を言われたエラーメッセージでした!

その理由は、拡張プロファイル用の新しい証明書を生成したためです。

したがって、developer.Apple.comにログインして、これらのプロファイルに異なる証明書が含まれているかどうかを確認してください。

0
Qiulang

私にとっては、プロビジョニングプロファイルの一部が期限切れだったため、これが起こっていました。 developer.Apple.comに新しいプロファイルを作成し、古いプロファイルを削除し、Xcodeで自動に設定すると、エラーはなくなりました。

0
John Scalo

私の場合、私のアプリとウィジェットプロファイルは異なる証明書で署名されました。そのため、iOS Developerサイトに移動し、親アプリのプロビジョニングプロファイル->編集を選択して、ウィジェットと同じ証明書を選択する必要がありました。次に、「生成」と「ダウンロード」をクリックします。ダウンロードしたら、ダブルクリックしてXCodeにインストールします。次に、Build Settings-> Provisionig Profileで親アプリの新しいプロビジョニングプロファイルを選択します。最後にプロジェクトをリビルドしてください!

0
christian mini

キーチェーンを開くと、それはApple Worldwide Developer Relations Certification Authorityです。常に信頼するを選択した場合、Xcodeアーカイブは失敗しました。システムのデフォルトに変更すると、Xcodeは正常にアーカイブされます。はい、お楽しみいただけます!!

0
simbesi.com

私はに行かなければなりませんでした:

Xcode->プリファレンス->アカウント->詳細の表示->すべてのプロビジョニングプロファイルの選択->削除完了後にキーボードのDELキーを押す[すべてダウンロード]ボタンを押します!

0
Ing. Ron