2010-05-19 17 views
7

Tôi có một dự án được định cấu hình (tôi nghĩ) để tạo các tệp nhị phân Universal. SDK cơ sở được đặt thành 3.2 và Mục tiêu triển khai được đặt thành 3.1. Gia đình thiết bị mục tiêu là iPhone/iPad và kiến ​​trúc là armv6 armv7.Xây dựng/Thử nghiệm ứng dụng Universal iPhone/iPad

tôi đã có một vài câu hỏi về cách điều nhị phân phổ này thực sự hoạt động:

1) Khi tôi muốn gửi một nhị phân ứng dụng để xem xét, những gì cấu hình nên tôi thiết lập như là xây dựng mục tiêu? Nếu tôi đặt nó là "Thiết bị - 3.1", tôi nhận được cảnh báo có nội dung là "warning: building with Targeted Device Family" that includes iPad('1,2') requires building with the 3.2 or later SDK". Tuy nhiên, nếu tôi xây dựng với SDK 3.2, nó sẽ vẫn chạy trên iPhone với hệ điều hành 3.1? Cấu hình đúng cho thiết bị và kiến ​​trúc (arm6/arm7) là gì?

2) Làm cách nào để kiểm tra kịch bản trên (được xây dựng với SDK 3.2, nhưng được cài đặt trên thiết bị chạy OS 3.1)? Nếu tôi xây dựng với SDK 3.2, khi tôi cố gắng cài đặt nó trên điện thoại với hệ điều hành 3.1, tôi nhận được một lỗi nói rằng hệ điều hành của điện thoại không được cập nhật.

Cảm ơn!

Trả lời

13

đầu tiên ứng dụng toàn cầu của chúng tôi chỉ đã được phê duyệt và công bố trong App Store ngày hôm nay, vì vậy đây là các thiết lập, chúng tôi sử dụng thành công:

Kiến trúc
Kiến trúc: Tối ưu hóa (ARMv6 ARMv7)
cơ sở SDK: Thiết bị iPhone 3.2
Chỉ xây dựng kiến ​​trúc hiện hoạt: bỏ chọn
Kiến trúc hợp lệ: (trống)

Deployment
mục tiêu thiết bị gia đình: iPhone/iPad
iPhone OS Deployment Target: iPhone OS 3.0
(bạn có thể thiết lập này cho bất kỳ iPhone 3. x OS nhưng chúng tôi muốn nhắm mục tiêu các thiết bị cũ nhất có thể. Đây phải là 3.0 hoặc cao hơn, 2.x không hợp lệ đối với Ứng dụng toàn cầu.)

Đảm bảo rằng bạn cũng đã kiểm tra các cài đặt này cho chính Target (Project-> Edit Active Target "AppName"); các sự cố ban đầu của tôi khi tải lên iTunes Connect là do Mục tiêu triển khai hệ điều hành iPhone cho chính Target vẫn được đặt thành 2.2.1.

+0

Cảm ơn bạn đây là những gì tôi đang tìm kiếm, bạn đã đặt SDK cơ sở thành 3.0 chưa? – Leg10n

+0

Không, SDK cơ sở là 3.2 và iPhone OS Deployment Target được đặt thành 3.0 (hoặc cao hơn).Đó là những gì chúng tôi đã làm cho Ứng dụng toàn cầu đầu tiên của mình. – hjd

+1

lưu ý - để chạy ứng dụng trong trình mô phỏng, hãy đặt SDK hiện hoạt thành 3.0 đến 3.1.3 và chọn Chạy> Chạy – jrtc27

0

Vì vậy, khóa có vẻ là cài đặt "Kiến trúc" được đặt thành "Tối ưu hóa (arm6 arm7)" ngoài cài đặt "Kiến trúc hợp lệ" được đặt thành "armv6 armv7".

Điều này cho phép nó để biên dịch với 3.2 SDK và chạy trên một chiếc iPhone chạy 3.1

Các thiết lập tôi có trong câu hỏi của tôi, ngoài việc thay đổi trên này, có vẻ là những gì cần thiết để cấu hình các ứng dụng để trình dưới dạng nhị phân chung. Tôi chưa làm, nhưng tôi khá tự tin.

Hãy sửa tôi nếu tôi sai.