2012-10-02 31 views
11

Tôi có thiết bị được thiết kế trong cordova 1.8.1 và xcode 4.4. Tôi muốn để có thể cập nhật nó để làm việc trên iPhone 5 và ios 6.However ngay cả khi tôi cố gắng chỉ cần chạy ứng dụng để gỡ lỗi trong xocde 4.5 Tôi nhận được lỗi này:lỗi kiến ​​trúc ios6 mới: tệp là phổ quát (3 lát) nhưng không chứa một (n) arm7vs slice

file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/Shared/Cordova/Frameworks/Cordova.Framework/Cordova for architecture armv7s. 

Tôi có googled nó, và cố gắng thiết lập dự án để nhắm mục tiêu arm7vs nhưng nó không hoạt động. Bất cứ ai có thể cho tôi biết nguyên nhân gây ra lỗi này?

Tôi có cần cập nhật phiên bản Cordova/PhoneGap của mình không?

Trả lời

41

SoC của iPhone 5 có kiến ​​trúc mới: armv7s. Khi bạn chuyển sang Xcode 4.5, cài đặt "Kiến trúc hợp lệ" của dự án của bạn có thể đã được cập nhật để bao gồm cả armv7. Vấn đề là các thư viện của bạn dường như không hỗ trợ nó (chúng không được xây dựng cho armv7).

Bạn có ba tùy chọn để sửa lỗi này:

  • Di armv7s từ dự án (mục tiêu) "Xây dựng Settings"/"Kiến trúc hợp lệ": enter image description here

  • Đặt "Xây dựng Kiến trúc tích cực Chỉ "đặt thành CÓ:
    enter image description here

  • Cập nhật thư viện tĩnh (nếu có phiên bản mới hơn w thứ i hỗ trợ armv7s)

EDIT: For those who cannot find the Build Active Architecture Only option, make sure that the "All" filter button is active under Build Settings:

enter image description here

+1

Nếu tôi loại bỏ armv7s từ dự án, nó sẽ không hoạt động trên iPhone5/iOS6 sẽ nó? – Bohdi

+1

Nó sẽ! Armv7 đồng bằng được hỗ trợ bởi iPhone 3GS, 4,4S và 5 cộng với tất cả iPad. armv7s có một số tính năng/tối ưu hóa mới (bạn có thể có hiệu suất tốt hơn trên iPhone 5 so với bản build armv7) nhưng không bắt buộc. –

+1

cảm ơn bạn bây giờ tôi đã hiểu rõ hơn – Bohdi