我正在开发一个音乐流iOS项目,并希望利用SoundCloud SDK。
我按照本指南发球: https://developers.soundcloud.com/docs/api/ios-quickstart
五个SoundCloud依赖项是:
- CocoaSoundCloudAPI
- OAuth2Client
- JSONKit
- OHAttributedLabel
- CocoaSoundCloudUI
醇>所有这五个项目都可以作为子模块使用,只需添加到当前的git存储库即可。根据上面链接的指南,您应该能够添加它们并继续您的项目。但是,他们的架构都各不相同! CocoaSOundCloudAPI,JSONKit,OHAttributedLabel和CocoaSoundCloudUI都是32位架构项目,而OAuth2Client是64位架构项目。
无论我将项目构建为32位还是64位,我都会遇到Mach-O链接器错误。我在我的主要Xcode项目中添加了32位和64位作为有效架构,但问题仍然存在。
我也无法找到这些子模块的其他版本。我不可能是唯一一个有这个问题的人,因为我一字一句地遵循指南,但我找不到任何解决方案。
请帮帮我!
我正在使用Xcode 6并构建iOS8 SDK。
谢谢!
编辑:
以下是我的架构和错误的屏幕截图......
答案 0 :(得分:4)
我强烈建议使用CocoaPods来管理这种依赖。我曾经将SoundCloud集成到一个没有使用CocoaPods的项目中,后面是一个痛苦。查看此链接并搜索CocoaPods以了解如何安装它:https://github.com/soundcloud/CocoaSoundCloudAPI
答案 1 :(得分:3)
这是帮助我的事情:
$(inherited)
答案 2 :(得分:2)
CocoaPods是我的选择。我的Podfile如下所示:
pod 'CocoaSoundCloudAPI', '1.0.1'
pod 'CocoaSoundCloudUI', '1.0.5'
pod 'JSONKit', :podspec => 'https://gist.github.com/marcdown/5282955/raw/2a52cfd92f112f2a52669420c82c1bb1efd15d2a/JSONKit.podspec'
截至本文发布时,podspec的版本为1.6.0。我在早期版本的JSONKit中遇到了一些弃用问题。如果遗漏了JSONKit的pod,则Cocoapods会安装包含这些问题的早期版本。
我还必须在其Build Settings中为JSONKit pod禁用ARC以消除ARC错误:
Pods-JSONKit - >构建设置 - > Apple LLVM 6.0 - 语言 - 目标C
这对我有用。
答案 3 :(得分:1)
您是否尝试部署到64位设备?尝试在“目标”下设置Build Active Architecture Only
至NO
- >你的应用 - >构建设置 - >架构。
编辑:我按照说明编写了一个构建的示例项目。我无法确切地知道你为什么会收到链接器错误,但也许你可以将我的项目与你的项目进行比较。
http://lieberman.nyc/sample_soundcloud_project_for_relatively_slow_on_stackoverflow.zip