2012-09-24 31 views
11

Gần đây tôi đã nâng cấp codebase của mình để sử dụng iOS6 Base SDK - Tôi đang sử dụng XCode 4.5. Tôi chỉ phải thay dylibxml2.2.3.7 thành dylibxml2.2. Nó hoạt động tốt trên mô phỏng 6.0. Tôi đang sử dụng libs như GoogleAnalytics, Three20.ngoại lệ thời gian chạy sau khi nâng cấp lên Xcode4.5 iOS6 Base SDK

Nhưng khi tôi chạy mã trên iOS 5 (iPhone4), nó bị treo lúc khởi động với điều này báo lỗi sau:

Tôi không thể cho biết nơi nó chính xác là đâm bởi vì tất cả tôi thấy là các mã máy khi nó treo

dyld: biểu tượng lười biếng ràng buộc thất bại: biểu tượng không được tìm thấy: _objc_setProperty_nonatomic

Referenced from: /Users//Library/Application Support/iPhone Simulator/5.0/Applications//

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/System/Library/Frameworks/Foundation.framework/Foundation

Trả lời

29

tôi gặp các lỗi tương tự quá khi xây dựng lib của riêng tôi và chạy nó trong mã mẫu của tôi. Sau khi đọc cẩn thận nhật ký xây dựng, tôi đã tìm ra lý do ngay bây giờ.

Tôi đặt mục tiêu triển khai của mình thành iOS 3.0, nhưng Xcode mới nhất chỉ hỗ trợ iOS 4.3 trở lên. Vì vậy, trình biên dịch sẽ tự động thiết lập mục tiêu triển khai thành iOS 6.0, tạo ra lỗi bất cứ khi nào dự án đang chạy dưới iOS 6.0. Tôi đã sửa nó bằng cách đặt mục tiêu triển khai thành iOS 4.3 trong dự án lib của tôi.

+0

Tuyệt vời! Làm việc cho tôi - Tôi hoàn toàn bỏ qua phần đó - Không thể tin được những thứ điên rồ của nó khi bạn nâng cấp lên iOS mới và xCode mới - Cảm ơn một tấn! – user510164

+0

+1 nó đang làm việc cho tôi. – ajay

0

Có sự cố khi chỉ thay đổi mục tiêu triển khai SDK. Tôi vừa tạo một ứng dụng dựa trên tab. Không thực hiện bất kỳ thay đổi nào trong bất kỳ tệp nào. Chạy tốt trên ios 6 giả lập nhưng nếu tôi thay đổi
mục tiêu triển khai thành 5 và chạy trên trình mô phỏng ios 5 tạo ngoại lệ (tín hiệu SIGABRT). Xcode phiên bản 4.5 và mục tiêu triển khai mặc định SDK 6.0.

+0

+1 cho câu trả lời iPhoney. Ngoài ra, nếu bạn đang sử dụng xib hoặc bảng phân cảnh, hãy đảm bảo bỏ chọn "useautolayout" trong trình tạo giao diện khi bạn đang chạy trên ios5. Bydefault tùy chọn này được kiểm tra cho ios6 sdk mục tiêu. – Panesar

0

Hoặc có thể bạn đang sử dụng thư viện được biên dịch với SDK cơ sở cao hơn SDK cơ sở dự án của bạn.

Các vấn đề liên quan