1. xcodebuild
xcodebuild: 构建Xcode project和workspace。
2. TN2339: Building from the Command Lline with Xcode FAQ
https://developer.apple.com/library/ios/technotes/tn2339/_index.html`
3. xcode-select
xcode-select: Manages the active developer directory for Xcode and BSD tools.
4. xcrun
xcrun: Run or locate development tools and properties.
$ xcrun --find clang
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
$ which clang
/usr/bin/clang
两个命令找到的clang路径不同,并且size也不同。这是什么原因?
5. xcodeproj
比较两个target或者两个project的不同。
6. .xcconfig
.xcconfig 文件的作用?
[9] [10]
.xcconfig: 在File->New->File->Others->Configuration Settings File
.xcconfig文件 可以用在xcodebuild命令的选项-xcconfig中
.xcconfig也可以如[9]中将某个.xcconfig设置到某个target上。
7. Xcode Build Setting Reference
构建设置项参考
Build Setting Reference
例如:ARCHS SRCROOT等
https://developer.apple.com/library/iOS/documentation/developertools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html#//apple_ref/doc/uid/TP40003931-CH3-SW177
iOS App瘦身注意armv7 armv7s arm64
http://blog.csdn.net/CrazyZhang1990/article/details/38843465
描述了 "Architectures" "Build Active Architecture Only" "Valid Architectures" 对build出来app包的大小的影响
以下三个Build Setting Item的含义:
Architectures:
Build Active Architecture Only:
Valid Architectures:
关于这个三个build setting的作用参考"Build Setting Reference"
8. 解释以下名词 [Todo]
8.1 Code Signing Entitlements
8.2 Code Signing Identity
8.3 Provisioning Profile (.mobileprovision)
Provisioning Profile 是什么?
http://www.cocoachina.com/industry/20130428/6094.html
http://www.cocoachina.com/industry/20130428/6094.html
http://www.doubleencore.com/2013/04/what-is-a-provisioning-profile-part-2/
9. iPhoneOS 的工具包
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
10. 构建渠道包
由于国内复杂的环境,各种iOS App渠道层出不穷。那如何为各个渠道构建渠道包呢?
Solution:[5]
首先 需要有一个渠道列表文件(ChannelList),该文件的内容为各个 渠道ID(即渠道号,ChannelID) ,渠道全拼(即 ChannelSpelling)以及
渠道中文名称(即,该字段对非技术人员可读, ChannelName)。 ChannelID需要全局唯一。
ChannelID:ChannelSpelling:ChannelName
然后 在.ipa包中需要包含一个渠道文件, 即ChannelInfo.dat, 该文件的内容为:
ChannelID:ChannelSpelling
如果需要上报ChannelID,需要读取ChannelInfo.dat文件即可获得ChannelID。
Reference:
1. Buidling iOS apps for Over-The-Air AdHoc distribution
http://nachbaur.com/blog/building-ios-apps-for-over-the-air-adhoc-distribution
该blog讲解了如何进行一次专门化的发布,通过这种发布可以让感兴趣的user来对app进行beta测试。
2. Automating Over The air deployment for iPhone
http://blog.octo.com/en/automating-over-the-air-deployment-for-iphone/
3. google "how to automate your iphone app builds"
4. http://nachbaur.com/blog/how-to-automate-your-iphone-app-builds-with-hudson
5. xcodebuild和xcrun实现自动打包iOS应用程序
http://lizaochengwen.iteye.com/blog/1856698
6. iOS application .ipa文件生成的自动化和无线分发
http://mobile.51cto.com/hot-430878.htm
7. Wireless AdHoc Distribution [ToRead]
http://gknops.github.io/adHocGenerate/
https://github.com/gknops/adHocGenerate
8. Project Editor Help [ToRead]
https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/Articles/BasingBuildConfigurationsonConfigurationFiles.html
9. 利用xcconfig来控制Xcode工程
http://www.hongtaozhy.com/2014/04/04/xcconfig/
10.
http://stackoverflow.com/questions/6208224/how-can-i-use-xcconfig-files-in-xcode-4
11.
http://blog.csdn.net/yu0089/article/details/8182128
12. Xcode 4 and .xcconfig files
http://respectthecode.tumblr.com/post/16167385557/xcode-4-and-xcconfig-files