如何确保我的静态库具有适用于 CocoaLibSpotify 的正确架构?
Posted
技术标签:
【中文标题】如何确保我的静态库具有适用于 CocoaLibSpotify 的正确架构?【英文标题】:How do I make sure my static library has the right architectures for CocoaLibSpotify? 【发布时间】:2014-12-16 21:59:06 【问题描述】:当我尝试使用 CocoaLibSpotify 构建项目时出现此错误。
ld: warning: directory not found for option '-FLibrary/libspotify-12.1.64-ios-universal'
ld: warning: ignoring file /Users/tgm/Library/Developer/Xcode/DerivedData/CocoaLibSpotify_iOS_Library-gtxluzeubophcpfplfiyijlecxzt/Build/Products/Debug-iphoneos/libCocoaLibSpotify.a, missing required architecture x86_64 in file /Users/tgm/Library/Developer/Xcode/DerivedData/CocoaLibSpotify_iOS_Library-gtxluzeubophcpfplfiyijlecxzt/Build/Products/Debug-iphoneos/libCocoaLibSpotify.a (2 slices)
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_SPSession", referenced from:
__TMaCSo9SPSession in DetailViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我使用lipo
来检查引用的静态库中的架构:
$ lipo -info /Users/tgm/Library/Developer/Xcode/DerivedData/CocoaLibSpotify_iOS_Library-gtxluzeubophcpfplfiyijlecxzt/Build/Products/Debug-iphoneos/libCocoaLibSpotify.a
Architectures in the fat file: /Users/tgm/Library/Developer/Xcode/DerivedData/CocoaLibSpotify_iOS_Library-gtxluzeubophcpfplfiyijlecxzt/Build/Products/Debug-iphoneos/libCocoaLibSpotify.a are: armv7 arm64
arm64
不是 x86_64
的正确标签吗?
我应该怎么做才能解决这个问题?
【问题讨论】:
【参考方案1】:CocoaLibSpotify 不支持 iOS 的 arm64
(64 位设备)或 x86_64
(64 位模拟器)。要使用 CocoaLibSpotify 构建应用,您只能定位 armv6
、armv7
或 armv7s
。
对于更现代的图书馆,我可以推荐新的Spotify iOS SDK 吗?
【讨论】:
您或您的同事是否维护了 sdk 每个版本(至少是最新版本)的功能列表?以上是关于如何确保我的静态库具有适用于 CocoaLibSpotify 的正确架构?的主要内容,如果未能解决你的问题,请参考以下文章
如何编写单元测试以确保我的基于日期/时间的代码适用于所有时区以及有/无 DST?
如何配置 GitHub Actions 以构建依赖于私有存储库的 Azure 静态 Web 应用程序?