使用xcodebuild命令打包导出
最后更新于
最后更新于
当前环境: Xcode10.0 Swift4.2 iOS SDK 12.1
在写之前要有几个东西先确定下,几个东西。
一,BuildConfiguration
这是一个非常重要的选项,先说一个用到他的例子,一般项目都有各种环境,在同一个位置会有不同的行为,我们要怎么判断呢,Xcode 提供了一个 Project 级别的参数就是 BuildConfiguration,我们可以设置有 N 个BuildConfiguration,来在代码里面控制代码的不同行为,下面用个截图来看。
当设置好了 BuildConfiguration,可以对应设置宏来进行条件编译,如何进行设置看这篇也许对你有帮助。
二,Target
一个 Project 下可以创建多个 Target,比如 Xcode 默认的空模版,就会在 Project 下给你建 3 个 Target,分别是
1 个项目 Target 1 个 UnitTest 的 Target 1个 UITest 对的Target
三,多个 Target 的作用
因为一套 Target 对应一套配置,比如我们的项目中,有两个 Target 分别对应不同的 BundleId,这个场景下,我们就有必要用两个 Target 来区分一下。 再者说两套配置不一样,一套给生产一套给其他环境,里面包含不同的加固配置等等,都可以用多个 Target 区分。
四,Scheme
一个 Target 可以对应多个 Scheme,当你创建 Scheme 的时候,是可以选择你的 Target 的,当创建 Scheme 的时候还有一个选项,Shared,当你创建的 Scheme 需要其他人也能看到的时候需要打勾,如果不需要其他人看到 不需要打勾。
五,关系
下图是他们的 Scope 的关系图。
从图中可以看出,1个 Project 可以配置多个 Target,1 个 Target 可以配置多个 Scheme。 BuildConfiguration 是在 Project 级别上的配置,所以他对下面所有 Target 都生效 。
六,Archive Export 命令
执行下面命令的时候
请确保你的证书和你的ID都是正确的
。
如果 H5 想要可以在 Safri 调试的 App 应用 ipa,那么需要导出的时候选择 Development 导出方式即可。
Development profile: 允许你去测试你的 App 在物理机器上,也就是真机上。
App Store Distribution profile: 允许你签名你的 App 到 AppStore 去发布。
Ad Hoc Distribution profile: 允许你去签名你的 App 去分发给内部指定人员去测试你的 App。