如何为 react-native-ios 构建 .ipa 应用程序?
How to build .ipa application for react-native-ios?
我会尝试“https://Whosebug。com/questions/41970435”但是我无法获取 .ipa 文件。
谁能解释一下如何获取 .ipa 文件?
您可以在 ios 目录中 运行 这些命令。
xcodebuild clean archive -scheme <Scheme> -configuration Release -archivePath ../builds/<App>.xcarchive DEVELOPMENT_TEAM=<DevTeam> PROVISIONING_PROFILE=<PROVISIONING_PROFILE> CODE_SIGN_IDENTITY=<CODE_SIGN_IDENTITY>
xcodebuild -exportArchive -archivePath ../builds/<App>.xcarchive -exportPath ../builds/ -exportOptionsPlist ./iosExportOptions.plist
和iosExportOptions.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>method</key>
<string>app-store</string>
<key>teamID</key>
<string>{TEAM_ID}</string>
</dict>
</plist>
重要的是要注意,如果您使用的是 cocoapods,那么您需要使用工作区而不是项目进行构建。将此标志添加到第一个命令将确保您以工作区 -workspace <AppName>.xcworkspace
.
为目标
您也可以查看 fastlane。 https://fastlane.tools/
或
您可以在 Xcode 和 Product -> Archive 中填写 DEVELOPMENT_TEAM 等所有详细信息
https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html
获取.app
文件:
react-native run-ios --configuration=release
.app
文件路径 Build/Products/Release/"<Your_Filename>.app"
.
将.app
转换为.ipa
:
- 创建文件夹
Payload
。
- 将
.app
文件粘贴到 Payload
文件夹中。
- 压缩
Payload
文件夹。
- 更改您想要的名称并将扩展名设为
.ipa
。
从 info.plist
中删除本地主机项目
应用程序传输安全设置 -> 异常域
捆绑包ios
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
在Xcode
Products->Scheme->Edit scheme -> Change build configuration to RELEASE
在 AppDelegate.m
替换
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
和
#ifdef DEBUG
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
更改设备 -> 通用 iOS 设备
产品 -> 清洁
产品 -> 版本
.app
文件位于
~/Library/Developer/Xcode/DerivedData/<app name>/Build/Products/Release-iphoneos/<appname>
创建文件夹 Payload。
将 .app
文件粘贴到 Payload 文件夹中。
压缩 Payload 文件夹。
更改您想要的名称并将扩展名设置为 .ipa
我会尝试“https://Whosebug。com/questions/41970435”但是我无法获取 .ipa 文件。
谁能解释一下如何获取 .ipa 文件?
您可以在 ios 目录中 运行 这些命令。
xcodebuild clean archive -scheme <Scheme> -configuration Release -archivePath ../builds/<App>.xcarchive DEVELOPMENT_TEAM=<DevTeam> PROVISIONING_PROFILE=<PROVISIONING_PROFILE> CODE_SIGN_IDENTITY=<CODE_SIGN_IDENTITY>
xcodebuild -exportArchive -archivePath ../builds/<App>.xcarchive -exportPath ../builds/ -exportOptionsPlist ./iosExportOptions.plist
和iosExportOptions.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>method</key>
<string>app-store</string>
<key>teamID</key>
<string>{TEAM_ID}</string>
</dict>
</plist>
重要的是要注意,如果您使用的是 cocoapods,那么您需要使用工作区而不是项目进行构建。将此标志添加到第一个命令将确保您以工作区 -workspace <AppName>.xcworkspace
.
您也可以查看 fastlane。 https://fastlane.tools/
或
您可以在 Xcode 和 Product -> Archive 中填写 DEVELOPMENT_TEAM 等所有详细信息 https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html
获取
.app
文件:react-native run-ios --configuration=release
.app
文件路径Build/Products/Release/"<Your_Filename>.app"
.将
.app
转换为.ipa
:- 创建文件夹
Payload
。 - 将
.app
文件粘贴到Payload
文件夹中。 - 压缩
Payload
文件夹。 - 更改您想要的名称并将扩展名设为
.ipa
。
- 创建文件夹
从 info.plist
中删除本地主机项目应用程序传输安全设置 -> 异常域
捆绑包ios
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
在Xcode
Products->Scheme->Edit scheme -> Change build configuration to
RELEASE
在
AppDelegate.m
替换
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
和
#ifdef DEBUG jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; #else jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; #endif
更改设备 -> 通用 iOS 设备
产品 -> 清洁
产品 -> 版本
.app
文件位于~/Library/Developer/Xcode/DerivedData/<app name>/Build/Products/Release-iphoneos/<appname>
创建文件夹 Payload。
将
.app
文件粘贴到 Payload 文件夹中。压缩 Payload 文件夹。
更改您想要的名称并将扩展名设置为
.ipa