Ios 如何在命令行中调用内置ProductPackageUtility
当您在生成设置(Xcode 4.2.1)中指定权限和代码签名标识时,从Xcode生成时,您将获得以下输出:Ios 如何在命令行中调用内置ProductPackageUtility,ios,xcode,macos,entitlements,Ios,Xcode,Macos,Entitlements,当您在生成设置(Xcode 4.2.1)中指定权限和代码签名标识时,从Xcode生成时,您将获得以下输出: ProcessProductPackaging "myAppName.entitlements" "/path/to/myAppName.xcent" cd /path/to/myAppName/SourceCode builtin-productPackagingUtility "/path/to/myAppName/SourceCode/myAppName.entitlements"
ProcessProductPackaging "myAppName.entitlements" "/path/to/myAppName.xcent"
cd /path/to/myAppName/SourceCode
builtin-productPackagingUtility "/path/to/myAppName/SourceCode/myAppName.entitlements" -entitlements -format xml -o "/path/to/myAppName.xcent"
CodeSign "/path/to/Garfields Comic Boom 1.0.app"
cd /path/to/myAppName/SourceCode
setenv CODESIGN_ALLOCATE /Developer/usr/bin/codesign_allocate
/usr/bin/codesign --force --sign "myCertificate" --entitlements "/path/to/myAppName.xcent" "/path/to/myAppName.app"
我想在构建结束时签署我的应用程序文件夹,而不是在Xcode构建期间
我的问题是我不知道如何在命令行中生成xcent文件
问题:如何在命令行中生成xcent文件?我从根目录中找到了,没有所谓的ProductPackageUtility…使用codesign实用程序不需要xcent文件。您只需创建一个plist文件并将其用于权利。确保它是XML plist,而不是二进制文件 我想在构建结束时对我的应用程序文件夹进行签名,而不是在Xcode构建期间 如果禁用设备生成的代码签名,IIRC最新版本的Xcode会投诉 解决这个问题最简单的方法是让Xcode对其进行签名,然后在以后重新签名。步骤约为
codesign-d--authentications=MyApp.xcent MyApp.app
MyApp.app/embedded.mobileprovision
,并相应地修改权限(IIRC文件格式具有4字节魔术和4字节长度;请记住更新长度!).Authentications和${APPNAME}.xcent的格式是相同的,因此它可以被复制。进一步分析的一个起点可能是文件(Xcode 4.4):
/Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/Frameworks/DevToolsCore.framework/Versions/Current/Resources/Code-Sign.xcspec
(请参阅CommandLine=“builtin-productpackagingputility[…]
部分)。Xcode可能实例化类xcworkqueuecommandbuiltinivation\u-productpackagingputility
,以运行此任务(它是唯一一个后缀为的类:productPackagingUtility
)。nm/[…]/DevToolsCore.framework/Versions/Current/DevToolsCore | grep-i productPackagingUtility