webentwicklung-frage-antwort-db.com.de

Wie baut man eine .ipa-Anwendung für React-native-ios auf?

Ich würde versuchen " Wie generiere ich eine .ipa-Datei für Reacti-native? " Aber ich kann keine .ipa-Datei bekommen.

In jeder Cloud erklären Sie, wie Sie eine .ipa-Datei erhalten.

18
Saravana Kumar

So erstellen Sie eine .ipa-Anwendung für React-native-ios:

  1. ".App" -Datei abrufen:

    Befehl: react-native run-ios --configuration=release

  2. Dateipfad ".app":

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

  3. Konvertieren Sie .app in .ipa:

    ein. Ordner Payload erstellen.

    b. Fügen Sie die .app-Datei in den Payload-Ordner ein.

    c. komprimieren Sie den Payload-Ordner.

    d. Ändern Sie den gewünschten Namen und setzen Sie die Erweiterung als .ipa.

27
Saravana Kumar

Sie können diese Befehle im Verzeichnis ios ausführen.

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 

und iosExportOptions.plist kann so etwas sein

<?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>

Sie können auch Fastlane auschecken. https://fastlane.tools/

OR

Sie können alle Details wie DEVELOPMENT_TEAM usw. in Xcode und Product -> Archive https://developer.Apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp.html eingeben

6
agent_hunt
  • Löschen Sie das localhost-Element aus der info.plist

    App-Transport-Sicherheitseinstellungen -> Ausnahmedomänen

  • Ios bündeln

    react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
    
  • In Xcode

    Produkte-> Schema-> Schema bearbeiten -> Build-Konfiguration in RELEASE ändern

  • Im AppDelegate.m

    Ersetzen

    jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
    

    mit

    #ifdef DEBUG
      jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
    #else
      jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
    #endif
    
  • Gerät wechseln -> Allgemeines iOS-Gerät

  • Produkt -> Reinigen

  • Produkt -> Build

  • .app Datei finden Sie unter

    ~/Library/Developer/Xcode/DerivedData/<app name>/Build/Products/Release-iphoneos/<appname>
    
  • Ordner Payload erstellen.

  • Einfügen .app Datei in den Payload Ordner.

  • Komprimieren Sie den Payload-Ordner.

  • Ändern Sie den gewünschten Namen und setzen Sie die Erweiterung als .ipa

5
aleena1995