Not running swift-stdlib-tool: ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES is enabled, but the product type 'com.apple.product-type.tool' is not a wrapper type.

使用 Xcode 在原有APP项目(.app)新建了一个独立的命令行可执行程序,作为 SMJobBless 使用的独立进程。编译的时候出现如下告警:

原来的项目配置了 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 编译选项,所以新建的子工程默认继承了这个编译选项。

根据编译参数文档 Build settings reference,文档对与这个编译参数的说明如下:

明确说明 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 编译选项,只针对 .app 项目,不能作用于独立的二进制程序。

原因在于 .app 项目是一个文件夹,可以在 Framework 目录里面存放额外的文件,独立的进程只有一个文件,没有存储独立的 libswift.dylib 的地方。

解决方法很简单,在编译选项中,设备设置为 No 即可。

如下图:

参考链接