如何解决 NSScanner 上的“架构 x86_64 的未定义符号”? react-native 中的 Swift pod

Posted

技术标签:

【中文标题】如何解决 NSScanner 上的“架构 x86_64 的未定义符号”? react-native 中的 Swift pod【英文标题】:How to solve "Undefined symbols for architecture x86_64" on NSScanner? Swift pod in react-native 【发布时间】:2021-03-15 17:48:34 【问题描述】:

我最近在 react-native 中创建了条带集成。 我将 Stripe ios sdk 从 Objective C 更新为最新的完整 swift sdk,但现在我在构建它时得到了这个,我真的不知道如何解决它。

我已经放了“虚拟” swift 文件,而不是与 swift 文件相关的错误,尽管有这个:

架构 x86_64 的未定义符号: “(Foundation 中的扩展):__C.NSScanner.scanUpToString(Swift.String) -> Swift.String?”,引用自: static Stripe.STPPhoneNumberValidator.formattedRedactedPhoneNumber(for: Swift.String, forCountryCode: Swift.String?) -> Swift.String in libStripe.a(STPPhoneNumberValidator.o) ld:未找到架构 x86_64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

XCode:12.2(最新)

条带化 IOS SDK:21.0.1(最新)

React-native:0.63.4(最新)

我已经尝试创建一个纯 swift 项目(非 react-native)来测试条带 sdk 并且它可以工作......

谢谢

【问题讨论】:

能否补充一下您的问题,您使用的 Stripe iOS SDK 版本,您使用的 Xcode 版本? @hmunoz 当然,完成 【参考方案1】:

找到了。

这是为了一个项目 -> https://github.com/Agaweb/react-native-stripe

解决办法: 去掉 swift-5.0 的搜索路径,不然会报未定义符号的错误(不信可以试试),这样做 -> https://github.com/react-native-community/upgrade-support/issues/62#issuecomment-622985723

【讨论】:

以上是关于如何解决 NSScanner 上的“架构 x86_64 的未定义符号”? react-native 中的 Swift pod的主要内容,如果未能解决你的问题,请参考以下文章

macOS 上的 libfuzzer 未找到架构 x86_64

Xcode 5.1:移除 x86_64 架构

Mac上的Qt说找不到架构x86_64的符号[重复]

MAC OS X 10.8 上的 gcc 4.8 抛出“架构 x86_64 的未定义符号:”

Xcode 错误 - 架构 x86_64 的未定义符号?

架构 x86_64 的重复符号