我在macOS Sierra的Xcode 8上遇到了严重的问题。 当我尝试构建我的应用程序时,我遇到了以下问题。
CodeSign /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp.app
cd /Users/me/Desktop/MyAppFolder1/MyAppFolder2/MyAppxcode
export CODESIGN_ALLOCATE=/Users/me/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
export PATH="/Users/me/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Users/me/Downloads/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
Signing Identity: "-"
/usr/bin/codesign --force --sign - --timestamp=none /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp.app
/Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp.app: resource fork, Finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1
然后我在终端中执行了https://forums.developer.apple.com/thread/48905,如下所示,它有效。但是一旦我清理干净,问题又回来了。
cd /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp
ls -al@ *
xattr -c *
此解决方案不适用于存档,但存在以下问题。它有什么解决方案吗?
CodeSign /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app
cd /Users/me/Desktop/MyAppFolder1/MyAppFolder2/MyAppxcode
export CODESIGN_ALLOCATE=/Users/me/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
export PATH="/Users/me/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Users/me/Downloads/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
Signing Identity: "iPhone Developer: My Name (**********)"
Provisioning Profile: "iOS Team Provisioning Profile: com.**********.*********"
(********-****-****-****-************)
/usr/bin/codesign --force --sign **************************************** --entitlements /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Intermediates/ArchiveIntermediates/MyApp/IntermediateBuildFilesPath/MyApp.build/Release-iphoneos/MyApp.build/MyApp.app.xcent --timestamp=none /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app
/Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app: resource fork, Finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1
答案 0 :(得分:109)
我在Apple论坛中找到了这个解决方案
cd ~/Library/Developer/Xcode/DerivedData
xattr -rc .
或
xattr -rc ~/Library/Developer/Xcode/DerivedData
答案 1 :(得分:21)
解决方案1:
您可以尝试使用文件特定的bash命令,例如Mark McCorkle回答。
在终端中,转到项目的根目录并执行逐个命令
find . -type f -name '*.jpeg' -exec xattr -c {} \;
find . -type f -name '*.png' -exec xattr -c {} \;
find . -type f -name '*.tif' -exec xattr -c {} \;
清理Xcode并重新构建。完成。
解决方案2:
您可以通过查找包含查找程序信息的文件来解决此问题。
在终端中,转到项目根目录并执行
ls -alR@ . > kundapura.txt
这会在当前目录中创建kundapura.txt。现在搜索com.apple.FinderInfo并清除所有文件的此属性。你可以这样做
xattr -c <filename>
Example: xattr -c guru.png
一旦你清除了所有内容,你就可以编码。干杯
答案 2 :(得分:12)
对我来说,这是:
cd ~/Library/Developer/Xcode/DerivedData
xattr -dr com.apple.FinderInfo *
然后重建
答案 3 :(得分:9)
对此有一个更永久的解决方法。修复DerivedData中的属性,但问题仍然存在。您需要做的是当您获得“资源分支,Finder信息或类似的不允许的碎片”时,转到显示的目录,包含.App文件的目录。然后执行......
xattr -lr MyAppName.App
然后,您可以看到具有需要删除的属性的资源文件。不要从.App文件中删除它们,找到项目中的原始文件并打开包含它们的目录并执行...
xattr -rc。
然后修复ORIGINAL文件。然后重建应该正常运行。然后它也应该正确地重建以便存档。
答案 4 :(得分:6)
这是由于某些资源文件在文件系统上具有额外属性引起的,可能是由macOS Sierra引起的(因为我在升级到macOS Sierra后开始使用它)。
尝试在整个xattr -c *
文件夹上执行DerivedData
(如https://forums.developer.apple.com/message/178039#178039中的答案所述):
cd ~/Library/Developer/Xcode/DerivedData
xattr -c *
仅在build文件夹中删除属性修复了调试时的问题。删除整个DerivedData
文件夹中的属性也可以在归档中修复它。请注意,它可能会导致其他后果(虽然非常不可能),但您可以随时删除DerivedData
文件夹,并且会重新生成,以防万一发生任何问题。
此外,如果仍然失败,执行命令后清理项目(不构建文件夹)是个好主意。
答案 5 :(得分:4)
我在CocoaPods包中有一个文件存在这个问题。 我已将CocoaPods更新到最新版本并运行:
pod install
之后,问题就消失了。
答案 6 :(得分:3)
在我的案例问题上是配置配置文件和帐户,我通过以下步骤修复:
答案 7 :(得分:2)
我想展示我的答案,因为它可能很有趣(我浪费了很多时间来处理这个错误)
以前的答案(得分都很高)都没有对我有用。
他们可能是正确的,但他们没有解决我的问题。
产地:
我在iOS应用程序中添加了一个新目标:iMessage
当我将png图像添加到资产时。 xcassets,发生了错误。
解决方案:
使用“Apple Preview App”复制png图像并取消选中Alpha。
错误消息消失。
答案 8 :(得分:0)
就我而言,
转到
Xcode偏好
地点
点击项目路径箭头
在DerivedData文件夹中搜索您的项目名称
选择项目文件夹,右键单击并移至垃圾箱
完成!
答案 9 :(得分:0)
我在macOS Sierra 10.12.3,Xcode 8.2上遇到了这个错误。 修复 DerivedData 并不适用于我。
在 Keychain Access 中删除过期的 Apple全球开发者关系证书颁发机构证书后,错误消失了。
答案 10 :(得分:0)
有时即使您已修复和/或已完成正确的代码签名,问题可能潜伏在第三方软件包中。
如果您仔细检查构建错误,可能会在错误消息中找到第三方库的名称。
在这种情况下,您必须再次构建第三方库。例如,在我的情况下,通过carthage update
更新它,现在构建成功了。