取得
SDK「iOS 8.0」の製品タイプ「Unit Test Bundle」にコード署名が必要です
私のアプリのターゲットはコード署名だけで結構です - しかし私のテストターゲットはそうではありません。私は新しいコンピュータを購入し、そのコンピュータから新しい開発証明書を作成し、それに応じてプロビジョニングプロファイルを更新し、両方をインストールしましたが、このコード署名エラーを回避することはできません。
再インストールできるように、すべての証明書/プロファイルをローカルで消去する方法はありますか。
おそらくある種のバグです。
問題は、プロジェクトがソース管理下にあり、.xcodeprojをプルするたびに更新されることです。また、私のプロビジョニングプロファイルはソース管理のものとは異なるため、単体テストのターゲットは自動的に「Do not code sign」に切り替わります。だから私は単に各git pullの後にそこにプロファイルを設定する必要があります。
明らかに、デバイスにデプロイする場合、単体テストのターゲットがある場合は、コード署名されている必要があります。
ステップ:
1)ターゲットをテストターゲット(AppnameTests)に変更します
2) "Code Signing Identity"が "Don't Code Sign"ではないことを確認してください。サインインするプロフィールを選択
それを機能させるために私が変更しなければならなかったのはこれだけです。
私はこの問題を(一時的に)[スキームの編集]に移動し、次に[ビルド]セクションで[実行]で単体テストターゲットが呼び出されないようにして修正しました。
ここの他のアドバイスは私を助けませんでした、しかし私はProduct > Scheme > Edit Scheme
に行くことによってこのエラーを修正しました。次に、左側のBuild
をクリックし、AppNameTests
の横のチェックボックスをオフにしました。私はXCode 6.3を使っています
テストターゲットのビルド設定でプロビジョニングプロファイルを手動で選択して修正しました。
テストターゲット設定 - >ビルド設定 - >コード署名 - >コード署名の識別。以前は、「コードに署名しない」に設定されていました。
また、ビルドターゲットデバイスを設定すれば、テストやデバッグをするときに問題は解決します。署名されたコードは、実際に物理的なデバイスにアプリをデプロイしようとしている場合にのみ必要です。
私は私のものを "myIphone"からシミュレータiPhone 6 Plusに変更しました、そして私がアプリを開発している間、それは問題を解決します。
上記の解決方法でうまくいかない場合は、次の手順に従ってください。
ターゲットから「情報」の下のappnameTestsを選択します。
次を変更
バンドルID:com.ProjectName。$(PRODUCT_NAME:rfc1034identifier)
com.ProjectName.appnameへ
バンドル名:$(PRODUCT_NAME)
バンドル名:appname
コンパイルして実行
私の作品のCIの統合テストのためにコマンドラインからxcodebuildを実行すると、このエラーが発生しました。プロジェクトレベルの設定をcodesignに設定することで、うまく動作するようになりました。何らかの理由でターゲット設定が無視され、プロジェクトの設定に戻りました。
同じセクション(「コード署名」)の「プロビジョニングプロファイル」を「自動」から「MyProvisioningProfile名」に変更することで問題を解決しました。
Githubや他のサードパーティのチュートリアルサイトからプロジェクトをダウンロードするときにこれが起こることがあります。これらのアプリは通常異なるIDまたは会社/名前で署名されています。そして、すべてのヘッダと実装ファイルをあなたの新しいプロジェクトにコピーしてください。フレームワークファイルのような依存ファイルも忘れないでください。これは私のために働きます。
こんにちは私は今日も同じ問題に直面しています。 "Spentak"の答えを読んだ後、私は自分のターゲットのコード署名をiOSDeveloperに設定しようとしましたが、それでもうまくいきませんでした。しかし、 "Provisioning Profile"を "Automatic"に変更した後、プロジェクトはコード署名エラーなしでビルドされ実行されました。