2014-10-30 25 views
5

Im làm việc trên dự án phát nhạc trên iOS và muốn tận dụng SDK SoundCloud.Kiến trúc SoundCloud iOS SDK

Tôi đi theo hướng dẫn này để các tee: https://developers.soundcloud.com/docs/api/ios-quickstart

Năm SoundCloud phụ thuộc là:

  1. CocoaSoundCloudAPI
  2. OAuth2Client
  3. JSONKit
  4. OHAttributedLabel
  5. CocoaSoundCloudUI

Tất cả năm dự án này đều có sẵn dưới dạng mô-đun con mà bạn chỉ cần thêm vào kho lưu trữ git hiện tại của mình. Theo hướng dẫn được liên kết ở trên, bạn có nghĩa vụ có thể thêm chúng và tiếp tục với dự án của bạn. Tuy nhiên, kiến ​​trúc của họ là tất cả khác nhau! CocoaSOundCloudAPI, JSONKit, OHAttributedLabel và CocoaSoundCloudUI là tất cả các dự án kiến ​​trúc 32 bit, trong khi OAuth2Client là một dự án kiến ​​trúc 64bit.

Không có vấn đề gì tôi xây dựng dự án của mình dưới dạng 32 hoặc 64 bit, tôi gặp lỗi liên kết Mach-O. Tôi đã thêm cả 32bit và 64bit làm Kiến trúc hợp lệ trong Dự án Xcode chính của tôi, nhưng vấn đề vẫn tồn tại.

Tôi cũng không thể tìm thấy các phiên bản khác của các mô-đun con này. Tôi không thể là người duy nhất với vấn đề này, như tôi đã theo nghĩa đen theo từng từ hướng dẫn, nhưng tôi không thể tìm thấy bất kỳ giải pháp bất cứ nơi nào.

Hãy giúp tôi!

Tôi đang sử dụng Xcode 6 và xây dựng cho SDK iOS8.

Cảm ơn!

Edit:

Dưới đây là ảnh chụp màn hình của kiến ​​trúc của tôi và các lỗi ... arhitectures erroes

Trả lời

3

Dưới đây là một cái gì đó đã giúp tôi:

  1. Chuyển đến mục tiêu SmartSpeakers (hoặc bất cứ là mục tiêu cho ứng dụng của bạn)
  2. Cài đặt Build -> Flags Linker khác
  3. Add $(inherited)
  4. Xây dựng nó!
+0

Holy crap man, nó đã hoạt động! Tôi đã từ bỏ việc tìm kiếm giải pháp cho những tháng trước đây! Bạn thật tuyệt vời, bạn đã hình dung ra điều này như thế nào? – tbogatchev

+0

Đó là một cảnh báo rằng 'pod install' vẫn tiếp tục ném, vì vậy tôi quyết định thêm nó vào. Vui vì nó cũng làm việc cho bạn! Tôi nghĩ rằng tất cả nó thực sự là đảm bảo rằng các pods và các mục tiêu của riêng bạn được xây dựng cho cùng một kiến ​​trúc? Thành thật mà nói, tôi không có ý tưởng. Lỗi trình liên kết là lỗi ít được yêu thích nhất của tôi. –

4

Tôi RẤT đề nghị sử dụng CocoaPods để quản lý sự phụ thuộc này. Tôi đã từng tích hợp SoundCloud vào một dự án mà không cần sử dụng CocoaPods và nó là một cơn đau ở phía sau. Nhìn vào liên kết này và thực hiện tìm kiếm cho CocoaPods để xem cách cài đặt nó: https://github.com/soundcloud/CocoaSoundCloudAPI

+0

Cảm ơn, tôi sẽ thử. – tbogatchev

+0

Xin chào, nó không hoạt động. Tôi đã cài đặt và khởi tạo tất cả các nhóm, nhưng có cùng lỗi trình liên kết mà tôi đã nhận được trước đó. – tbogatchev

1

Bạn đang cố triển khai thiết bị 64 bit? Thử đặt Build Active Architecture Only thành NO trong Mục tiêu -> Ứng dụng của bạn -> Cài đặt bản dựng -> Kiến trúc.

EDIT: Tôi đã làm theo hướng dẫn và tạo một dự án mẫu được xây dựng. Tôi không thể tìm ra chính xác lý do tại sao bạn nhận được lỗi liên kết đó, nhưng có thể bạn có thể so sánh dự án của tôi với bạn.

http://lieberman.nyc/sample_soundcloud_project_for_relatively_slow_on_stackoverflow.zip

+0

Tôi chỉ đang cố gắng làm cho nó hoạt động trên trình mô phỏng ngay bây giờ. Tôi đã thử mô phỏng một số thế hệ iPhone khác nhau với cùng một kết quả. Tôi đã thử đề xuất của bạn nhưng không có may mắn. – tbogatchev

+0

@relatively_slow bạn có thể đăng nhật ký biên dịch đầy đủ của mình trong bài đăng gốc không? Tệp nào đang cung cấp cho bạn lỗi liên kết? – JAL

+0

vừa đăng nhật ký, cảm ơn sự giúp đỡ của bạn – tbogatchev

2

CocoaPods là cách để giúp tôi. Podfile của tôi trông giống như sau:

pod 'CocoaSoundCloudAPI', '1.0.1' 
pod 'CocoaSoundCloudUI', '1.0.5' 
pod 'JSONKit', :podspec => 'https://gist.github.com/marcdown/5282955/raw/2a52cfd92f112f2a52669420c82c1bb1efd15d2a/JSONKit.podspec' 

Tính đến thời điểm bài đăng này, podspec tìm nạp phiên bản 1.6.0. Tôi gặp sự cố với một số vấn đề không được dùng nữa trong các phiên bản trước của JSONKit. Nếu một trong những lá ra khỏi pod cho JSONKit, một phiên bản trước đó có chứa những vấn đề này được cài đặt bởi Cocoapods.

Tôi cũng đã phải vô hiệu hóa ARC cho pod JSONKit trong Cài đặt xây dựng của nó để bịt miệng lỗi ARC:

Pods-JSONKit -> Build Settings -> Apple LLVM 6.0 - Ngôn ngữ - Mục tiêu C

này đã làm nó cho tôi.

+1

Điều này làm việc cho tôi, cảm ơn! – akmal