Xcode8.1真机正常运行,模拟器报错/usr/bin/cod

2017-04-28  本文已影响0人  陨落心

前几天硬盘坏了。然后换了硬盘,重装了黑苹果10.12.1 macOS Sierra,xcode从8.0 ->8.1

公司有两个项目,一个项目正常。另外一个项目出问题了。我也是纳闷了,真机竟然可以,模拟器不行,证书配置了都没错。而且,之前都是没问题的!

报错如下:


CodeSign /Users/dadong/Library/Developer/Xcode/DerivedData/xxxxxx-eqhusgkiobhnzebfejacuctmahga/Build/Products/Debug-iphonesimulator/xxxxxx.app

cd /Volumes/soft/xxxxxx

export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate

export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/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/dadong/Library/Developer/Xcode/DerivedData/xxxxxx-eqhusgkiobhnzebfejacuctmahga/Build/Products/Debug-iphonesimulator/xxxxxx.app

/Users/dadong/Library/Developer/Xcode/DerivedData/xxxxxx-eqhusgkiobhnzebfejacuctmahga/Build/Products/Debug-iphonesimulator/xxxxxxx.app: resource fork, Finder information, or similar detritus not allowed

Command /usr/bin/codesign failed with exit code 1

我谷歌后发现有几个方案:

xattr是什么,在Terminal输入xattr -help 后发现,


xattr 说明

不难看出,就是一个可以读取资源的属性,删除属性,设置属性的东西。

怎么用?

  1. 在终端里 ,进入到编译生成的文件夹,(刚才报错有提示的)
    cd /Users/dadong/Library/Developer/Xcode/DerivedData/xxxxxx-eqhusgkiobhnzebfejacuctmahga/Build/Products/Debug-iphonesimulator/xxxxxx.app
  2. 使用ls -al@ png列出所有的png图片的信息,包含属性
图片的属性 有差别
很明显看到有的图片,多了com.apple.FinderInfo属性,应该是当时都是从Finder拉进去的,ps直接生成的。为什么有的没有,有待验证 #to do
  1. 根据论坛所说的,可能就是这个信息导致的,我们尝试移除它。
  1. Clean , 最好再手动去删除下本地编译生成的文件夹, 比如我的是:"/Users/dadong/Library/Developer/Xcode/DerivedData/xxxxxxx-eqhusgkiobhnzebfejacuctmahga"
  2. 重新运行。。。搞定了终于。

总结

在本地编译生成的app文件里,便捷的查看所有的资源文件,利用ls -al@ file_names查看有附带属性的文件,然后根据看到的,去自己的真正工程目录里,找到他们,用命令xattr -c file_names remove掉属性,搞定。

上一篇下一篇

猜你喜欢

热点阅读