React-native-onesignal: OneSignalNotificationServiceExtension menyebabkan masalah pembuatan aplikasi bersama

Dibuat pada 10 Sep 2019  ·  12Komentar  ·  Sumber: OneSignal/react-native-onesignal

Keterangan:
Menambahkan target OneSignalNotificationServiceExtension menyebabkan aplikasi saya tidak dapat membangun, karena tidak dapat menggunakan hal-hal tertentu dalam ekstensi aplikasi... dalam hal ini, kesalahannya secara khusus tentang sharedApplication (sebenarnya muncul sebagai masalah di RCTRedBox.m) . Aplikasi ini dibangun dengan baik, bahkan dengan react-native-onesignal, hingga saya menambahkan ekstensi.

Lingkungan
reaksi-asli-onesignal: 3.3.3
reaksi-asli: 0.59.9

SDK ditambahkan melalui benang, lalu tautan reaksi-asli-reaksi-asli-onesignal

Langkah-langkah untuk Mereproduksi Masalah:

Saya belum punya waktu untuk mencoba mereproduksi di aplikasi selain milik saya... Di aplikasi saya (jadi mungkin yang lain?):

Instal SDK melalui benang
paket tautan
pemasangan pod
Tambahkan ekstensi mengikuti instruksi dari https://documentation.onesignal.com/docs/react-native-sdk-setup#section -usage
Mencoba untuk membangun

Ada yang lain:

Semua ada di deskripsi

Need More Information

Komentar yang paling membantu

Mengalami masalah yang sama persis ini dan seperti yang dilakukan

Masalah ini muncul saat Anda menambahkan target Layanan di dalam target aplikasi Anda.

Ini salah:

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

Ini benar:

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

Cuplikan ini harus menjadi target level teratasnya sendiri dan bukan sub-target aplikasi Anda.

Setelah dikoreksi jalankan pod install lagi.

Semua 12 komentar

Bisakah Anda memasukkan kesalahan lengkap? Atau tangkapan layar?

Pembaruan: kami telah merilis versi 3.4.0 yang seharusnya memperbaiki masalah ini. Jika tidak, silakan komentar dan saya akan membuka kembali. Bersulang

Hai, @rgomezp . Saya memiliki kesalahan ini dengan 3.4.1 saat ini.

node_modules/react-native/React/DevSupport/RCTDevLoadingView.m:77:42: 'sharedApplication' tidak tersedia: tidak tersedia di iOS (Ekstensi Aplikasi) - Gunakan solusi berbasis pengontrol tampilan jika sesuai.

Tidak yakin apakah ini berlaku untuk perpustakaan Anda, tetapi saya akan memberi tahu Anda

Jadi.

  1. Proyek tanpa OneSignalNotificationServiceExtension berhasil dibangun.
  2. Menambahkan OneSignalNotificationServiceExtension dengan konten secara default (tanpa impor Onesignal)
  3. Menambahkan Onesignal ke podfile:
target 'OneSignalNotificationServiceExtension' do
  pod 'OneSignal', '>= 2.9.3', '< 3.0'
end

dan meluncurkan pod install

  1. Kemudian mencoba membangun proyek dan kami akan menerima:

node_modules/react-native/React/DevSupport/RCTDevLoadingView.m:77:42: 'sharedApplication' tidak tersedia: tidak tersedia di iOS (Ekstensi Aplikasi) - Gunakan solusi berbasis pengontrol tampilan jika sesuai.

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 ,
Lihatlah stack overflow ini yang dapat membantu. Jika salah satu solusi yang diusulkan berhasil untuk Anda, silakan beri komentar di sini sehingga kami dapat menutup tiket dan membantu siapa pun yang mungkin mengalami masalah:
https://stackoverflow.com/questions/34225213/uiapplication-sharedapplication-not-available
atau
https://stackoverflow.com/questions/32031071/error-sharedapplication-is-unavailable-not-available-on-ios-app-extension

Terima kasih, @rgomezp. Saya menemukan bahwa podfile saya salah. Saya memindahkan target "OneSignalNotificationServiceExtension" di bagian yang salah kemarin. Semua bekerja dengan baik. Terima kasih dan maaf. Saya bisa menutup masalah ini

@indapublic ,
Bisakah Anda menunjukkan bagaimana podfile Anda terlihat saat tidak berfungsi? Ini akan membantu orang di masa depan jika mereka melakukan kesalahan yang sama

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

Belum memiliki banyak pengalaman dengan cocoapods, ekstensi pemikiran bergantung pada aplikasi

Mengalami masalah yang sama persis ini dan seperti yang dilakukan

Masalah ini muncul saat Anda menambahkan target Layanan di dalam target aplikasi Anda.

Ini salah:

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

Ini benar:

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

Cuplikan ini harus menjadi target level teratasnya sendiri dan bukan sub-target aplikasi Anda.

Setelah dikoreksi jalankan pod install lagi.

Terima kasih, ini memperbaikinya untuk saya juga. Saya mendapat kesan bahwa jawaban lain menyarankan sebaliknya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat