我已经使用Swift 3完成了 Cocoa (非iOS)应用程序的工作。我已在台式计算机上测试过它。它工作正常。我在另一台台式电脑上测试过它。它工作正常。我甚至设法将其发送到 iTunes Connect 。但我没有提交它,因为相同的应用程序无法在MacBook Pro(2013)上运行。无论如何,我已经在带有视网膜显示屏的MacBook Pro上进行了测试。这就是整个问题开始发生的时候。实际上,这个桌面应用程序几天前在同一台MacBook Pro上运行。我认为它还没有沙盒。现在,每当我通过AirDrop将不同iMac模型上运行的二进制副本发送到MacBook Pro并尝试运行应用程序时,我会收到EXC_CRASH (Code Signature Invalid)
的错误消息。所以我删除了Developer
/ Xcode
/ DerviedData.
中的一些文件现在,我甚至无法调试应用程序。当我调试它时,它会挂起一个致命的错误消息,这是我以前从未见过的。
现在,如果我双击Xcode生成的应用程序,我会收到一个崩溃报告,其中显示未加载库:@ rpath / libswiftAppKit.dylib 。我以为我可能会意外删除一些系统文件。但是,如果我调试现有的macOS和iOS应用程序,我运行它们没有问题。幸运的是,整个问题发生在这个特定的Xcode项目上。
我在此处发现的一个主题建议我们将始终嵌入Swift标准库选项设置为是。我没有誓言就这样做了。我还阅读了一条建议,说明如何将开发人员证书上的When using this certification
选项设置为Use System Defaults
,这没有任何帮助。我尝试的另一个建议是清除缓存(Command + Shift + Option + K)。
如果您有任何建议,请告诉我。感谢。
更多信息
我还在MacBook Pro上反复看到一条奇怪的警告信息,上面写着"%@"无法找到。双击应用程序图标时出现此错误消息。它可以参考
String(format: NSLocalizedString("whatever", comment: ""), variable name)
答案 0 :(得分:7)
我已经解决了这个问题!我和你有同样的问题。但是从https://www.reddit.com/r/swift/comments/4nac9s/using_swift_frameworks_with_command_line/中的答案,我知道关键是rpath。
所以我尝试在以下两个设置中将此路径添加到项目中:
${DT_TOOLCHAIN_DIR}/usr/lib/swift/macosx/
我不知道为什么需要添加这两个设置,但它确实有效!