Khi tôi cố gắng chạy ứng dụng của tôi trong iOS 4.3 mô phỏng (Xcode 4.2), tôi sụp đổ khi tôi nhấn @autoreleasepool {}, với:có điều kiện liên kết cho @autoreleasepool
dyld: lazy symbol binding failed: Symbol not found: _objc_autoreleasePoolPush
Tôi nhìn xung quanh, và tôi xem giải pháp thay thế là thêm libarclite_iphoneos.a
. Có một phiên bản của điều này cho giả lập, quá, như libarclite_iphonesimulator.a
.
Tôi cần thêm cả hai thư viện vào dự án của mình để làm cho nó chạy trên cả trình mô phỏng và phần cứng. Nhưng bất cứ điều gì tôi xây dựng, nó phàn nàn rằng thư viện khác là dành cho một kiến trúc không được hỗ trợ.
Ví dụ, xây dựng cho mô phỏng:
ld: warning: ignoring file /Developer-4.2/Platforms/iPhoneOS.platform/
Developer/usr/lib/arc/libarclite_iphoneos.a, missing required architecture
i386 in file
Làm thế nào để sửa chữa cả hai cùng một lúc? Hoặc tôi có nên gắn bó với cú pháp cũ NSAutoreleasePool
bây giờ không?
Dường như vấn đề về sự cố kể từ khi thay đổi trình biên dịch trong cài đặt bản dựng cho llvm-gcc-4.2 đã khắc phục sự cố cho tôi –
Tôi nghĩ rằng nó đã được khắc phục kể từ đó; Tôi đã không chạy vào nó trong tháng. –