12

デバイスのアフタークリーニングでアプリケーションを実行し、派生データを削除すると、初めて問題なく実行されます。2 回目に実行しようとすると、「署名されたリソースが変更または削除されて追加されました」と表示されます。

シミュレーター アプリでは問題なく実行されます。

拡張機能が原因だと思います。編集、共有、今日の拡張機能があります。この拡張機能を削除すると、このメッセージなしで 2 回目に実行できます。

この問題は、xcode 6 beta 5 から発生しています。

プロファイルのプロビジョニングと署名に関連する問題でしょうか? 拡張ターゲットごとに異なるプロビジョニング プロファイルを作成しました。

だから私の質問は、どうすればこれを修正できますか? プロジェクトをクリーニングせずにデバイスで 2 回目の実行を行うにはどうすればよいですか?

4

3 に答える 3

6

Cloud Xu のスクリプトを少し変更して、.appex と .appex.dSYM の両方を削除しました。

rm -rf ~/Library/Developer/Xcode/DerivedData/YourAppName-*/Build/Products/Debug-iphoneos/com.yourcompany.Name.extension.*

これをスキームに配置して、すべてのビルドで実行されるようにすることができます。

スキームを編集... > サイドバーで実行モードを展開 > 事前アクション > [+] をクリック > 新しい実行スクリプト アクション。

于 2014-10-30T00:37:39.770 に答える
5

編集: 別の回避策があります: .swift ファイルを含む拡張ターゲットごとに、スキーム構成を実行しているプロジェクトにビルド前処理を追加します。

touch "${PROJECT_DIR}/SOME SWIFT FILE IN EXTENSION.SWIFT"

そこで、この問題の回避策を見つけました。今のところ、拡張機能に迅速なコードを含めることはできません。コメントで述べたように

Swift コードを含むすべての拡張ターゲットを削除すると、正常に動作し始めます。xcode のバグだと思います。今のところ、swift コードで拡張機能を使用している場合、理由はわかりませんが、2 回目の実行で「署名されたリソースが変更または削除されて追加されました」と表示されます。エラー。

于 2014-09-07T06:08:12.907 に答える