SoundCloud iOS SDK架构

时间:2014-10-30 19:59:25

标签: ios xcode linker-errors soundcloud cpu-architecture

我正在开发一个音乐流iOS项目,并希望利用SoundCloud SDK。

我按照本指南发球: https://developers.soundcloud.com/docs/api/ios-quickstart

  

五个SoundCloud依赖项是:

     
      
  1. CocoaSoundCloudAPI
  2.   
  3. OAuth2Client
  4.   
  5. JS​​ONKit
  6.   
  7. OHAttributedLabel
  8.   
  9. CocoaSoundCloudUI
  10.         

    所有这五个项目都可以作为子模块使用,只需添加到当前的git存储库即可。根据上面链接的指南,您应该能够添加它们并继续您的项目。但是,他们的架构都各不相同! CocoaSOundCloudAPI,JSONKit,OHAttributedLabel和CocoaSoundCloudUI都是32位架构项目,而OAuth2Client是64位架构项目。

无论我将项目构建为32位还是64位,我都会遇到Mach-O链接器错误。我在我的主要Xcode项目中添加了32位和64位作为有效架构,但问题仍然存在。

我也无法找到这些子模块的其他版本。我不可能是唯一一个有这个问题的人,因为我一字一句地遵循指南,但我找不到任何解决方案。

请帮帮我!

我正在使用Xcode 6并构建iOS8 SDK。

谢谢!

编辑:

以下是我的架构和错误的屏幕截图...... arhitectures erroes

4 个答案:

答案 0 :(得分:4)

我强烈建议使用CocoaPods来管理这种依赖。我曾经将SoundCloud集成到一个没有使用CocoaPods的项目中,后面是一个痛苦。查看此链接并搜索CocoaPods以了解如何安装它:https://github.com/soundcloud/CocoaSoundCloudAPI

答案 1 :(得分:3)

这是帮助我的事情:

  1. 转到SmartSpeakers目标(或适用于您应用的目标)
  2. 构建设置 - >其他链接标志
  3. 添加$(inherited)
  4. 构建它!

答案 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 OnlyNO - >你的应用 - >构建设置 - >架构。

编辑:我按照说明编写了一个构建的示例项目。我无法确切地知道你为什么会收到链接器错误,但也许你可以将我的项目与你的项目进行比较。

http://lieberman.nyc/sample_soundcloud_project_for_relatively_slow_on_stackoverflow.zip