macOS High Sierra Xcodeのコード署名エラー-リソースフォーク、Finder情報、または同様のデバイスが許可されていません


265

既に試した:macOS Sierra、Xcode 8でのコード署名エラー

エラーを示す画像をご覧ください ここに画像の説明を入力してください

CodeSign /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app
    cd "/Volumes/Development/Project/Top Best Games/19. Lets Flow/35/let's FLOW - source/proj.ios_mac"
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "iPhone Distribution: New Free Games (2CHN583K4J)"
Provisioning Profile: "Super Flow Flipp AppStore"
                      (c6c30d2a-1025-4a23-8d12-1863ff684a05)

    /usr/bin/codesign --force --sign E48B98966150110E55EAA9B149F731901A41B37F --entitlements /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Intermediates/Flow.build/Debug-iphoneos/Super\ Flow\ Flip.build/Super\ Flow\ Flip.app.xcent --timestamp=none /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app

/Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super Flow Flip.app: resource fork, Finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1

コード署名セクションでは、プロファイルと証明書を選択できますが、それでもエラーが発生します。 ここに画像の説明を入力してください

ここに画像の説明を入力してください

この問題を修正するにはどうすればよいですか?


1
あなたはきれいにして "alt"をきれいにしましたか?
thorb65 2016

手段?私はxcodeアカウントから証明書を再作成し、Webサイトでプロファイルを再生成して再試行しましたが、まだうまくいきません。
iPhoneProcessor 2016

以下のArnold Roasの回答が私のプロジェクトのトリックでした。しかし、コンパイルを後で成功させるには、製品> XCodeでクリーンアップを実行する必要がある場合もあります。
Fredrik Johansson

cocos2d-xのプラス
fnc12

回答:


586

解決策1:

アップル開発者のウェブサイトが問題の上の答えをここに

端末で以下のコマンドを実行します:最初にプロジェクトのルートフォルダに移動します

 xattr -cr <path_to_project_dir>

Xcodeのクリーンアップと再ビルド。乾杯

解決策2:

プロジェクトのルートディレクトリに移動して、このコマンドxattr -crを実行するだけです。

xattr -cr .

Xcodeのクリーンアップと再ビルド。できました。

解決策3:

ファインダー情報を保持するファイルを見つけることで、この問題を修正できます。

ターミナルで、プロジェクトのルートディレクトリに移動して実行します

ls -alR@ . > kundapura.txt

これにより、現在のディレクトリにkundapura.txtが作成されます。次に、com.apple.FinderInfoを検索し、すべてのファイルのこの属性をクリアします。あなたはこのようにそれを行うことができます

xattr -c <filename>

例: xattr -c guru.png

すべてをクリアすると、コードサインが機能します。Xcodeのクリーンアップと再ビルド。乾杯

解決策4: Mark McCorkleの回答に触発された

ターミナルで、プロジェクトのルートディレクトリに移動し、コマンドを1つずつ実行します

  find . -type f -name '*.jpeg' -exec xattr -c {} \;
  find . -type f -name '*.jpg' -exec xattr -c {} \;
  find . -type f -name '*.png' -exec xattr -c {} \;
  find . -type f -name '*.json' -exec xattr -c {} \;

Xcodeのクリーンアップと再ビルド。できました。


7
Xcode 8でのこの修正されたコード署名エラー。すばらしい解決策。
iPhoneProcessor 2016

4
私はそれに110のファイルを持っています。それらすべてを自動的に処理するbashコマンドは何でしょうか?
Fawkes、2016

2
ありがとう、私のために働いた!!
Amit Ajmera 16

5
これは命の恩人です。私はこれに何時間も費やしました。
ジャクソン

4
共有してくれてありがとう、数日ではなくても何時間も節約できました!
GクリスDCosta 16

171

エラーは、画像ファイル内の属性にあります。これは、グラフィックデザイナーがフォトショップから画像を属性付きで保存したために発生しました。

すべてのpngファイルを見つけてその属性を削除する簡単なコマンドを次に示します。ターミナルからプロジェクトのルートディレクトリでこれを実行します。クリーンアップおよび再構築。問題が解決しました。

find . -type f -name '*.png' -exec xattr -c {} \;

12
これは受け入れられる答えになるはずです。シンプルで高速、手動での作業は不要です。@NatureFriendの回答によると、80のファイルに問題がありました。
Roger Oba

3
ありがとうございました!この奇妙なエラーの答えを見つけるために私が費やした時間-なんという莫大な時間の無駄です!
lppier 2016年

私にとってターミナルレスの迅速な解決策の1つは、ImageOptimizerですべての画像をドラッグすることでした(これにより、すべての不要な属性も破棄されます)。
blackjack75

pixelmatorから新しいアイコンを保存しましたが、同じ問題が発生しました。ありがとう。
ガイ・ロウ

これは私にとってはうまくいきました。上記の「xcattr -cr」コマンドでアクセス権が拒否されていました(上記のApplesのドキュメントを介して実行するように指示されていても:developer.apple.com/library/archive/qa/qa1940/_index.html Xcodeの実行High Sierra 10.13.4の9.3
Randoramma

95

アプリのコード署名時にこのエラーが発生した場合:

リソースフォーク、Finder情報、または類似のデバイスは許可されていませんコマンド/ usr / bin / codesignが終了コード1で失敗しました

プロジェクトのルートフォルダーに移動して実行します

find . | xargs -0 xattr -c

これにより、すべてのファイルの属性がクリアされます。

シエラでは、署名済みバンドルに含めることができるルールが強化され、リソースフォークは許可されなくなりました。AppleScriptは情報をリソースフォークに永久に保存してきましたが、その情報は長い間使用されていませんでした。Sierraでは、スクリプトを保存すると、このリソースフォーク情報は保存されなくなります。

つまり、Sierraより前のバージョンで最後に保存されたスクリプトにコード署名することはできません。シエラにサインインするには、シエラに保存する必要があります。

影響を受ける可能性が高いのは、スクリプト内に他のスクリプトをバンドルする人(cordova?)です。すべての埋め込みスクリプトがSierraで再保存されるまで、コンテナスクリプトに署名できません。

更新:

このようにも機能するようです:

xattr -rc .

不十分な権限エラーがある場合は、sudoを先頭に追加してみてください。 sudo xattr -rc .


4
私はターミナルと「議論のための不十分なスペース」でそれを試しました
Fawkes

1
これが魅力になりました!XCodeで[製品]> [クリーンアップ]も実行する必要がありましたが、プロジェクトがビルドされました!
Fredrik Johansson

男ありがとう、うまくいきました。私の場合、問題はデバイスで問題なくテストできましたが、シミュレーターで試しても機能せず、上記の問題が表示されました。あなたの解決策は私の問題を修正しました。
Mahmud Ahsan 2017年

xattr -rc。作業!
マット2017年

Corona SDKでビルドしていて、同じ問題に直面していました。xattr -rcは私のために働いた。
Rais Iqbal 2017

31

ソースファイルの属性を処理する最も簡単な方法は、コード署名を実行する前に、Xcodeでアーカイブをクリアすることです。これをする:

  1. XCodeでターゲットを選択します
  2. [ビルドフェーズ]タブを選択します
  3. +記号を押す
  4. 新しいスクリプト実行フェーズを選択
  5. スクリプトに次のように入力します。

    xattr -cr〜/ライブラリ/ Developer / Xcode / DerivedData || エコークリア

ターゲットをビルドすると、コードサインが壊れている属性がすべてクリアされます。この段階でクリアすることで、ソースコードやプロジェクトディレクトリを変更する必要がなくなります。

スクリプトの "|| echo Clear"部分は、xattrがエラーになった場合でもプロジェクトのビルドが続行されるようにします。

この方法は、ソースプロジェクトを変更せず、ビルドされたアーカイブのみを変更するため、コードリポジトリでDropBoxなどの属性を追加するプログラムを使用する場合に適しています。

DerivedDataディレクトリと一致するようにパスを変更する必要がある場合があります。このパスは、コードサインエラーの横に表示されます。

xattr codesign xcode修正


1
この問題は、Finderで⌘-Dを使用して、他の点では同じプロジェクトから作成されたプロジェクトでのみ発生します。何らかの理由で、より一般的なソリューションはどれも私にとってうまくいきませんでした。これはしました。
clozach

1
ありがとうございました!2時間の解決策を探した後、これはうまくいきました。
カーターコブ

1
最後に!何時間も他のソリューションを試した後、これで修正されました!! 最初にこれを試してください。ただし、コードサインエラーで示されたパスを置き換えます
jmf1205

私にとって、問題はソースコード内の画像でした...そのため、このxattr -cr "$ PROJECT_DIR"を実行する実行スクリプトを追加しました
Little Watchman

多くの感謝、これはまだ動作します。私の場合、xattr -cr〜/ Users / msc / OneDrive / 01 Work / APP / Flutter / lts-flutter / build / ios / Debug-iphoneos ||を追加しました。エコークリア
mactrix

26

次のコマンドを使用しました。端末ウィンドウを使用します。プロジェクトに移動し、以下を実行します。

xattr -rc .

はい、時にはプロジェクトディレクトリ内のattrsをクリアするだけでも効果があります。ラメアップル、なぜそんなにくだらないことをするのか
アントンマリシェフ

上位投票の回答に加えて、これは代替案としても機能しました
Lance Samaria

私はまた、プロジェクトをきれいにしなければならなかったフォルダ<コマンド+ K>その後、このための仕事に
ランスサマリア

21

テクニカルQ&A QA1940に、この問題に対するAppleの公式回答があります。

これは、iOS 10、macOS Sierra、watchOS 3、tvOS 10で導入されたセキュリティ強化の変更です。

コード署名により、App Bundleのどのファイルにも、リソースフォークまたはFinder情報を含む拡張属性を設定できなくなりました。

このエラーの原因となっているファイルを確認するには、ターミナルで次のコマンドを実行します。 xattr -lr <path_to_app_bundle>

xattrコマンドを使用して、アプリバンドルからすべての拡張属性を削除することもできます。 xattr -cr <path_to_app_bundle>

<path_to_app_bundle>Xcodeプロジェクトのディレクトリに置き換えることができます。例えば~/Development/MyProject


他のほとんどすべての提案されたソリューションを実行した後、xattr -lr <path_to_app_bundle>最終的に適切なファイルにつながります。代理店からFinder-Tagを使用してLocalizable.stringsを取得しましたが、それらによりCodesignが失敗しました。
JanR

私はこれで2日間無駄になり、この解決策がようやくうまくいきました!
bhakti123 2018年

16

ファイルをクリアすることはすべて問題ありませんが、複数のプロジェクトでは退屈です。

グラフィックスアプリ(古いバージョンのphotoshopのような)は、古い形式で外部ファイルに追加情報(現在はメタデータと呼びます)を書き込みます。

たとえば、「com.apple.ResourceFork」と「com.apple.FinderInfo」。

Xcode 8はそれをビルドに追加することを拒否します( "git --add。"を使用してプロジェクトに追加した場合など)。ターミナルで再帰的に検索して削除できますが、面倒な場合があります。

私はそれを削除するための小さな無料のユーティリティを書きました。

https://itunes.apple.com/us/app/cleandetritus/id1161108431?ls=1&mt=12


それは私のために働いた。便利なアプリをありがとうございました!
Blue

これは私と一緒に機能した唯一の解決策でしたが、「おそらくプロジェクトファイルの数が多いため」アプリが何度もクラッシュしましたが、ファイルがクリーンアップされ、プロジェクトは最終的に機能していました。ありがとう!
XIII

あなたのアプリをダウンロードし、それは私のためにすべてをきれいにしました!ありがとうございました!
Bobby

+1します。ありがとう
Megaetron

大規模なプロジェクトのクラッシュを修正する予定です。
ingconti 2017年

11

シンプルなソリューション:-

どのようにしたか [私のために働いて]

ステップ1:-このフォルダーに移動-ファインダーからオプションを押します移動->フォルダーに移動

次に、次の例のようにプロジェクトパスを入力します。-Library / Developer / Xcode / DerivedData / yourprojectname / Build / Products / Debug-iphoneos

これで、使用可能なファイルのリストを含むウィンドウポップが表示され、yourApp.appファイルが表示されます(ステップ2を待つだけで、何もしないでください)。

ステップ2:-新しいターミナルを開いてcdと入力し、ステップ1 yourApp.appをターミナルにドラッグするだけで、アプリのパスが表示されるので、Enterボタンを押します。

ステップ3:-次に、このコマンドを入力します**

xattr -rc。

エンターボタンを押してください。

それだけです。Xcodeプロジェクトに移動して、クリーンアップして再度実行します。


10

----- bashの知識がないなどの理由で上記の解決策を適用できない場合。

SierraでiCloud Driveを有効にするとすぐにこの問題が発生しました。そして、私のプロジェクトはiCloud Driveと同期されたフォルダーにありました。これがこれらの追加属性を追加するものだと思います。

一時的な解決策:

プロジェクトがあるフォルダーのiCloudドライブを無効にします。


iCloud Driveからデスクトップに移動し、正しく動作しました。ありがとう
drasick

これは私にとって解決策の一部でした。デスクトップにプロジェクトがあり、SierraでiCloudにバックアップされていました。それでもxattr -rcと入力する必要がありました。ターミナルで、プロジェクトをデスクトップから移動した後に問題のファイルを削除します。他のソリューションはこのステップで機能しませんでした
Roger Pingleton

これも私にとって問題でした:iCloudDriveがこの非常に迷惑なエラーを引き起こし、Appleにバグを報告しました-> 31740606
LukeSideWalker

これも基本的には私の問題でしたが、プロジェクトフォルダーのiCloudを無効にしたり、プロジェクトフォルダーを移動したりする必要はありませんでした。Xcode Prefs-> Locations-> Advancedに入り、Build Locationに「Unique」オプションを選択しました。iCloudドライブにあるxcodeプロジェクトファイルのサブフォルダーのビルド場所を使用していました。デフォルトは一意だと思います。なぜ変更したのかはわかりません。ビルド後に実行可能ファイルを見つけやすくするためです。
デイバー

10

macOSターゲットに追加されたすべての新しいフォトショップで作成されたPNGの拡張属性を削除せずにアプリを開発しようとしているだけの場合(私など)は、ユーザー定義のビルド設定を追加して、コード署名を一時的に無効にできます。

CODE_SIGNING_ALLOWED = No 

明らかに、アプリを配布する人は最終的にこの問題に対処する必要がありますが、これにより、Sierraでコード署名を省略することが必ずしも簡単ではなかった私のような場合の開発が可能になります(以前のOS X / Xcodeでは、そうする方が簡単でした)。

RGriffithのコメントによると、カスタムビルド設定がどのように追加されるのかわからない人のためのスクリーンショットがいくつかあります。

ここに画像の説明を入力してください

ここに画像の説明を入力してください


これをどこに追加しますか?
RGriffiths 2017年

4

以下で説明するように、アプリバンドルフォルダーを削除してアプリを再構築する必要があります。

私のアプリは次のように呼ばれます:拡張

ターミナルウィンドウで、アプリのフォルダーに移動します。例:cd / Users / username / Library / Developer / Xcode / DerivedData /

ターミナルウィンドウで、アプリフォルダーのコマンドを実行します。例:xattr -cr augment-flmbiciuyuwaomgdvhulunibwrms

クリーン>ビルド>実行。

Mac Appstoreには、これらを削除する「CleanDetritus」という無料のアプリもあります。


1
iOSアプリを生成するためにFlutterを使用していて、XcodeからClean> Build> Runを実行すると、flutterコンソールでの「リソースフォーク、Finder情報、または同様のデトリタスは許可されません」エラーが解決しました。
ファンバレラ2018年

うまくいきました!私にとっての解決策は、「xattr -rc」を実行することでした。代わりに、プロジェクトフォルダー内の派生データプロジェクトフォルダー内。
BIOS-K

2

この問題は昨日私に起こりました。

(What's wrong) ファインダー内のファイルを手動で置き換えて画像リソースを更新しましたが、このコンパイルエラーで失敗しました。

(What's right)この方法で画像を更新しないでください。その後、画像をXcodeの「xcassets」にドラッグしました。再びエラーが表示されることはありません。


2

問題は派生データにあります。派生データをクリーンアップしてから、プロジェクトをクリーンアップしてビルドする必要があります。こちらのリンクをご確認ください。


1

私の問題は、コードに加えたすべての変更であり、再度実行するとエラーが再表示されます。次に、コードのコンパイル/実行ごとにコマンドを自動的に実行する解決策を見つけます。

@ rich-ableのおかげで、「Run Script」を発見しました。次に、「xattr -cr」というコマンドを入力します。現場で。

XCODEソリューション


1

最も簡単な修正は、gitを使用している場合です。試してください:

$ git stash
$ git stash pop

Gitはファイルのメタデータを保存しません。上記はそれをすべて取り除きます。


Xcode 9でこの問題が発生しました。上記の解決策で問題が修正されました。プロジェクトはgitソース管理下にあり、まだファイルをコミットしていません。
Anessence 2017年

0

私の問題は、約1年前にコルドバを使用してアプリをビルドしたことですが、新しいバージョンのxcodeと互換性がなかったため、単純に使用cordova build iosして再び機能しました。


0

最良の解決策の1つは、Go to terminal type this

xattr -cr "Full path of your project"

Xcodeプロジェクトの右クリックで完全なパスを見つけるには、[情報を取得]-> [パスをコピー]で置き換えます。次に、以下のコマンドを入力します

xattr -cr "Full path of your project"

クリーンとビルドが完了しました。


これは私のプロジェクトのレンガです。みんなは使用しないでください
Naveed Ahmad

これは私の計画を壊しました。その問題を修正して、誤って.scodeprojファイルを削除してから、新しいプロジェクトを作成して以前のファイルを転送しました
Naveed Ahmad 2017

その後、それはあなたの過ちのために起こりました。コードを試しましたが問題ありません。
Rajesh Maurya

私の場合、上記のコマンドを使用した後、Broが問題を引き起こしました。それを解決するために私は別の問題に突き刺さった。
Naveed Ahmad 2017

0

xattrコマンドがうまくいかない場合は、XCode 9のバグが原因である可能性があります。Xcodeから影響を受けるファイルを含むリソースフォルダー(私の場合は.xcassets)を削除して再度追加してみましょう。(以前にxattr -lrコマンドを使用して影響を受けたファイルを理解する必要があります)



0

私も同じ問題に直面しています。Macbookを再起動するだけで解決しました。


0

color tag下のフォルダを追加すると、DerivedDataデバイスでデバッグするときに上記のエラーが発生することがわかりました。

color Tagこのエラーを修正して削除してください。

ここに画像の説明を入力してください



0

どうしたのかわかりませんが、シミュレータでフラッターアプリを実行しているときにエラーが発生しました。flutter cleanコマンドを使用して派生データを削除したところ、すべてがうまくいきました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.