React-native-onesignal: OneSignalNotificationServiceExtension verursacht SharedApplication-Build-Probleme

Erstellt am 10. Sept. 2019  ·  12Kommentare  ·  Quelle: OneSignal/react-native-onesignal

Beschreibung:
Das Hinzufügen des Ziels OneSignalNotificationServiceExtension führt dazu, dass meine App nicht erstellt werden kann, da bestimmte Dinge in App-Erweiterungen nicht verwendet werden können ... in diesem Fall bezieht sich der Fehler speziell auf sharedApplication (er wird tatsächlich als Problem in RCTRedBox.m angezeigt). . Die App baut sich gut auf, auch mit React-Native-One-Signal, bis ich die Erweiterung hinzufüge.

Umfeld
reagieren-native-einssignal: 3.3.3
reaktionsfähig: 0.59.9

SDK über Garn hinzugefügt, dann Reak-Native-Link Reak-Native-One-Signal

Schritte zum Reproduzieren des Problems:

Ich hatte keine Zeit, um zu versuchen, in einer anderen als meiner App zu reproduzieren ... Auf meiner App (also vermutlich anderen?):

SDK über Garn installieren
Linkpaket
Pod installieren
Fügen Sie die Erweiterung gemäß den Anweisungen von https://documentation.onesignal.com/docs/react-native-sdk-setup#section -usage . hinzu
Versuch zu bauen

Noch etwas:

Alles in der Beschreibung

Need More Information

Hilfreichster Kommentar

Ich habe genau das gleiche Problem durchgemacht und wie

Dieses Problem tritt auf, wenn Sie das Ziel des Dienstes zum Ziel Ihrer App hinzufügen.

Das ist falsch:

target 'app' do
  rn_path = '../node_modules/react-native'
  ....
  target 'OneSignalNotificationServiceExtension' do
    pod 'OneSignal', '>= 2.9.3', '< 3.0'
  end
end

Das ist richtig:

target 'app' do
  rn_path = '../node_modules/react-native'
  ....
 end
 target 'OneSignalNotificationServiceExtension' do
    pod 'OneSignal', '>= 2.9.3', '< 3.0'
 end

Dieses Snippet muss ein eigenes Ziel auf oberster Ebene und kein Unterziel Ihrer App sein.

Nach der Korrektur einfach pod install erneut ausführen.

Alle 12 Kommentare

Könnten Sie bitte den vollständigen Fehler angeben? Oder ein Screenshot?

Update: Wir haben Version 3.4.0 veröffentlicht, die dieses Problem beheben sollte. Wenn nicht, bitte kommentieren und ich werde wieder öffnen. Danke schön

Hallo @rgomezp . Ich habe diesen Fehler mit 3.4.1 im Moment.

node_modules/react-native/React/DevSupport/RCTDevLoadingView.m:77:42: 'sharedApplication' ist nicht verfügbar: nicht verfügbar auf iOS (App-Erweiterung) - Verwenden Sie stattdessen gegebenenfalls View-Controller-basierte Lösungen.

Ich bin mir nicht sicher, ob dies auf Ihre Bibliothek zutrifft, aber ich werde Sie informieren

So.

  1. Projekt ohne OneSignalNotificationServiceExtension wurde erfolgreich erstellt.
  2. OneSignalNotificationServiceExtension mit standardmäßigem Inhalt hinzugefügt (ohne Onesignal-Importe)
  3. Onesignal zum Podfile hinzugefügt:
target 'OneSignalNotificationServiceExtension' do
  pod 'OneSignal', '>= 2.9.3', '< 3.0'
end

und startete pod install

  1. Dann versuchen, Projekt zu bauen und wir erhalten:

node_modules/react-native/React/DevSupport/RCTDevLoadingView.m:77:42: 'sharedApplication' ist nicht verfügbar: nicht verfügbar auf iOS (App-Erweiterung) - Verwenden Sie stattdessen gegebenenfalls View-Controller-basierte Lösungen.

System:
    OS: macOS 10.14.6
    CPU: (6) x64 Intel(R) Core(TM) i5-8500B CPU @ 3.00GHz
    Memory: 11.75 GB / 32.00 GB
    Shell: 5.3 - /bin/zsh
  Binaries:
    Node: 10.16.1 - ~/.nvm/versions/node/v10.16.1/bin/node
    Yarn: 1.17.3 - /usr/local/bin/yarn
    npm: 6.9.0 - ~/.nvm/versions/node/v10.16.1/bin/npm
  SDKs:
    iOS SDK:
      Platforms: iOS 13.0, DriverKit 19.0, macOS 10.15, tvOS 13.0, watchOS 6.0
    Android SDK:
      API Levels: 23, 25, 27, 28, 29
      Build Tools: 25.0.2, 25.0.3, 28.0.3, 29.0.1, 29.0.2
      System Images: android-28 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom
  IDEs:
    Android Studio: 3.5 AI-191.8026.42.35.5791312
    Xcode: 11.0/11A419c - /usr/bin/xcodebuild
  npmPackages:
    react: 16.8.6 => 16.8.6
    react-native: 0.60.5 => 0.60.5

@indapublic ,
Werfen Sie einen Blick auf diesen Stapelüberlauf, der hilfreich sein kann. Wenn eine der vorgeschlagenen Lösungen für Sie funktioniert, kommentieren Sie bitte hier, damit wir das Ticket schließen und allen anderen helfen können, die möglicherweise auf das Problem stoßen:
https://stackoverflow.com/questions/34225213/uiapplication-sharedapplication-not-available
oder
https://stackoverflow.com/questions/32031071/error-sharedapplication-is-unavailable-not-available-on-ios-app-extension

Danke, @rgomezp. Ich habe festgestellt, dass mein Podfile falsch war. Ich habe gestern das Ziel "OneSignalNotificationServiceExtension" in den falschen Abschnitt verschoben. Alles funktioniert gut. Danke und Entschuldigung. Ich kann dieses Thema schließen

@indapublic ,
Könnten Sie zeigen, wie Ihr Podfile aussah, wenn es nicht funktionierte? Das wird Menschen in Zukunft helfen, wenn sie den gleichen Fehler machen

target 'app' do
  target 'OneSignalNotificationServiceExtension' do
    pod 'OneSignal', '>= 2.9.3', '< 3.0'
  end
end

Habe noch nicht viel Erfahrung mit Kakaobohnen, dachte, Erweiterungen seien anwendungsabhängig

Ich habe genau das gleiche Problem durchgemacht und wie

Dieses Problem tritt auf, wenn Sie das Ziel des Dienstes zum Ziel Ihrer App hinzufügen.

Das ist falsch:

target 'app' do
  rn_path = '../node_modules/react-native'
  ....
  target 'OneSignalNotificationServiceExtension' do
    pod 'OneSignal', '>= 2.9.3', '< 3.0'
  end
end

Das ist richtig:

target 'app' do
  rn_path = '../node_modules/react-native'
  ....
 end
 target 'OneSignalNotificationServiceExtension' do
    pod 'OneSignal', '>= 2.9.3', '< 3.0'
 end

Dieses Snippet muss ein eigenes Ziel auf oberster Ebene und kein Unterziel Ihrer App sein.

Nach der Korrektur einfach pod install erneut ausführen.

Danke, das hat es bei mir auch behoben. Ich hatte den Eindruck, dass andere Antworten das Gegenteil suggerierten.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen