【问题标题】:Undefined symbols for architecture x86_64 in iOS projectiOS项目中架构x86_64的未定义符号
【发布时间】:2019-02-07 22:38:34
【问题描述】:

我正在尝试在我的 iOS 项目中将 this Spotify SDK integration 用于 React Native。

我收到以下错误:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_SPTAudioStreamingController", referenced from:
      objc-class-ref in libRCTSpotify.a(RCTSpotify.o)
  "_OBJC_CLASS_$_SPTAuth", referenced from:
      objc-class-ref in libRCTSpotify.a(RCTSpotify.o)
  "_OBJC_CLASS_$_SPTDiskCache", referenced from:
      objc-class-ref in libRCTSpotify.a(RCTSpotify.o)
  "_OBJC_CLASS_$_SPTRequest", referenced from:
      objc-class-ref in libRCTSpotify.a(RCTSpotify.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Libraries 文件夹中RCTSpotify.xcodeproj 中有关体系结构的部分看起来与其他所有部分一样,我找不到有关 x86_64 的任何内容,并且此错误以前从未出现在项目中。

【问题讨论】:

    标签: ios xcode react-native spotify react-native-ios


    【解决方案1】:

    向上滚动并检查在此之前是否还有另一个错误,如下所示:

    warning: skipping file '[FOLDER_PATH]/node_modules/rn-spotify-sdk/ios/external/SpotifySDK' (unexpected file type 'folder' in Frameworks & Libraries build phase)

    如果是这样,您确实喜欢我并直接按照自述文件进行操作。您真正想要做的是从该文件夹中添加三个框架,而不仅仅是SpotifySDK 文件夹。

    它们是SpotifyMetadata.frameworkSpotifyAuthentication.frameworkSpotifyAudioPlayer.framework。如果您将这三个添加进去,那么它应该可以工作。它们在/node_modules/rn-spotify-sdk/ios/external/SpotifySDK/ 文件夹中。

    最终应该是这样的:

    【讨论】:

    【解决方案2】:

    也许您尝试使用的 SDK 是为真实设备而非模拟器构建的。请检查。

    【讨论】:

    • 文档建议它应该在模拟器中运行,有没有办法明确地检查这个?
    • 你可以先在真机上运行。
    猜你喜欢
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 2016-11-07
    • 2021-07-10
    • 2021-12-24
    • 1970-01-01
    • 2014-08-07
    相关资源
    最近更新 更多