0

私はiOS機能にアクセスするためのネイティブインタフェースを実装しています。ネイティブiOSネイティブモジュールに未対応ですか?

//SPRNUtilities.h at /ios/project_name 
#import <React/RCTBridgeModule.h> 
@interface SPRNUtilities : NSObject <RCTBridgeModule> 
@end 

//SPRNUtilities.m 
#import "SPRNUtilities.h" 
@implementation SPRNUtilities 
RCT_EXPORT_MODULE(); 
RCT_EXPORT_METHOD(pushNotificationEnabled:(RCTResponseSenderBlock)callback) 
{ 
    id object = nil; 
    if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]){ 
    object = @(YES); 
    }else{ 
    object = [NSNull null]; 
    } 
    callback(@[object]); 
} 

私はJSコードでそれにアクセスする、

import { Platform, StyleSheet, NativeModules} from 'react-native'; 
export default class SPReactNativeUtils{ 
    static pushNotificationEnabled(callback){ 
     if (Platform.OS === 'ios'){ 
      const SPNativeiOS = NativeModules.SPRNUtilities; 
      SPNativeiOS.pushNotificationEnabled((enabled) => { 
       callback(enabled); 
      }); 
     }else{ 
      callback(false); 
     } 
    } 
} 

しかし、メッセージ失敗しました:

enter image description here

を、私はこの問題を持って、なぜ誰かが私を助けてもらえますか? ありがとうございました!

答えて

0

上記提供された情報によると、以下のオプションを使用してデバッグしてみてください:SPReactNativeUtils.jsラインなしで

  1. 。このように、ほとんどのでしょう、あなたがそのオプション3
  2. に行っていない場合はより広範な絵の値をネイティブコードでのNSLogを入れて - 4 SPNativeiOSが定義されている場合、コールバックが
  3. チェックを定義されているかどうかを確認するためにコンソールログを置きます。コールバックb。値が
  4. yarn run iosを実行することを確認しますオブジェクトに割り当てられて取得された場合に様々な段階で、最後のチェックで、オブジェクト(あなたはネイティブコードを変更するたびに新しいビルドを作成する)

・ホープ、このことができます。そうでない場合は上記のオプションに出力を提供して、より多くのデバッグを手助けしてください:)

+0

1.私はログを「未定義」にしようとしました。 2.それがエラーを印刷する理由です。 3. xcodeモジュールが呼び出されたことはありません。 4.私はまた、 "npm start"、 "react-native run-ios"も試しました。しかしまだ動作していません –

+0

静的なpushNotificationEnabled(コールバック){'どこから呼び出されているのですか?関数に有効なコールバックが渡されていることを確認してください。 –

関連する問題