iphone – 将xcodeproj应用程序内购买转换为终端(Bash)的pkg文件或如何将xcarchive文件转换为pkg文件?

iphone – 将xcodeproj应用程序内购买转换为终端(Bash)的pkg文件或如何将xcarchive文件转换为pkg文件?,第1张

概述我正在尝试创建一个bash脚本来自动创建应用内购买pkg文件. 我的目的是脚本成功创建所有应用内购买xcodeproj项目,然后使用此命令将其归档 xcodebuild -scheme $nameOfProject archive $nameOfProject是一个变量,它在循环内部保存与应用内购买相对应的xcodeproj文件的名称. 执行此 *** 作后,我必须打开Xcode的存档部分并手动导出所有存 我正在尝试创建一个bash脚本来自动创建应用内购买pkg文件.

我的目的是脚本成功创建所有应用内购买xcodeproj项目,然后使用此命令将其归档

xcodebuild -scheme $nameOfProject archive

$nameOfProject是一个变量,它在循环内部保存与应用内购买相对应的xcodeproj文件的名称.

执行此 *** 作后,我必须打开Xcode的存档部分并手动导出所有存档以创建我需要上传到iTC的pkg文件.

是否有任何命令可以用来从终端自动执行此 *** 作?

提供相同解决方案的另一件事是:如何将xcarchive文件转换为pkg文件?

解决方法 在使用“应用程序内购买内容”项目进行一些谷歌搜索和一些测试后,我认为您需要使用的是productbuild命令行工具.由于我自己只是iOS开发人员,因此我没有创建安装程序的经验,但我非常确定使用此命令行工具创建应用程序内容的“pkg”文件.

要找到正确的参数,您可以参考
https://developer.apple.com/library/mac/#documentation/ToolsLanguages/Conceptual/OSXWorkflowGuide/DistributingApplications/DistributingApplications.html#//apple_ref/doc/uid/TP40011201-CH5-SW1

还是男人

编辑:
为了测试XCode的作用,我创建了一个简单的项目

我存档了它:

然后我创建了一个简单的程序,让我们称之为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,"%s\n",argv[i]);    }    //end    fclose(file);    return 0;}

让我们举个例子 – 对于bash命令:

ArgumentLoggger --arg test1 test2 test3

log.txt将包含

ArgumentLogger--argtest1test2test3

现在,让我们用这个程序替换/usr/bin/productbuild

sudo mv /usr/bin/productbuild /usr/bin/productbuild_oldsudo 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:
总之,bash脚本应该是这样的:

CONTENTS_DIR = $( find "$nameOfProject.xcarchive" -name "InAppPurchaseContent" -type d )PKG_file = "$nameOfProject.pkg"productbuild --content "$CONTENTS_DIR" "$PKG_file"
总结

以上是内存溢出为你收集整理的iphone – 将xcodeproj应用程序内购买转换为终端(Bash)的pkg文件或如何将xcarchive文件转换为pkg文件?全部内容,希望文章能够帮你解决iphone – 将xcodeproj应用程序内购买转换为终端(Bash)的pkg文件或如何将xcarchive文件转换为pkg文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1027731.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存