Objective c 使用配置文件构建macOS命令行实用程序

Objective c 使用配置文件构建macOS命令行实用程序,objective-c,xcode,macos,Objective C,Xcode,Macos,我的目标是构建一个带有资源调配配置文件的macOS命令行二进制文件(由于使用了苹果新的端点安全框架),因此需要使用该配置文件) ✅ 我已经创建并安装了资源调配配置文件,并且在构建和运行macOS应用程序版本时没有问题(当“包标识符”与安装的资源调配配置文件匹配时,Xcode会自动填充“资源调配配置文件”,位于“签名和功能”下): 但是,当尝试构建命令行版本时,此选项不会显示为Xcode相信“无[是]必需的”: 我已经尝试通过项目的“构建设置”为目标指定配置文件: ❌ 但建筑失败的原因是:

我的目标是构建一个带有资源调配配置文件的macOS命令行二进制文件(由于使用了苹果新的
端点安全框架
),因此需要使用该配置文件)

✅ 我已经创建并安装了资源调配配置文件,并且在构建和运行macOS应用程序版本时没有问题(当
“包标识符”
与安装的资源调配配置文件匹配时,Xcode会自动填充
“资源调配配置文件”
,位于
“签名和功能”
下):

但是,当尝试构建命令行版本时,此选项不会显示为Xcode相信
“无[是]必需的”

我已经尝试通过项目的
“构建设置”
为目标指定配置文件:

❌ 但建筑失败的原因是:
processMonitor不支持配置文件。processMonitor不支持配置文件,但已手动指定配置文件Process Monitor。在生成设置编辑器中将配置文件值设置为“自动”。

注意,项目的配置文件(在
“生成设置”
下)设置为
“自动”

❌ 通过
xcodebuild
,我也没有运气,这会产生相同的错误:

$ xcodebuild -project "processMonitor.xcodeproj" -scheme processMonitor -configuration Release PROVISIONING_PROFILE_SPECIFIER="Process Monitor" DEVELOPEMENT_TEAM="<team id>"
Build settings from command line:
    DEVELOPEMENT_TEAM = <team id>
    PROVISIONING_PROFILE_SPECIFIER = Process Monitor

note: Using new build system
note: Planning build
note: Constructing build description
error: processMonitor does not support provisioning profiles. processMonitor does not support provisioning profiles, ...
$xcodebuild-project“processMonitor.xcodeproj”-scheme processMonitor-configuration Release PROVISIONING\u PROFILE\u SPECIFIER=“Process Monitor”development\u TEAM=“”
从命令行生成设置:
开发团队=
设置\u配置文件\u说明符=过程监视器
注意:使用新的构建系统
注:规划建造
注意:构建构建描述
错误:processMonitor不支持配置文件。processMonitor不支持配置文件。。。

所以,问题是:是否有可能构建一个需要配置文件的独立macOS命令行二进制文件。。。如果是,怎么做

FWIW,如果独立macOS命令行二进制文件打包在传统的“应用程序包”(
.App
)文件夹结构中,而不是作为独立的单个二进制文件,则可以使用配置文件对其进行代码签名和命名

苹果开发者论坛上发布了一个
端点安全性
示例:

TLDR将使用Xcode构建一个完整的“.app”项目,包括适当的权限、配置文件、代码签名配置,然后交换应用程序主要可执行文件的逻辑(例如
DaemonInAppsClothing.app/Contents/MacOS/DaemonInAppsClothing
)使用所需的命令行二进制逻辑生成如下文件夹结构(来自上面的Apple Developer Forum帖子):


你的xcode版本是什么using@AnjulaS:Xcode版本11.0(11A420a)
% find DaemonInAppsClothing.app
DaemonInAppsClothing.app
DaemonInAppsClothing.app/Contents
DaemonInAppsClothing.app/Contents/_CodeSignature
DaemonInAppsClothing.app/Contents/_CodeSignature/CodeResources
DaemonInAppsClothing.app/Contents/MacOS
DaemonInAppsClothing.app/Contents/MacOS/DaemonInAppsClothing
DaemonInAppsClothing.app/Contents/embedded.provisionprofile
DaemonInAppsClothing.app/Contents/Info.plist
DaemonInAppsClothing.app/Contents/PkgInfo