Một số nền - tôi đã xây dựng một khung tùy chỉnh sử dụng hướng dẫn Diney tại http://db-in.com/blog/2011/07/universal-framework-iphone-ios-2-0/ld: lặp lại biểu tượng _objc_retainedObject trên iOS 4.3, nhưng không phải trên iOS 5.0
của nó được xây dựng cho cả ARMv6/ARMv7, một ARC- của nó khung dựa trên, được biên dịch với mục tiêu depolyment là 4.3.
Khi tôi đặt khung kết quả trong một dự án 5.0, nó hoạt động tốt, nhưng khi tôi đặt nó trong một dự án 4.3 (ARC hoặc không arc, không quan trọng), tôi nhận được những điều mà tôi không thể thực sự hiểu được. ..
Tôi cũng đã thử thêm libarclite.a theo cách thủ công nhưng nó không thay đổi bất cứ điều gì.
ld: trùng lặp biểu tượng _objc_retainedObject trong /Users/freak4pc/Project/MyFramework.framework/MyFramework và /Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/arc/libarclite_iphoneos.a(arclite.o) cho kiến trúc ARMv7 lệnh /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang thất bại với mã thoát 1
sẽ đánh giá cao bất kỳ giúp đỡ về vấn đề này.
Cảm ơn
Shai
Tại sao không chỉ xây dựng một thư viện tĩnh như mọi người khác làm cho iOS? Cách tiếp cận mà bạn đã liên kết có vẻ giống như một cái gì đó của một hack, vì vậy tôi không ngạc nhiên rằng mọi thứ có thể không được liên kết như dự định. –
Tôi chỉ có một gợi ý rằng Thư viện tĩnh không linh hoạt. Bạn có thể liên kết tôi với một số tài nguyên về điều này có lẽ? –
Tôi không chắc chắn những gì "ít linh hoạt" có nghĩa là trong trường hợp này. Nếu bạn có mã cho thư viện của mình, có rất ít sự khác biệt trong việc sử dụng giữa một thư viện tĩnh và một khung công tác. Nếu bạn đang phân phối thư viện biên dịch sẵn, tất cả những gì bạn phải làm là đảm bảo rằng các tiêu đề có sẵn. Để biết ví dụ về điều này, hãy xem thư viện Core Plot: http://code.google.com/p/core-plot/, sử dụng khung làm việc cho Mac và thư viện tĩnh cho iOS. Tôi không nhớ nó là khó khăn để thiết lập các biên dịch thư viện tĩnh ở đó. –