您的位置:首页 > 移动开发

mac命令行下使用xcodebuild编译ios app的一点点总结

2015-06-02 17:45 537 查看
http://blog.sina.com.cn/s/blog_56ae1d5801017x3a.html

man xcodebuild 和 Xcode
build settings
https://developer.apple.com/library/ios/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/0-Introduction/introduction.html
前些日子,从大学同学手里揽下了一个活,写一个在mac系统下用于自动编译ios app的脚本。

mac系统虽然没接触过,但在怎么也是个类unix的操作系统,就算GUI下什么也不会操作,也没关系,反正有命令行。

但是得到他的项目源码包以后就傻了,完全搞不清楚状况,人家在xcode图形界面下编译什么问题都木有,可放到命令行下用xcodebuild编译就是一堆又一堆的麻烦。

主要有这么几个问题:证书匹配;第三方库;秘钥锁;包依赖

之前他们的研发曾留下了一个通用的脚本,但是完全用不了。

第一个问题,证书不匹配:

开发和编译不是放在一台机器上,所使用的证书就是个问题。

这个需要手动改plist文件。修改一下所使用的证书

第二个问题:

Code Sign error: Provisioning profile '*****-****-****-****' can't be found

这个好解决,按照网上的教程,找到项目文件夹XXXX.xcodeproj,编辑project.pbxproj这个问题件。把里面的
CodeSign error: Provisioning profile

统统删掉。

第三个问题,第三方库需要提前编译。

这个是看了N多E文问答后才晓得的,

他的这个项目使用了SDWebImage这个用途很广的一个第三方库,在xcode下,系统会在编译app前先把他编译好,可是,用命令行就木有那么好命了,需要自己先手动编译一下。

第四个问题,包依赖

在解决了上述三个问题后,我以为接下来的路应该很顺,但是很莫名其妙的,提示找不到

libxml/tree.h SDWebImage/UIButton+WebCache.h

上网一查,我勒个去tree.h居然是系统自带的库。系统居然找不到自己自带的库。好吧,继续上网找答案……终于找到解决方法,给xcodebuild加上一个参数

HEADER_SEARCH_PATHS="各种库的路径,包括第三方库"

所有的问题解决,编译吧,于是遇到了最后一个问题

CopyPNGFile build/Release-iphoneos/XMTNews.app/saidehan-elect.png Resource/otherImage/导航/saidehan-select.png

编译程序不认中文……这个如果想找办法的应该也能觉得,但我实在是不想折腾了,于是要求研发小哥,不要使用中文。

最后大功告成~~~

yeah
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: