如何为react-native-ios构建.ipa应用程序?

时间:2017-02-08 10:24:34

标签: react-native react-native-android react-native-ios

我会尝试" How to generate .ipa file for react-native?"但是我不能得到.ipa文件。

你解释如何获得.ipa文件。

3 个答案:

答案 0 :(得分:35)

如何为react-native-ios构建.ipa应用程序:

  1. 获取“.app”文件:

    命令:react-native run-ios --configuration=release

  2. “。app”文件路径:

    Build/Products/Release/"<Your_Filename>.app"

  3. .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