代码签名错误每当我尝试在新的SceneKit应用程序中替换库存文件时

Moh*_*dal 25 xcode ios scenekit swift xcode8

所以Xcode 8最近发布了,我仍然不确定究竟是什么原因造成了这个问题(可能只是因为它是Xcode的beta版本,或者我可能在某种程度上做错了什么).

手头的问题是我正在尝试创建一个新的SceneKit应用程序,而我正在使用.scn文件.

我在"hero.scnassets"中创建了一个.scn文件"hero.scn",并在hero.scnassets文件夹中提供了一个名为"heroTexture.png"的.png文件

Xcode 8.0 beta 1通常为"GameViewController.swift"文件中的此项目提供的代码编辑如下:

原始代码:

...
let scene = SCNScene(named: "art.scnassets/ship.scn")!
...
let ship = scene.rootNode.childNode(withName: "ship", recursively: true)!
ship.run(SCNAction.repeatForever(SCNAction.rotateBy(x: 0, y: 2, z: 0, duration: 1)))
Run Code Online (Sandbox Code Playgroud)

编辑代码:

...
let scene = SCNScene(named: "hero.scnassets/hero.scn")!
...
let hero = scene.rootNode.childNode(withName: "hero", recursively: true)!
hero.run(SCNAction.repeatForever(SCNAction.rotateBy(x: 0, y: 2, z: 0, duration: 1)))
Run Code Online (Sandbox Code Playgroud)

收到错误:

.../Xapp.app: resource fork, finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1
Run Code Online (Sandbox Code Playgroud)

问题结论:

当我所做的只是替换文件时,为什么我会收到签名错误?

旁注:我知道如何让代码签名问题消失,但这涉及重新启动整个项目(我不介意).然而,我遇到的问题是每当我更改文件时,我都会收到此错误.

PS:这是一个文件结构,只是为了方便.FileStruct

ecu*_*urs 109

通过三个简单的步骤摆脱这个构建错误:

1)删除DerivedData中与您的应用程序相关的最新文件夹(〜/ Library/Developer/Xcode/DerivedData)

2)在终端中,cd到当前项目目录

3)跑

xattr -rc.

删除所有扩展属性(通常与先前在Photoshop中编辑的图像文件相关)

重建你的应用程序!

  • 生命保护!<3谢谢 (2认同)
  • 感谢上帝.你呢.我没有将此问题更新到xCode 8,但仅在升级到Sierra之后.现在修复了.谢谢 (2认同)

Mar*_*kle 18

错误来自图像文件中的属性.

这是一个简单的命令,用于查找所有png文件并删除其属性.在终端的项目根目录中运行它.重建,清洁和解决问题.

find . -type f -name '*.png' -exec xattr -c {} \;
Run Code Online (Sandbox Code Playgroud)


Pet*_*ill 9

resource fork, finder information, or similar detritus not allowed安装了macOS的开发版本后出错了,在我的情况下,它是由我的某些文件的无效属性引起的.

我通过搜索com.apple.FinderInfo我的文件上设置的属性来修复它

ls -alR@ . > investigate.txt

现在在您喜欢的文本编辑器中打开investig.txt,并对com.apple.FinderInfo具有此属性集的所有文件执行搜索和清除属性.你可以使用

xattr -c <filename> 例如 xattr -c iTunesArtwork.png

一旦我清除了所有文件,我就可以再次对我的应用程序进行编码.