iphone – 将xcodeproj应用程序内购买转换为终端(Bash)的pkg文件
我正在尝试创建一个bash脚本来自动创建应用内购买pkg文件.
我的目的是脚本成功创建所有应用内购买xcodeproj项目,然后使用此命令将其归档 xcodebuild -scheme $nameOfProject archive $nameOfProject是一个变量,它在循环内部保存与应用内购买相对应的xcodeproj文件的名称. 执行此操作后,我必须打开Xcode的存档部分并手动导出所有存档以创建我需要上传到iTC的pkg文件. 是否有任何命令可以用来从终端自动执行此操作? 提供相同解决方案的另一件事是:如何将xcarchive文件转换为pkg文件? 解决方法
在使用“应用程序内购买内容”项目进行一些谷歌搜索和一些测试后,我认为您需要使用的是productbuild命令行工具.由于我自己只是iOS开发人员,因此我没有创建安装程序的经验,但我非常确定使用此命令行工具创建应用程序内容的“pkg”文件.
要找到正确的参数,您可以参考 还是男人 编辑: 我存档了它: 然后我创建了一个简单的程序,让我们称之为ArgumentLogger,代码是 int main(int argc,const char* argv[]) { //Open a file for logging FILE* file = fopen("/Users/Sulthan/Desktop/log.txt","a+"); for (int i = 0; i < argc; i++) { //log all parameters fprintf(file,"%sn",argv[i]); } //end fclose(file); return 0; } 让我们举个例子 – 对于bash命令: ArgumentLoggger --arg test1 test2 test3 log.txt将包含 ArgumentLogger --arg test1 test2 test3 现在,让我们用这个程序替换/usr/bin/productbuild sudo mv /usr/bin/productbuild /usr/bin/productbuild_old sudo mv ArgumentLogger /usr/bin/productbuild 然后在XCode中点击“Distribute”. 并导出包. log.txt现在包含 /usr/bin/productbuild --content /var/folders/v5/wwrmfpqx2mx1q5sf67_6vgg00000gn/T/FDCEA38E-1EF6-490B-8C30-8B0675C56CC8-47322-00014822C462D3CD/TestContent /var/folders/v5/wwrmfpqx2mx1q5sf67_6vgg00000gn/T/FDCEA38E-1EF6-490B-8C30-8B0675C56CC8-47322-00014822C462D3CD/TestContent.pkg 现在我们看到了XCode的确切功能. 第二个文件是生成的文件,我不确定文件是否还有更多内容,但是在用pkgutil扩展后,内容似乎与从XCode创建的pkg中的内容相同. 第一个文件是一个似乎直接从xcarchive文件中获取的目录. 编辑2: CONTENTS_DIR = $( find "$nameOfProject.xcarchive" -name "InAppPurchaseContent" -type d ) PKG_FILE = "$nameOfProject.pkg" productbuild --content "$CONTENTS_DIR" "$PKG_FILE" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |