web-dev-qa-db-ja.com

SDK iOS 8.0の製品タイプのユニットテストバンドルにはコード署名が必要です

取得

SDK「iOS 8.0」の製品タイプ「Unit Test Bundle」にコード署名が必要です

私のアプリのターゲットはコード署名だけで結構です - しかし私のテストターゲットはそうではありません。私は新しいコンピュータを購入し、そのコンピュータから新しい開発証明書を作成し、それに応じてプロビジョニングプロファイルを更新し、両方をインストールしましたが、このコード署名エラーを回避することはできません。

再インストールできるように、すべての証明書/プロファイルをローカルで消去する方法はありますか。

おそらくある種のバグです。

125
Spentak

問題は、プロジェクトがソース管理下にあり、.xcodeprojをプルするたびに更新されることです。また、私のプロビジョニングプロファイルはソース管理のものとは異なるため、単体テストのターゲットは自動的に「Do not code sign」に切り替わります。だから私は単に各git pullの後にそこにプロファイルを設定する必要があります。

明らかに、デバイスにデプロイする場合、単体テストのターゲットがある場合は、コード署名されている必要があります。

ステップ:

1)ターゲットをテストターゲット(AppnameTests)に変更します

enter image description here

2) "Code Signing Identity"が "Don't Code Sign"ではないことを確認してください。サインインするプロフィールを選択

enter image description here

それを機能させるために私が変更しなければならなかったのはこれだけです。

127
Spentak

私はこの問題を(一時的に)[スキームの編集]に移動し、次に[ビルド]セクションで[実行]で単体テストターゲットが呼び出されないようにして修正しました。

98
Z S

ここの他のアドバイスは私を助けませんでした、しかし私はProduct > Scheme > Edit Schemeに行くことによってこのエラーを修正しました。次に、左側のBuildをクリックし、AppNameTestsの横のチェックボックスをオフにしました。私はXCode 6.3を使っています

enter image description here

65
Olivia Stork

テストターゲットのビルド設定でプロビジョニングプロファイルを手動で選択して修正しました。

テストターゲット設定 - >ビルド設定 - >コード署名 - >コード署名の識別。以前は、「コードに署名しない」に設定されていました。

29
Frost

また、ビルドターゲットデバイスを設定すれば、テストやデバッグをするときに問題は解決します。署名されたコードは、実際に物理的なデバイスにアプリをデプロイしようとしている場合にのみ必要です。 fig

私は私のものを "myIphone"からシミュレータiPhone 6 Plusに変更しました、そして私がアプリを開発している間、それは問題を解決します。

12
Ian Zhao

私の場合、私が直面した問題は次のとおりです。

CodeSignエラー:SDK「iOS 8.4」の製品タイプ「Unit Test Bundle」にコード署名が必要です

幸いなことに、ターゲットは何も実装していなかったので、迅速な解決策はそれを削除することです。

enter image description here

上記の解決方法でうまくいかない場合は、次の手順に従ってください。

ターゲットから「情報」の下のappnameTestsを選択します。

次を変更

バンドルID:com.ProjectName。$(PRODUCT_NAME:rfc1034identifier)

com.ProjectName.appnameへ

バンドル名:$(PRODUCT_NAME)

バンドル名:appname

コンパイルして実行

2
nirvana74v

私の作品のCIの統合テストのためにコマンドラインからxcodebuildを実行すると、このエラーが発生しました。プロジェクトレベルの設定をcodesignに設定することで、うまく動作するようになりました。何らかの理由でターゲット設定が無視され、プロジェクトの設定に戻りました。

2
Pellet

同じセクション(「コード署名」)の「プロビジョニングプロファイル」を「自動」から「MyProvisioningProfile名」に変更することで問題を解決しました。

1
arniotaki

Githubや他のサードパーティのチュートリアルサイトからプロジェクトをダウンロードするときにこれが起こることがあります。これらのアプリは通常異なるIDまたは会社/名前で署名されています。そして、すべてのヘッダと実装ファイルをあなたの新しいプロジェクトにコピーしてください。フレームワークファイルのような依存ファイルも忘れないでください。これは私のために働きます。

0
BrainyMonkey

こんにちは私は今日も同じ問題に直面しています。 "Spentak"の答えを読んだ後、私は自分のターゲットのコード署名をiOSDeveloperに設定しようとしましたが、それでもうまくいきませんでした。しかし、 "Provisioning Profile"を "Automatic"に変更した後、プロジェクトはコード署名エラーなしでビルドされ実行されました。

0
sahan maldeniya