問題タブ [react-native-ios]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1167 参照

ios - 反応ネイティブを 0.39.0 以降にアップグレードする際の重複シンボル エラー

iOS アプリを react-native 0.39 以上に更新しようとしています。すべてが 0.38.2 で動作しますが、その後ld: X duplicate symbols for architecture Y問題が発生しました。アプリ自体は、swift、obj-c、web 埋め込みなどの混合です...

ただし、swift と react-native で作成された共有拡張機能があります。

npm と pod のインストールは問題なく動作するようです。

いくつかの調査の後、問題の理由を見つけ、多くの解決策を試しましたが、それでも解決できませんでした:

[...|similar duplicate symbol _CSSNodeList{something}] duplicate symbol _CSSNodeListFree in: ~/Library/Developer/Xcode/DerivedData/....../Build/Products/Debug-iphonesimulator/React/libReact.a(CSSNodeList-10ACA1A52987016B.o) ~/Library/Developer/Xcode/DerivedData/....../Build/Products/Debug-iphonesimulator/React/libReact.a(CSSNodeList-5089F60B494D1C9C.o) duplicate symbol _CSSNodeListAdd in: ~/Library/Developer/Xcode/DerivedData/....../Build/Products/Debug-iphonesimulator/React/libReact.a(CSSNodeList-10ACA1A52987016B.o) ~/Library/Developer/Xcode/DerivedData/....../Build/Products/Debug-iphonesimulator/React/libReact.a(CSSNodeList-5089F60B494D1C9C.o) ld: 103 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

私が理解できることから、共有拡張機能のどこかに CSSNodeList (およびおそらく他の反応オブジェクト) への参照が少なくとも 2 つあります。しかし、linked frameworks and librariesorlink binary with librariesを見ると、1 つしか表示されず、libReact.a を削除して元に戻しても問題は解決しません。

プロジェクト、DerivedData、ポッド、node_modules (...) をクリーンアップしようとしましたが、これ以上成功しませんでした。

(参考までに、私は Xcode 8.2.1、Cocoapod 1.1.1、npm 4.0.5 を実行しています。)

助けてくれてありがとう、みんな。