React-native-onesignal: File OneSignal/OneSignal.h tidak ditemukan

Dibuat pada 7 Jan 2017  ·  40Komentar  ·  Sumber: OneSignal/react-native-onesignal

Hai - masalah sebelumnya untuk ini sudah ditutup, jadi saya memulai yang baru.

Saya menggunakan RN 0.39, dan saya melakukan 'react-native-link' serta mengikuti setiap instruksi dari README, tetapi kami tidak menggunakan Pod, jadi saya tidak memiliki Podfile untuk diperbarui. Bagaimana saya melakukan ini tanpa Podfiles?

Masih mendapatkan kesalahan di atas.

Komentar yang paling membantu

@eriksape Saya tidak yakin apa yang Anda tanyakan, saya tidak meletakkan kerangka kerja di mana pun. Saya menjalankan "instalasi benang" dan kerangka kerja muncul di bawah modul simpul.

Setelah menginstal v2.0.0, saya masuk ke node_modules/react-native-onesignal dan mencari sendiri:

$ find . | grep OneSignal.h
./ios/Frameworks/OneSignal.framework/Versions/A/Headers/OneSignal.h
./ios/Frameworks/OneSignal.framework/Versions/B/Headers/OneSignal.h
./ios/RCTOneSignal/RCTOneSignal.h

Benar-benar tidak ada tempat di mana "OneSignal/OneSignal.h" ada. File "OneSignal.h" ada, tetapi tidak di bawah folder bernama "OneSignal". Jika kami dapat memperbaiki jalur ini dan melewati kesalahan pembuatan ini, masalah saya akan terpecahkan.

Semua 40 komentar

Adakah yang punya saran tanpa Podfiles?

menambahkan jalur pencarian kerangka kerja dengan nilai

$(SRCROOT)/../node_modules/react-native-onesignal

dan menambahkan OneSignal.framework yang termasuk dalam paket ini ke proyek di xcode

Saya juga mencari cara untuk menginstalnya tanpa Pod... adakah dokumen untuk itu?

@gplopes coba apa yang saya komentari sebelumnya, saya melakukannya dan saya tidak menggunakan pod 👍

@eriksape terima kasih telah menjawab, saya menambahkan jalur seperti yang Anda sebutkan tetapi saya masih mendapatkan
File #import <OneSignal/OneSignal.h> tidak ditemukan.
saya menggunakan

"react-asli": "0.36.1",
"react-native-onesignal": "2.0.0",

@gplopes dan menambahkan OneSignal.framework ke proyek?

jika Anda melakukannya dengan baik, Anda akan melihat lib yang ditautkan

image

@eriksape , ya, ini adalah screenshot dari xcode.

screen shot 2017-01-16 at 2 54 17 pm

screen shot 2017-01-16 at 2 53 26 pm

Saya menguji dengan react-native 0.39 tetapi dengan "react-native-onesignal": "^1.2.3"

seperti yang saya lihat 1.2.3 berfungsi dengan baik dengan reaksi asli 0.36

@gplopes Saya menambahkan saran Anda ke dokumen, itu akan menyelesaikan masalah.
Bagaimanapun, saya menyarankan kalian semua untuk meningkatkan ke 3.0.0 .

Terima kasih!

Tentu saja, jika Anda menggunakan RN hingga 0,39, gunakan v2.

@gplopes Apakah Anda pernah membuatnya berfungsi? Saya mengalami masalah yang sama, dengan RN=0.39, v2.0.0 dari lib ini, dan saya telah mengikuti semua saran tentang "Kerangka dan Perpustakaan Tertaut" dan jalur pencarian.

Bisakah Anda memberikan repo yang bisa saya uji?

Saya mencoba mereproduksi ini dalam repo minimal dan mengalami kesalahan lain (#139). Mungkin Anda dapat membuat garpu https://github.com/GeoffreyPlitt/react_native_minimal dan menunjukkan kepada kami versi yang berfungsi? Jika tidak, saya akan mereproduksi ini setelah saya melewati kesalahan lainnya.

Catatan: Tidak ada cocoapod.

Seperti yang saya katakan sebelumnya, tanpa cocoapods dengan v1.2.3 berfungsi dengan baik.
Saya tidak tahu mengapa perlu cocoapods

Saya akan menggunakan v3 setelah dependensi dalam proyek saya dapat menggunakan react-native 0.40

Saya memotong cabang baru dari proyek minimal itu dan beralih ke 1.2.3 dari perpustakaan ini: https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal_123

Saya masih mendapatkan kesalahan berikut, apakah Anda mendapatkan kesalahan yang sama atau apakah itu berjalan dengan baik untuk Anda?

In file included from /Users/giro/react_native_minimal/ios/react_native_minimal/AppDelegate.m:10:
In file included from /Users/giro/react_native_minimal/ios/react_native_minimal/AppDelegate.h:11:
../node_modules/react-native-onesignal/ios/RCTOneSignal/RCTOneSignal.h:3:9: fatal error: 'OneSignal/OneSignal.h' file not found
#import <OneSignal/OneSignal.h>
        ^

screen shot 2017-01-18 at 22 25 45
screen shot 2017-01-18 at 22 25 36

Baik-baik saja dengan semua proyek, tidak ada kesalahan, saya akan mengunggah contohnya

@eriksape bisakah Anda membuat PR untuk memperbarui dokumen untuk menggunakan perpustakaan tanpa CocoaPods? Saya akan menghargainya.

@avishayil Ok saya akan mengirimkan PR hari ini atau besok, versi OneSignal untuk ios yang mana yang Anda gunakan? sepertinya OneSignal.framework memiliki file yang hilang, saya menguji dengan 3.0.0 barusan.

Ya, saya perhatikan OneSignal.framework tidak memiliki file header, yang mungkin menjadi akar penyebab masalah ini

Pembaruan: @eriksape Cukup baik untuk melakukan fork, memperbaiki, dan mengirimi saya PR, dan cabang ini sekarang berfungsi dengan 1.2.3:

https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal_123

Namun, ketika saya mulai menggunakan perbaikan ini, saya perhatikan bahwa tidak ada pemberitahuan saya yang berhasil, dengan pelaporan server:

Error: {"invalid_player_ids":["2ebaf054-acce-4ed6-b927-86fffd9d9c30"]}

Dan ID itu persis sama dengan yang disediakan perpustakaan ini untuk saya.

Saya meminta dukungan OneSignal tentang kesalahan ini, dan mereka berkata:
This means that the device with this ID is not subscribed to notifications, either because it opted-out of notifications or has uninstalled your app.

Tak satu pun dari hal-hal ini yang benar untuk saya, jadi menggali lebih jauh, dukungan mereka mengatakan:

I see you are using a very old version of our SDK. Please update to our latest 2.X SDK to fix the subscription issue. https://documentation.onesignal.com/docs/upgrading-to-ios-sdk-20

Artinya: menggunakan v1.2.3 memungkinkan saya untuk membangun di iOS, tetapi masih tidak memungkinkan pemberitahuan untuk bekerja. Jadi saya tidak sabar menunggu perbaikan build v2.0.0 (dengan file header yang hilang) untuk melanjutkan.

=====> Dapatkah seseorang membuka kembali masalah ini? Karena kita punya lebih banyak pekerjaan yang harus dilakukan? Atau haruskah saya membuat yang baru?

di JS Android/ios Anda, Anda perlu membuat konfigurasi untuk onesignal

sesuatu seperti itu ada di dokumen repo ini

@eriksape Saya sudah berhasil melakukan Onesignal.configure(), dan mengirimkan saya userId yang tampaknya benar.

tetapi di https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal_123 saya tidak dapat melihat Anda melakukan konfigurasi. Juga seperti yang saya tahu ketika ID tidak valid, Anda perlu membuat ID baru.

Oh ya, maaf membuat Anda bingung-- Saya baru saja menggunakan repo itu untuk memperbaiki masalah build, saya punya proyek (pribadi) lain di mana saya benar-benar menggunakan hal ini.

Ketika ID tidak valid, bagaimana Anda membuat ID baru? Harap diingat, saya tidak menyimpan ID ini di suatu tempat, saya tidak menggunakan yang lama. Saya menggunakan yang dihasilkan pada pemuatan aplikasi terbaru, ketika saya memanggil configure().

Jika perlu, saya akan menambahkan langkah konfigurasi ke repo itu untuk menunjukkan kepada Anda

hai @GeoffreyPlitt , saya melompat kembali ke sini tetapi saya melihat percakapan sudah di tingkat berikutnya. Sayangnya saya tidak punya waktu untuk mencoba lagi. Saya harap kalian bisa mengetahui hal ini.

@GeoffreyPlitt Anda benar tentang 1.2.3 itu tidak mendaftarkan token Push ke satu sinyal, akan lebih baik coba dengan 2.0.0 lib ini dengan OneSingnal.framework dari versi ini https://github.com/ OneSignal/OneSignal-iOS-SDK/arsip/2.3.5.zip

Saya harap itu berhasil

Ya guys langkah yang sama dengan versi 2.0.0
screen shot 2017-01-20 at 9 42 43 am

Maaf saya menguji 1.2.3 pada simulator ketika saya menyadari apa yang @GeoffreyPlitt sebutkan bahwa itu hanya mengkompilasi OK, gunakan 2.0.0 sebagai gantinya

Apa masalahnya di sini? atau itu banyak masalah bersama dalam percakapan? Bagaimanapun, inilah solusi saya untuk judul masalah ini:
https://github.com/geektimecoil/react-native-onesignal/issues/152#issuecomment -274124225

Saya telah membuat masalah baru, #153, ​​yang menangkap pekerjaan yang tersisa untuk memperbaikinya.

@avishayil terima kasih atas solusinya, tetapi saya khawatir ini akan membuat peningkatan lebih sulit bagi saya di masa depan, saya berharap kami benar-benar dapat memperbaikinya dengan benar sehingga semuanya bekerja di luar kotak.

@GeoffreyPlitt di mana Anda meletakkan OneSignal.framework? perhatikan bahwa dengan $(SRCROOT)/../node_modules/react-native-onesignal itu harus berada di dalam rute react-native-onesignal

@avishayil masalah dengan 2.0.0 sama diselesaikan dalam permintaan tarik dengan 3.0.0

@eriksape Saya tidak yakin apa yang Anda tanyakan, saya tidak meletakkan kerangka kerja di mana pun. Saya menjalankan "instalasi benang" dan kerangka kerja muncul di bawah modul simpul.

Setelah menginstal v2.0.0, saya masuk ke node_modules/react-native-onesignal dan mencari sendiri:

$ find . | grep OneSignal.h
./ios/Frameworks/OneSignal.framework/Versions/A/Headers/OneSignal.h
./ios/Frameworks/OneSignal.framework/Versions/B/Headers/OneSignal.h
./ios/RCTOneSignal/RCTOneSignal.h

Benar-benar tidak ada tempat di mana "OneSignal/OneSignal.h" ada. File "OneSignal.h" ada, tetapi tidak di bawah folder bernama "OneSignal". Jika kami dapat memperbaiki jalur ini dan melewati kesalahan pembuatan ini, masalah saya akan terpecahkan.

yang OneSignal.framework adalah sama yang ada di sini?

https://github.com/OneSignal/OneSignal-iOS-SDK/archive/2.3.5.zip

@eriksape Saya tidak tahu?

Inilah repo publik dan minimal yang mereproduksi kesalahan build: https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal

Apakah ada badan yang bisa mengatasi masalah ini? mengalami masalah yang sama. Bereaksi 0.40.0 + OneSignal 3.0

Oke, saya memecahkan masalah saya, ini adalah perbaikan sementara. Ada beberapa symlink di OneSignal.framework .
onesignal

Ketika kita menjalankan npm install direktori tersebut hilang. Mengunduhnya dari proyek dan menambahkannya secara manual akan memperbaiki masalah . Ini tidak ideal, Semoga ini menghemat jam kerja orang.

Terima kasih. Itu tidak terlalu membantu kami karena build kami melalui sistem CI dan kami memiliki skrip yang melakukan check-out baru. Bersemangat untuk memperbaiki ini!

Hei @haxtrujillo bolehkah saya meminta Anda untuk mengklarifikasi sedikit? Maksud saya, dari mana Anda mengunduh symlink itu? Tautan pertama yang Anda berikan ke OneSignal.framework tidak menunjukkannya.
Kedua, Anda menunjukkan tangkapan layar tetapi saya tidak yakin, apakah itu folder ./node_modules/react-native-onesignal ?

@kelset ,

Saya membuka masalah baru , Ini memiliki lebih banyak informasi dan bagaimana menyelesaikannya dengan penuh semangat.

File header ada di direktori versi, Anda harus menguji versi apa yang berfungsi untuk proyek Anda.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat