如果您对配置文件进行了排序,那么它就相当简单了。虽然要能够在设备上对其进行测试而不将其插入计算机,但您需要 ad-hoc 或 enterprise 配置文件。
因此,您将需要配置文件和您希望在您的机器上安装的distribution certificate。
基本上,您需要运行两个命令来创建 ipa。
- 创建存档。
- 签署档案。 (这将从存档中创建 ipa)
文件夹结构
在我的应用程序的根目录中,我有以下文件夹
- 机器人
- 应用程序
- ios
- node_modules
所以在应用的根目录下打开一个终端,我们就可以开始了:
创建存档
现在,无论您是否使用 cocoapods,都会有细微的差别。您可以在这里看到两个不同命令的区别,特别是 project 被 workspace 替换,xcodeproj 被 xcworkspace 替换。
选择与您的设置最匹配的那个。结果将是应用程序根目录中名为 myawesomeapp.xcarchive 的文件。
没有 Cocoapods/项目
xcodebuild "-project" "ios/myawesomeapp.xcodeproj" "-scheme" "myawesomeapp" "-configuration" "Release" "DEVELOPMENT_TEAM=YOUR_TEAM_ID" "PROVISIONING_PROFILE_SPECIFIER=YOUR_TEAM_ID/myawesomeapp_profile_name" "archive" "-archivePath" "myawesomeapp.xcarchive"
Cocoapods/工作区
xcodebuild "-workspace" "ios/myawesomeapp.xcworkspace" "-scheme" "myawesomeapp" "-configuration" "Release" "DEVELOPMENT_TEAM=YOUR_TEAM_ID" "PROVISIONING_PROFILE_SPECIFIER=YOUR_TEAM_ID/myawesomeapp_profile_name" "archive" "-archivePath" "myawesomeapp.xcarchive"
我喜欢指定DEVELOPMENT_TEAM 和PROVISIONING_PROFILE_SPECIFIER,以便为应用使用正确的配置文件。
我选择Release的配置选项,因为我个人使用分发配置文件,这样我就可以将构建的ipa传递给测试团队。
如果您没有对设置进行任何花哨的设置,那么您可能只需将单词 myaewsomeapp 替换为您的应用程序的名称,并将 myawesomeapp_profile_name 替换为您的配置文件的名称。
签署存档
您必须对存档进行签名才能使其成为 ipa。为此,您需要export_options.plist。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>compileBitcode</key>
<false/>
<key>method</key>
<string>ad-hoc</string>
<key>provisioningProfiles</key>
<dict>
<key>com.myawesomeapp</key>
<string>myawesomeapp_profile_name</string>
</dict>
<key>signingCertificate</key>
<string>iPhone Distribution: NAME_OF_YOUR_SIGNING_CERTIFICATE (YOUR_TEAM_ID)</string>
<key>teamID</key>
<string>YOUR_TEAM_ID</string>
</dict>
</plist>
所以这里有几个关键点:
设置方法以匹配您的配置文件的用途。如果它是一个 ad-hoc 配置文件,那么 ad-hoc 应该去那里。选项是应用商店、临时、企业或开发。
将com.myawesomeapp 更改为应用程序的包标识符。将 my_awesomeapp_profile_name 更改为您的配置文件的名称。添加您正在使用的签名证书的名称。最后加上YOUR_TEAM_ID
一旦您创建了 export_options.plist 并将其保存在应用程序的根目录中,您就可以在终端中运行下一个命令:
xcodebuild "-exportArchive" "-archivePath" "myawesomeapp.xcarchive" "-exportPath" "./" "-exportOptionsPlist" "export_options.plist"
这将为您签署 ipa 并生成一些其他文件,您可能更喜欢写入应用程序目录中的子目录而不是根目录。
拥有 ipa 后,您可以使用 Xcode 将其安装到 iPhone 上。
与所有内容一样,您的设置可能与我的不同。话虽如此,这是我在本地使用的方法,也是我在 CI 上使用的方法。它对我们有用,希望它能帮助您创建您的 ipa。
更多关于建筑的信息可以在https://developer.apple.com/library/archive/technotes/tn2339/_index.html找到。
虽然不再更新,但他们会更详细地了解所有内容,查看官方文档是一个不错的起点。