Xcode 8不能存档“命令/ usr / bin / codesign失败,退出代码1”
在macOS Sierra上,我在Xcode 8上遇到了严重的问题。 当我尝试构build我的应用程序时,出现以下问题。
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
然后我做了以下的terminalhttps://forums.developer.apple.com/thread/48905 ,它的工作。 但一旦我清理干净,问题就回来了。
cd /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp ls -al@ * xattr -c *
此解决scheme不适用于以下问题的存档。 有没有解决scheme?
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
我在苹果论坛上find了这个解决scheme
cd ~/Library/Developer/Xcode/DerivedData xattr -rc .
要么
xattr -rc ~/Library/Developer/Xcode/DerivedData
解决scheme1:
你可以尝试文件特定的bash命令,如Mark McCorkle回答。
在terminal中,转到项目的根目录并逐个执行命令
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和重build。 完成。
解决scheme2:
您可以通过查找保存查找器信息的文件来解决这个问题。
在terminal中,转到项目根目录并执行
ls -alR@ . > kundapura.txt
这会在当前目录中创buildkundapura.txt。 现在searchcom.apple.FinderInfo并清除所有文件的这个属性。 你可以这样做
xattr -c <filename> Example: xattr -c guru.png
一旦你清除所有,那么你可以编码的标志。 干杯
对我来说这个工作:
cd ~/Library/Developer/Xcode/DerivedData xattr -dr com.apple.FinderInfo *
然后重build
有一个更永久的解决办法。 修复DerivedData中的属性的工作,但问题不断回来。 当你得到'资源分叉,查找信息或者不允许的类似碎片'时,你需要做的就是进入显示的目录,这个文件包含.App文件。 然后执行…
xattr -lr MyAppName.App
然后您可以看到具有需要删除的属性的资源文件。 不要从.App文件中删除它们,find项目中的原始文件并打开包含它们的目录并执行…
xattr -rc。
然后这修复了原始文件。 然后重build应该运行正常。 它也应该也适当地重build为档案。
这是由于某些资源文件在文件系统上具有额外的属性(可能是由macOS Sierra引起的)引起的(正如我在升级到macOS Sierra后开始的那样)。
尝试在整个DerivedData
文件夹中执行xattr -c *
(如https://forums.developer.apple.com/message/178039#178039中的答案所述):;
cd ~/Library/Developer/Xcode/DerivedData xattr -c *
在debugging时,只删除构build文件夹中的属性可以解决问题。 在整个DerivedData
文件夹中删除属性也为我进行归档。 请注意,这可能会导致其他后果(尽pipe极不可能),但是您可以随时删除DerivedData
文件夹,并且会重新生成,以防万一。
另外,如果它仍然失败,执行命令后清理项目( 不是生成文件夹)是一个好主意。
我有一个来自CocoaPods包的文件的问题。 我已经将CocoaPods更新到最新版本并运行:
pod install
之后,问题就消失了。
在我的情况下问题是configurationconfiguration文件和帐户,我通过执行以下步骤来解决:
- Xcode首选项 – >帐户 – >删除已经添加的帐户,并再次添加它
- 生成新的供应configuration文件并安装在Xcode中
- 清理项目并重build它
我想显示我的答案,因为它可能是有趣的(我浪费了很多时间,这个错误)
以前没有一个答案(得分高)对我有用。
他们可能是对的,但是他们没有解决我的问题。
起源:
我添加了一个新的目标到我的iOS应用程序:iMessage
当我添加PNG图像资产。 xcassets,发生错误。
解:
使用“Apple Preview App”制作png图像的副本,并取消选中Alpha。
错误消息消失。
就我而言,
去
-
Xcode首选项
-
地点
-
点击Project Path箭头
-
在DerivedData文件夹中search您的项目名称
-
select项目文件夹,右键单击并移至垃圾箱
完成!
我在macOS Sierra 10.12.3,Xcode 8.2上遇到这个错误。 修复DerivedData没有为我工作。
在我删除了Keychain Access中的过期Apple全球开发者关系证书颁发机构证书后,错误消失了。
有时,即使您修复了和/或正确的代码签名, 问题可能会潜伏在第三方软件包中 。
如果您仔细检查出构build错误,则可能会在错误消息中find第三方库的名称。
在这种情况下,您必须重新构build您的第三方库。 例如在我的情况下,通过carthage update
,现在构build成功。