2016-05-12 1 views
1

私はリンクを使用しています&ユーザーをログインするためのアプリのURLを処理するにはLinkingIOSを使用してください。アプリは正常に起動しますが、 、私は主題の誤りを得る。これは、0.14から0.25にアップグレードした後で、いくつかの新しいサードパーティ製モジュールを使用するためにアップグレードする必要が出てきました。LinkingIOS rctwebsocketmodule.connectは4つの引数で呼び出されましたが、2が必要です

私はreactフォルダの$ TMPDIRを消去し、watchman watch-del-allを実行し、ノードモジュールを再インストールし、xcodeでクリーンビルドを実行しました。これらのどれも問題を解決しませんでした。助言がありますか?リンクを処理するための私のコードは次のとおりです。

componentDidMount() { 
    this._listenToLogin(); // this listens to another flux store change 
    ProjectStore.addChangeListener(this._onProjectsChange); 
    Linking.getInitialURL().then((url) => { 
    if (url) { 
     this._processURL({url: url}); 
    } 

    Linking.addEventListener('url', this._processURL); 
    }); 

    NetInfo.isConnected.addEventListener('change', this._handleReachabilityChange); 
    NetInfo.isConnected.fetch().done(
    (isConnected) => { this.setState({isConnected}); } 
); 

    const token = LoginStore.getToken(); 
    if (!token) { 
    LoginActions.checkLogin(); 
    } 
} 

_processURL(e) { 
    const url = e.url.replace('deserttrail://', '').split('?'); 
    const params = url[1] ? qs.parse(url[1]) : null; 

    const loginToken = params.token; 
    if (loginToken) { 
    LoginActions.requestApiToken(loginToken); 
    } 
} 

答えて

0

この問題を解消しました。反応ネイティブCLIを使用してプロジェクトを更新したとき、URIスキームを設定するために必要なCFBundle値が取り除かれました。私はそれを元に戻しました、そしてそれ以上のエラーはありません!

+0

これについてもっと詳しく説明すると、アンドロイドplatforと同じ問題が発生する – KOTIOS

+0

アンドロイドでの設定に慣れていませんが、iOSの場合、Info.plistファイルを追加する必要があります。 https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.htmlに記載されています。以前はこれらを追加しましたが、反応ネイティブの更新コマンドを実行すると、それらは削除されました(ファイルが置き換えられました)。 – agmcleod

関連する問題