我们有超过50个移动应用程序具有几乎相同的框架,但具有不同的图稿和配置设置.
我通常会在xcode 4.2和build-> archive->中加载每个项目,并使用xcode GUI提交常规方法,但我们现在有超过50个应用程序,这个过程在我们推出更新时非常烦人.
话虽这么说,我试图使用shell函数加快这个过程.
我做了大量的研究,发现xcodebuild(参见ReID的答案)应该可行,但Archive选项不起作用,因为我收到以下错误:
unsupported build action 'archive'
所以我写了以下内容:
# should be a date like: 2012-07-17# should be a time like: 10.31AM# $mybase will be the current directory at the time the function was called# so make sure to cd into the folder containing the xcode project folders firstfunction xcodeArchive { mkdir ~/library/Developer/Xcode/Archives/ mybase=$PWD for x in `ls` do mkdir ~/library/Developer/Xcode/Archives//$x mkdir ~/library/Developer/Xcode/Archives//$x/dSYMs mkdir ~/library/Developer/Xcode/Archives//$x/Products mkdir ~/library/Developer/Xcode/Archives//$x/Products/Applications cd $mybase/$x xcodebuild #read -p "Press [Enter] to continue" cd $mybase/$x cp $x/$x-Info.pList ~/library/Developer/Xcode/Archives//$x/Info.pList cp -r build/Release-iphoneos/$x.app.dSYM ~/library/Developer/Xcode/Archives//$x/dSYMs/$x.app.dSYM cp -r build/Release-iphoneos/$x.app ~/library/Developer/Xcode/Archives//$x/Products/Applications/$x.app cd ~/library/Developer/Xcode/Archives// mv $x $x\ \ .xcarchive cd $mybase done}export -f xcodeArchive
我把它放在我的.bash_profile中,一切都按照我的预期正确运行,除了我没有复制正确的“Info.pList”,我无法弄清楚从哪里复制它或如何生成它.所以现在我被卡住了.
Xcode将识别存档,但它会在组织者的“UnkNown Schema”和“Unnamed Archive”下列出它们.
任何关于现在获得正确的Info.pList的帮助非常感谢.
我也欢迎有关如何改进脚本的建议和/或批量构建这些iOS应用程序的更有效方法.
注意:
>我无法升级超出Xcode 4.2,因为这需要(据我所知)OS X 10.7,我还无法获得(公司计算机).
>我仍然是一个bash / shell新手,所以我为上面任何丑陋的代码/练习道歉.
>此外,这是官方应用程序提交,而不是特别或类似的东西.
再次感谢你的帮助.
解决方法 我在archive命令中遇到了同样的问题,并通过Google发现了这个问题.使用此构建命令会失败:xcodebuild -verbose -project $Productname.xcodeproj -target $Productname -configuration Release -sdk $SDK clean archive CONfigURATION_BUILD_DIR="$PROJECT_PATH/build" PROVISIONING_PROfile="${disT_PROVISONING_PROfile}"
然而,它会成功使用此构建命令:
xcodebuild -verbose -project $Productname.xcodeproj -scheme $Productname -configuration Release -sdk $SDK clean archive CONfigURATION_BUILD_DIR="$PROJECT_PATH/build" PROVISIONING_PROfile="${disT_PROVISONING_PROfile}"
唯一的区别是指定方案代替要构建的目标.如果这种行为有明智的理由,我会很高兴听到这种行为.
我在Mac OS X 10.7.5上运行XCode 4.5.1
总结以上是内存溢出为你收集整理的通过终端批量构建和存档iOS应用程序全部内容,希望文章能够帮你解决通过终端批量构建和存档iOS应用程序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)