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
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.
OneSignalNotificationServiceExtension
wurde erfolgreich erstellt.OneSignalNotificationServiceExtension
mit standardmäßigem Inhalt hinzugefügt (ohne Onesignal-Importe)target 'OneSignalNotificationServiceExtension' do
pod 'OneSignal', '>= 2.9.3', '< 3.0'
end
und startete pod install
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.
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:
Das ist richtig:
Dieses Snippet muss ein eigenes Ziel auf oberster Ebene und kein Unterziel Ihrer App sein.
Nach der Korrektur einfach
pod install
erneut ausführen.