我使用的是本机版本0.57.7
。 如何使用命令行从.ipa
创建 react-native app
文件。
我遵循了一些有关如何从本机应用程序创建.ipa
文件的堆栈溢出答案(as an example),以便可以将其安装在Iphone中并进行测试。
我找到的答案太旧或与我的本机应用程序版本0.57.7
没有相同的目录结构。
能否请您告诉我如何生成.ipa
版react-native
的{{1}}文件,以便在iphone上对其进行测试。
答案 0 :(得分:1)
如果您已对供应配置文件进行了排序,那么它很简单。尽管要能够在不将其插入计算机的情况下在设备上进行测试,您将需要一个ad-hoc
或enterprise
设置配置文件。
因此,您将需要配置概要文件和希望安装在计算机上的distribution certificate。
基本上,您需要运行两个命令来创建ipa。
文件夹结构
在我的应用程序的根目录中,我有以下文件夹
因此,在应用程序的根目录中打开一个终端,我们可以开始:
创建档案文件
现在,无论您是否使用椰壳粉,都有细微的差别。您可以在这两个不同的命令中看到不同之处,特别是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>
因此,有一些关键点:
设置方法以匹配您的配置文件的用途。如果它是临时配置文件,则临时文件应该去那里。选项包括应用商店,临时,企业或开发。
将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。
尽管不再更新,但他们会详细介绍所有功能,并且查看正式文档是一个不错的起点。
答案 1 :(得分:0)
安德鲁(Andrew)的答案是正确的,但是如果您要进行大量部署,我强烈建议您使用Fastlane。一旦学习了Fastlane,就可以从ios部署过程中摆脱很多麻烦。我为此做了youtube video,讨论了手动过程以及fastlane如何使它自动完成每个步骤。
我希望这会有所帮助!