web-dev-qa-db-ja.com

Xcode 8「アプリケーションに有効な署名がありません」

Xcode 8は、プロビジョニングは問題ないように見えますが、次のエラーをスローします。

App installation failed. The application does not have a valid signature

修正方法

44

Xcode 8のバグのようです。 Command + Shift + KまたはProduct-> Cleanを押してプロジェクトをクリーニングすると、修正されます。

80

残念ながら、私は同様の問題を抱えていました。残念ながら、頻繁にフルクリーンを行う必要があり、プロジェクトとリグに対して非常に高価な(5〜6分)操作をしなければなりませんでした。

これは、(カスタムビルドフェーズ中に)「バンドルリソースのコピー」の後にplistにカスタム「BuildDate」フィールドを追加して、アプリでデバッグ目的でその値を表示することによって引き起こされる可能性があります。

エラーが意図的なものなのか、Xcode 8のバグなのかはわかりません。また、編集を実行し、コードベースに文字を追加および削除することで、最初に完全にクリーンアップせずに実行できることもわかりました。

「バンドルリソースのコピー」ビルドフェーズの前にそのエントリを別のplistに追加してから、(info.plistではなく)BuildDateのそのplistから描画すると、問題が解決しました。提供されたソースの詳細。

ソース: https://forums.developer.Apple.com/thread/63955 (この修正に対する完全なクレジットは主張していませんが、詳細な修正により問題は解決しました)

15
CJ Dev

別の解決策は、バージョン番号を更新することです。それは機能し、掃除する必要がないので時間を節約できます。

4
Brent Brookler

私の場合、Xcodeはこのエラーを非常にランダムに表示します。私にとって最も簡単な解決策は、ソースコードの1行を変更して、プロジェクトを再度ビルドすることです。空の行を追加するだけで十分です。

3
Kris

私の場合は、プロビジョニングプロファイルの問題です。

修正は次のとおりです。

1) Select XcodeProject -> Target -> Signing -> Team as None.
2) XCode -> Preferences -> Accounts -> Apple IDs -> (Remove the Apple Id once, please make sure you should have Apple id credentials in order to add it again)
3) Add the Apple ID again.
4) Quit Xcode.
5) Open Xcode 
6)  Select XcodeProject -> Target -> Signing - > Select the new Team added.

これで動作するはずです。

2
Ganesh

私の場合、フレームワークの1つがDeployment target 12.0に設定されていました。これは、実行する実際のデバイスよりも高い値です。それをより低いバージョンに修正すると機能しました。

1

このエラーは、iOS物理デバイスに.app形式のアプリケーションをインストールしようとしたときに発生しました。正しいデバイスタイプにインストールしようとしていることを確認してください。

1
Will Gwo

私の場合、問題は12.1の「Deployment Target」を持つ独自のフレームワークライブラリにあり、Xcodeによる作成時にデフォルトでこのように設定されていました。これらのライブラリを追加していた主なアプリは、9.3の「展開ターゲット」でした。 iOS 10物理デバイスに展開するときに問題が発生していました。 フレームワークライブラリをアプリと同じ「展開ターゲット」に設定することで問題が解決しました。

明らかな経験則は、ターゲットアプリよりも「古い」展開ターゲットにフレームワークを設定することだと思います。私のせいですが、そのような場合には、いくつかの警告とわかりにくいエラーを好むでしょう。 Xcode 10。

私にとって、アプリケーションを実行しようとしていたデバイスでiOSを10.3.3から12.3.1にアップグレードした後、メッセージは消えました。

0
dorjeozer

WatchOSアプリでも同じ問題が発生しました。この問題を解決できる唯一の方法は、~/Library/MobileDevice/Provisioning Profiles/からすべてのプロビジョニングプロファイルを削除し、Xcodeが必要なものを再ダウンロードできるようにすることです(Xcodeが署名を自動的に管理できるようにします)。

0
Jeff V