已经尝试过:Code Sign Error on 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
在代码符号部分,它允许我选择配置文件和证书...但仍然给出错误 .
如何解决这个问题?
21 回答
Solution 1:
Apple开发者网站上面的问题解答Here .
在终端执行以下命令:首先转到项目根文件夹
清理Xcode和重新构建 . 干杯
Solution 2:
您可以通过查找包含查找程序信息的文件来解决此问题 .
在终端中,转到项目根目录并执行
这会在当前目录中创建kundapura.txt . 现在搜索com.apple.FinderInfo并清除所有文件的此属性 . 你可以这样做
示例:
xattr -c guru.png
一旦清除了所有代码符号就可以了 . 清理Xcode和重新构建 . 干杯
Solution 3: 受Mark McCorkle的回答启发
在终端中,转到项目的根目录并逐个执行命令
清理Xcode和重新构建 . 完成 .
错误来自图像文件中的属性 . 这是因为我们的图形设计师使用属性从photoshop保存图像 .
这是一个简单的命令,用于查找所有png文件并删除其属性 . 在终端的项目根目录中运行它 . 清洁和重建;问题解决了 .
如果在对应用程序进行协同设置时出现此错误:
转到项目根文件夹并执行
这将清除所有文件的属性 .
在Sierra,已经收紧了关于签署的捆绑包中的内容的规则,并且不再允许资源分叉 . AppleScript一直在资源分叉中保存信息,尽管该信息长期未被使用 . 使用Sierra,当您保存脚本时,将不再保存此资源分叉信息 .
这意味着您无法对上一次保存在Sierra之前的版本中的脚本进行编码;你必须在Sierra保存才能登录Sierra .
可能受影响的人是谁在他们的脚本中捆绑其他脚本(cordova?) . 在Sierra下重新保存所有嵌入的脚本之前,他们将无法签署容器脚本 .
更新:
看起来像这样也有效:
如果你有任何不足的权限错误尝试prepend sudo:
sudo xattr -rc .
在Technical Q&A QA1940中有关于此问题的官方Apple答案 .
<path_to_app_bundle>
可以替换为Xcode项目的目录 . 例如~/Development/MyProject
所有关于清除文件都很好,但对于多个项目来说很乏味 .
图形应用程序(如旧版本中的photoshop)在外部文件中以旧方式编写其他信息(我们现在称之为元数据..),或者它们来自较旧的OSX,文件如:
例如,当解压缩文件夹时,“com.apple.ResourceFork”和“com.apple.FinderInfo” .
Xcode 8拒绝将它添加到构建中(因为你将它们添加到带有“git --add . ”的项目中)也许..)你可以在终端中以递归方式找到并删除它们,但可能很乏味 .
我写了一个小的免费工具来删除它..希望它可以帮助..
https://itunes.apple.com/us/app/cleandetritus/id1161108431?ls=1&mt=12
处理源文件属性的最简单方法是让Xcode在运行codesign之前清理存档 . 去做这个:
在XCode中选择目标
选择“构建阶段”选项卡
按下符号
选择“新建运行脚本阶段”
为脚本输入以下内容:
xattr -cr~ / Library / Developer / Xcode / DerivedData ||回声清楚
现在,当您构建目标时,它将清除任何会破坏代码签名的属性 . 通过在此阶段清除,您不必更改源代码/项目目录 .
脚本的“|| echo Clear”部分确保即使出现xattr错误,项目构建也会继续 .
如果你这个方法很好在代码库中使用诸如DropBox之类的程序来添加属性,因为它不会更改源项目,只会更改构建的存档 .
您可能需要更改路径以匹配DerivedData目录 - 此路径将显示在codesign错误旁边 .
我使用了以下命令 . 使用终端窗口 . 导航到您的项目并执行以下操作:
简单解决方案: -
How I did [为我工作]
步骤1: - 转到此文件夹 - 从您的取景器按选项转到 - >转到文件夹
然后输入您的项目路径,如下例所示: - Library / Developer / Xcode / DerivedData / yourprojectname / Build / Products / Debug-iphoneos
现在,您可以看到一个窗口弹出,其中包含可用文件列表,在那里您可以看到yourApp.app文件[不要做任何事情只是等待第2步] .
第2步: - 打开新终端并输入cd然后只需将第1步yourApp.app拖到终端,现在您将获得该应用的路径,现在按下回车键 .
第3步: - 现在输入此命令**
不要错过“ . ”(点)按enter键 .
就是这样,转到Xcode项目并清理并再次运行 .
对于那些刚刚尝试开发应用程序而不必在每个新创建的Photoshop上删除扩展属性的PNG添加到macOS目标的人,你可以通过添加用户定义的构建设置暂时禁用代码签名:
显然,分发应用程序的人最终需要处理这个问题,但这样可以在像我这样的情况下进行开发,而在Sierra中省略代码签名并不是一件容易的事情(在过去的OS X / Xcode上更容易这样做) .
根据RGriffith的评论,这里有一些屏幕截图,供那些不确定如何添加自定义构建设置的人截屏 .
-----如果你不能应用上面的解决方案,因为缺乏bash知识或其他东西 .
我在Sierra上启用iCloud Drive后就遇到了这个问题 . 我的项目位于与iCloud Drive同步的文件夹中 . 我想这就是添加这些附加属性的原因 .
Temporary solution:
禁用项目所在文件夹的iCloud Drive .
您将需要删除应用程序包文件夹并重建应用程序,如下所述 .
我的应用程序被称为:扩充
在终端窗口中,转到您的应用程序文件夹,例如:cd / Users / username / Library / Developer / Xcode / DerivedData /
在app文件夹的终端窗口运行命令中,例如:xattr -cr augment-flmbiciuyuwaomgdvhulunibwrms
清洁>生成>运行 .
Mac Appstore上还有一个名为“CleanDetritus”的免费应用程序,可以删除这些应用程序 .
这个问题昨天来到我身边 .
(What's wrong)
我通过在finder中手动替换文件来更新图像资源,但是由于编译错误而失败了 .(What's right)
唐't update image in this way. After that I dragged images to ' xcassets'在Xcode中 . 再也不会出现错误 .问题出在派生数据中,您应该清理派生数据,然后清理项目并构建 . 请检查this链接 .
我的问题是我在代码中做出的每一个更改,然后重新执行,错误再次出现 . 然后我找到了一个解决方案,可以在每次编译/执行代码时自动执行命令 .
感谢@ rich-able,我发现了“Run Script” . 然后我把命令“xattr -cr” . 在该领域 .
最简单的解决方法可能是你正在使用git . 尝试:
Git不存储文件元数据,上面将把它全部剥离 .
我的问题是我在1年前使用cordova构建应用程序,但它与xcode的新版本不兼容,所以我只是使用
cordova build ios
并且它再次起作用 .最好的解决方案之一是转到终端类型
要找到右键单击Xcode项目的完整路径 - >获取信息 - >复制路径并替换为 . 然后输入以下命令
清洁和完成 .
如果xattr命令不起作用,这可能是由于XCode 9错误:让我们尝试删除并重新添加资源文件夹(在我的情况下是.xcassets),其中包含来自Xcode的受影响文件 . (您应该通过xattr -lr命令了解之前受影响的文件)
打开终端,然后运行此命令 .
xattr -cr“.app文件的路径”
我也面临同样的问题,只需重启我的Macbook就可以解决问题 .
我发现如果我在
DerivedData
下的文件夹中添加color tag
,它将给出上述错误在设备上调试时 .删除
color Tag
为我修复此错误 .