iOS.AutomatePackageBuild

 

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

你可能感兴趣的:(package)