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

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

时间: 2024-10-26 15:36:48

iOS.AutomatePackageBuild的相关文章

iOS -- SKSpriteNode类

SKSpriteNode类 继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0或者更晚的版本 声明于 SKSpriteNode.h 参考指南 Sprite Kit Progamming Guide 概览 重要提示:这是一个初步的API或者开发技术

使用fruitstrap实现命令行将IPA包安装到iOS设备上

Requirements Mac OS X. Tested on Snow Leopard only. You need to have a valid iPhone development certificate installed. Xcode must be installed, along with the SDK for your iOS version. Usage fruitstrap [-d] -b <app> [device_id] Optional -d flag laun

iOS -- SKScene类

SKScene类 继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0或者更晚的版本 声明于 SKScene.h 参考指南 Sprite Kit Progamming Guide 概览 重要提示:这是一个初步的API或者开

iOS -- SKPhysicsWorld类

SKPhysicsWorld类 继承自 NSObject 符合 NSCodingNSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0或者更晚的版本 声明于 SKPhysicsWorld.h 参考指南 Sprite Kit Progamming Guide 概览 重要提示:这是一个初步的API或者开发技术文档.虽然已经审阅了本文档的技术准确性,但是它不是最终的版本.本机密信息仅适用于

iOS证书说明和发布

1.首先通过钥匙串访问——证书助理——从证书颁发机构请求证书——填写证书信息(邮箱,常用名称,存储到磁盘)——存储为(自定义名称.certSigningReuqest,简称CSR文件,只是为了提交到苹果开发者账号中,然后就没用了)到本地 2.苹果开发者账号中,创建证书(Development和Production)——上传CSR文件——下载证书运行 ( xxx.cer文件) 注意:只有在当前电脑中生成本地生成证书,上传到苹果开发账号,然后下载cer文件运行后,钥匙串中才有证书以及对应的秘钥 如果

iOS开发——项目实战总结&amp;UITableView性能优化与卡顿问题

UITableView性能优化与卡顿问题 1.最常用的就是cell的重用, 注册重用标识符 如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell 如果有很多数据的时候,就会堆积很多cell.如果重用cell,为cell创建一个ID 每当需要显示cell 的时候,都会先去缓冲池中寻找可循环利用的cell,如果没有再重新创建cell 2.避免cell的重新布局 cell的布局填充等操作 比较耗时,一般创建时就布局好 如可以将cell单独放到一个自定义类,初始化时就布局好

解决ios下的微信打开的页面背景音乐无法自动播放

后面的项目发现,还有两个坑,需要注意下: ·本文的解决方案的核心是利用了 微信/易信 在ready的时候会有个 WeixinJSBridgeReady/YixinJSBridgeReady事件,通过监听这个事件来触发的.那有个坑就是 如果微信已经ready了,但还没执行到你监听这个ready事件的代码,那么你的监听是没用的,所以最理想的情况是,监听的js放在head前面(放在css外链之前),确保最新执行,切记!切记!. ·另一个坑就是,本文的解决方案只适合一开始就播放的背景音乐.如果你是做那种

iOS程序执行顺序和UIViewController 的生命周期(整理)

说明:此文是自己的总结笔记,主要参考: iOS程序的启动执行顺序 AppDelegate 及 UIViewController 的生命周期 UIView的生命周期 言叶之庭.jpeg 一. iOS程序的启动执行顺序 程序启动顺序图 iOS启动原理图.png 具体执行流程 程序入口进入main函数,设置AppDelegate称为函数的代理 程序完成加载[AppDelegate application:didFinishLaunchingWithOptions:] 创建window窗口 程序被激活[

iOS库--.a与.framework

一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存. 三.iOS里静态库形式? .a和.framework 四.iOS里动态库形式? .dylib和.framework 五.framework为什么既是静态库又是动态库? 系统的.framework是动态库,我们自己建立的.fram