React-native-onesignal: OneSignal /OneSignal.hファイルが見つかりません

作成日 2017年01月07日  ·  40コメント  ·  ソース: OneSignal/react-native-onesignal

こんにちは-これに関する前の号は閉じられたので、私は新しいものを始めています。

私はRN0.39を使用しており、「react-native-link」を実行し、READMEからのすべての指示に従いましたが、ポッドを使用していないため、更新するポッドファイルがありません。 Podfilesなしでこれを行うにはどうすればよいですか?

それでも上記のエラーが発生します。

最も参考になるコメント

@eriksape何を求めているのか

v2.0.0をインストールした後、node_modules / react-native-onesignalに移動し、自分自身を探します。

$ 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

「OneSignal / OneSignal.h」が存在する場所は実際にはありません。 ファイル「OneSignal.h」は存在しますが、「OneSignal」というフォルダーの下にはありません。 このパスを修正してこのビルドエラーを乗り越えることができれば、私の問題は解決されます。

全てのコメント40件

Podfilesなしで提案がある人はいますか?

値を使用してフレームワーク検索パスを追加する

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

このパッケージに含まれているOneSignal.frameworkをxcodeのプロジェクトに追加します

ポッドなしでインストールする方法も探しています...ドキュメントはありますか?

@gplopesは私が以前にコメントしたことを試します、私はそれをしました、そして私はポッドを使用しません👍

@eriksape回答ありがとうございます、あなたが言ったように私はパスを追加しましたが、私はまだ得ています
#import <OneSignal/OneSignal.h>ファイルが見つかりません。
使っています

"react-native": "0.36.1"、
"react-native-onesignal": "2.0.0"、

@gplopesとOneSignal.frameworkをプロジェクトに追加しましたか?

あなたがそれをうまくやったらあなたはリンクされたlibを見るでしょう

image

@eriksape 、はい、ここにxcodeのスクリーンショットがあります。

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

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

私はreact-native0.39でテストしましたが、「react-native-onesignal」でテストしました:「^ 1.2.3」

私が見るように、1.2.3はreact-native0.36でうまく機能します

@gplopes私はあなたの提案をドキュメントに追加しました、それは問題を解決するはずです。
いずれにせよ、皆さんには3.0.0にアップグレードすることをお勧めします。

ありがとう!

もちろん、0.39までのRNを使用している場合は、v2を使用してください。

@gplopes動作させたことがありますか? このライブラリのRN = 0.39、v2.0.0で同じ問題が発生しており、「リンクされたフレームワークとライブラリ」と検索パスに関するすべての提案に従いました。

テストできるリポジトリを提供していただけますか?

これを最小限のリポジトリで再現しようとしましたが、別のエラーが発生しました(#139)。 https://github.com/GeoffreyPlitt/react_native_minimalのフォークを作成して、機能するバージョンを表示できるかもしれません。 そうでない場合は、他のエラーを乗り越えたら、これを再現します。

注:ココアポッドはありません。

前に言ったように、v1.2.3のココアポッドがなくても問題なく動作します。
なぜココアポッドが必要なのかわかりません

プロジェクトの依存関係でreact-native0.40を使用できるようになったら、v3を使用します

その最小限のプロジェクトの新しいブランチを切り取り、このライブラリの1.2.3に切り替えました: https

それでも次のエラーが発生しますが、同じエラーが発生しますか、それとも正常に動作しますか?

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

すべてのプロジェクトで問題なく、エラーはありません。例をアップロードします

@eriksape CocoaPodsなしでライブラリを使用するようにドキュメントを更新するためのPRを作成できますか? よろしくお願いします。

@avishayilわかりました、今日または明日PRを送信します。iOS用のOneSignalのどのバージョンを使用していますか? OneSignal.frameworkにファイルがないようです。今、3.0.0でテストしました。

ええ、OneSignal.frameworkにヘッダーファイルがないことに気づきました。これがこの問題の根本的な原因である可能性があります

更新: @eriksapeは、PRをフォーク、修正、送信するのに十分でした。このブランチは1.2.3で動作するようになりました。

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

ただし、この修正を使用し始めたとき、通知が送信されておらず、サーバーが次のように報告していることに気付きました。

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

そして、そのIDは、このライブラリが私に提供するものとまったく同じです。

私はOneSignalサポートにこのエラーについて尋ねました、そして彼らは言いました:
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.

これらのことはどちらも私にとって正しくないので、さらに掘り下げて、彼らのサポートは言った:

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

つまり、v1.2.3を使用すると、iOSで

=====>誰かがこの問題を再度開くことはできますか? やるべきことがもっとあるので? または、新しいものを作成する必要がありますか?

android / ios JSでは、onesignalの構成を作成する必要があります

そのようなものはこのリポジトリのドキュメントにあります

@eriksape私はすでにOnesignal.configure()を正常に実行しており、正しいように見えるuserIdを送信しています。

しかし、 https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal_123では、構成を行っていることがわかりません。 また、IDが無効な場合は、新しいIDを生成する必要があります。

はい、混乱させて申し訳ありません。ビルドの問題を修正するためにそのリポジトリを使用していました。実際にこのようなものを使用している別の(プライベート)プロジェクトがあります。

IDが無効な場合、どのようにして新しいIDを生成しますか? このIDをどこかに保存しておらず、古いIDを使用していないことに注意してください。 configure()を呼び出したときに、最新のアプリのロード時に生成されたものを使用しています。

必要に応じて、そのリポジトリに構成ステップを追加して表示します

ねえ@GeoffreyPlitt 、私はここに戻っていますが、会話はすでに次のレベルにあることがわかります。 残念ながら、再試行する時間がありませんでした。 私はあなたたちがこれを理解できることを願っています。

@GeoffreyPlittあなたは正しいです1.2.3それは1つの信号へのトークンプッシュを登録しません、それはこのバージョンのOneSingnal.frameworkでこのライブラリの2.0.0で試してみる方が良いでしょうhttps://github.com/ OneSignal / OneSignal-iOS-SDK / archive / 2.3.5.zip

私はそれがうまくいくことを願っています

ええみんな2.0.0バージョンと同じ手順
screen shot 2017-01-20 at 9 42 43 am

申し訳ありませんが、 @ GeoffreyPlittがコンパイルはOKであると述べていることに気付いたときに、シミュレーターで1.2.3をテストしました。代わりに、2.0.0を使用してください。

ここでの問題は何ですか? それとも会話の中で一緒にたくさんの問題がありますか? とにかく、これがこの問題のタイトルに対する私の解決策です:
https://github.com/geektimecoil/react-native-onesignal/issues/152#issuecomment -274124225

これを修正するために残された作業をキャプチャする新しい問題#153を作成しました。

@avishayilはその回避策に感謝しますが、これにより将来のアップグレードが難しくなるのではないかと心配しています。実際にこれを適切に修正して、すべてが箱から出してすぐに機能するようにしたいと思っています。

@GeoffreyPlitt OneSignal.frameworkをどこに配置しましたか? $(SRCROOT)/../node_modules/react-native-onesignalでは、react-native-onesignalルート内にある必要があることに注意してください

@avishayil 2.0.0の問題は、3.0.0のプルリクエストで解決されたものと同じです。

@eriksape何を求めているのか

v2.0.0をインストールした後、node_modules / react-native-onesignalに移動し、自分自身を探します。

$ 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

「OneSignal / OneSignal.h」が存在する場所は実際にはありません。 ファイル「OneSignal.h」は存在しますが、「OneSignal」というフォルダーの下にはありません。 このパスを修正してこのビルドエラーを乗り越えることができれば、私の問題は解決されます。

OneSignal.frameworkはここにあるものと同じですか?

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

@eriksapeわからない?

ビルドエラーを再現する公開された最小限のリポジトリは次のとおりです: https

誰かがこの問題を解決することができましたか? 同じ問題が発生しています。 React 0.40.0 + OneSignal 3.0

わかりました。問題を解決しました。これは一時的な修正です。 中fewsのシンボリックリンクがありますOneSignal.frameworkは
onesignal

npm installを実行すると、これらのディレクトリが見つかりません。 それらをプロジェクトからダウンロードして手動で追加すると、問題が修正されます。 これは理想的ではありません。これにより人々の作業時間が節約されることを願っています。

ありがとう。 ビルドはCIシステムを経由し、フレッシュチェックアウトを実行するスクリプトがあるため、実際には役に立ちません。 これを修正することに興奮しています!

ねえ@haxtrujillo少し明確にするようにお願いできますか? つまり、これらのシンボリックリンクはどこからダウンロードしますか? OneSignal.frameworkに最初に与えるリンクには、それらは表示されません。
次に、スクリーンショットを表示しますが、 ./node_modules/react-native-onesignalフォルダーですか?

@kelset

私は新しい問題を開きました、それはより多くの情報とそれをいかに温和に解決するかを持っています。

ヘッダーファイルはversionsディレクトリにあり、プロジェクトでどのバージョンが機能するかをテストする必要があります。

このページは役に立ちましたか?
0 / 5 - 0 評価