美文网首页
Xcode8.1真机正常运行,模拟器报错/usr/bin/cod

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

作者: 陨落心 | 来源:发表于2017-04-28 15:38 被阅读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
    
    

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

    • 更新cocopods. 有一篇简书作者也遇到同样问题,他采用了这个方案解决了。但我的系统刚装的,所有的环境,软件等都是最新的,没有道理的。然后我还是试过了, clean - delete DerivedData ,重新运行,老样子
    • 在xcode - target - build setting - package - info file里面新增一个空的info plist文件,我没试过
    • 使用xattr -c 帖子是https://forums.developer.apple.com/thread/48905

    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. 根据论坛所说的,可能就是这个信息导致的,我们尝试移除它。
    • 找到你刚发现的有问题的图片,在工程中的路径,假设我的图片在xxxxxx/xxxxxxx/images/下,在终端进入此目录,执行xattr -c *.png ,在ls -al@ png会发现,刚刚的属性已经消失了就是成功了。
    • 同理,如果是appIcon出错的,就进入到响应的文件夹(asset下),执行xattr -c *.png
    1. Clean , 最好再手动去删除下本地编译生成的文件夹, 比如我的是:"/Users/dadong/Library/Developer/Xcode/DerivedData/xxxxxxx-eqhusgkiobhnzebfejacuctmahga"
    2. 重新运行。。。搞定了终于。

    总结

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

    相关文章

      网友评论

          本文标题:Xcode8.1真机正常运行,模拟器报错/usr/bin/cod

          本文链接:https://www.haomeiwen.com/subject/mkxazttx.html