我会尝试" How to generate .ipa file for react-native?"但是我不能得到.ipa文件。
你解释如何获得.ipa文件。
答案 0 :(得分:35)
如何为react-native-ios构建.ipa应用程序:
获取“.app”文件:
命令:react-native run-ios --configuration=release
“。app”文件路径:
Build/Products/Release/"<Your_Filename>.app"
将.app
转换为.ipa
:
一个。创建文件夹Payload。
湾将.app
文件粘贴到Payload文件夹中。
℃。压缩Payload文件夹。
d。更改所需的名称,并将扩展名设为.ipa
。
答案 1 :(得分:7)
您可以在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>
你也可以结帐fastlane。 https://fastlane.tools/
OR
您可以在Xcode和Product - &gt;中填写所有详细信息,例如DEVELOPMENT_TEAM等。档案 https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html
答案 2 :(得分:4)
从info.plist删除本地主机项
应用程序传输安全设置->例外域
捆绑iOS
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
在Xcode中
产品->方案->编辑方案->将构建配置更改为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>
创建文件夹有效载荷。
将.app
文件粘贴到Payload文件夹中。
压缩有效载荷文件夹。
更改所需的名称,并将扩展名设置为.ipa