2011-02-02 4 views
17

Hướng dẫn được đưa ra trong trang Distribution trên cổng cấp phép iOS rõ ràng vẫn mô tả quá trình tạo và bao gồm tệp Entitlements.plist trong bản dựng cho phân phối quảng cáo. Mặt khác, iOS Development Guide's Distributing Applications page không đề cập đến tệp Entitlements.plist.Tôi vẫn cần một tệp Entitlements.plist cho một công trình đặc biệt?

Khi tôi cố gắng "Xây dựng và lưu trữ" ứng dụng mới nhất của chúng tôi theo hướng dẫn từ Hướng dẫn phát triển iOS, app.ipa đặc biệt sẽ không cài đặt trên thiết bị phát triển của tôi, do sự cố với các quyền. Khi tôi xây dựng lại với các tập tin Entitlements.plist, app.ipa mới được cài đặt tốt.

Thật không may, bao gồm Entitlements.plist trong app.ipa có nghĩa là bản dựng kết quả không thể đơn giản được ký lại và gửi đến cửa hàng ứng dụng - Đúng không? Thay vào đó, tôi phải xây dựng lại mà không có Entitlements.plist và gửi kết quả đến cửa hàng ứng dụng.

Tôi đoán rằng tôi thực sự có một số câu hỏi liên quan:

  1. có các app.ipa sản xuất theo chỉ dẫn trong Hướng dẫn phát triển iOS (không Entitlements.plist, chỉ cần đăng ký với sự phân bố cấp phép hồ sơ ad-hoc) cài đặt OK trên thiết bị không phải là dev đã được xác định đúng trong hồ sơ cấp phép thử nghiệm phân phối?
  2. Có cách nào để tôi kiểm tra kết quả chính xác của "Tạo và lưu trữ" trên máy tính của tôi, để tôi có thể ký lại và gửi nó đến App Store từ Xcode không?
  3. Một ứng dụng.ipa có bao gồm tệp Entitlements.plist rõ ràng bị từ chối nếu tôi đã gửi nó?

Cảm ơn!

+0

Nếu bạn đi đến MỤC TIÊU> BUILD SETTINGS> MÃ KÝ có một phần dành cho Mã Quyền lợi Ký mà sẽ nói với bạn hay không, bạn có một. Kinh nghiệm của tôi là, cho đến gần đây, tôi không cần một cho Ad Hoc xây dựng nhưng gần đây (tháng 7 năm 2012) Ad Hoc xây dựng sẽ không hoạt động mà không có chúng. – jsherk

Trả lời

0

Tôi không có câu trả lời cho tất cả các câu hỏi của bạn, nhưng tôi cần thêm một Entitlements.plist khi gần đây tôi đã sử dụng phân phối quảng cáo cho một số thử nghiệm. Tôi nghĩ tài liệu vẫn nói về cài đặt 'get-task-allow' trong tệp .plist, nhưng khi tôi làm theo hướng dẫn chính xác thì tôi gặp sự cố khi ký ứng dụng. Thay vào đó, tôi tạo ra một Entitlements.plist bằng cách sử dụng mẫu của Xcode. Nó có hai hoặc ba thiết lập, không ai trong số đó là get-task-allow. Tôi để nó chính xác như khi nó được tạo ra, và việc xây dựng đã thành công.

Trải nghiệm của tôi trong quá khứ là các ứng dụng được gửi tới cửa hàng ứng dụng có Entitlements.plist đã bao gồm không thành công bước xác minh.

3

Từ thư viện iOS Developer:

Nếu bạn đang làm một phân phối Ad Hoc, bạn phải đúng cấu hình dự án của bạn để bao gồm một tập tin Entitlements.plist và bỏ chọn hộp kiểm get-nhiệm vụ cho phép (trong đó đặt nó thành False). http://developer.apple.com/library/ios/#technotes/tn2242/_index.html

Không có vấn đề gì với việc thoát khỏi tệp Entitlements.plist trong bản dựng Phân phối, tôi đã có một số ứng dụng được gửi cùng với nó. Thực ra, Entitlements.plist cũng dành cho các tính năng iOS khác mà ứng dụng của bạn có thể sử dụng:

Quyền lợi. Những tệp này xác định các thuộc tính cung cấp cho bạn quyền truy cập ứng dụng vào iOS (chẳng hạn như thông báo đẩy) và dữ liệu bảo mật (chẳng hạn như khóa người dùng ).

http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/115-Configuring_Applications/configuring_applications.html

Ngoài ra kiểm tra câu trả lời này: The executable was signed with invalid entitlements

2

Get-nhiệm vụ cho phép hiện nay được gọi là "Có thể sửa lỗi" trong Xcode 4.1 nếu bạn đã sử dụng công cụ hiện đại hóa

4

tôi vừa thử, không cần quyền lợi đơn giản chỉ là ad-hoc, chỉ cần sử dụng hồ sơ cá nhân để lưu trữ và chia sẻ, sau đó là tốt.

+0

Dữ liệu tốt để có trong tay, cảm ơn bạn đã chia sẻ. –

5

Kể từ Xcode 4.2 bạn không còn phải tạo tệp Entitlements.plist khi tạo ứng dụng không yêu cầu bất kỳ quyền đặc biệt nào để chạy. Quyền lợi cho phép nhận nhiệm vụ được tự động đặt thành true hoặc false, tùy thuộc vào loại hồ sơ cấp phép bạn đăng ký ứng dụng của bạn với (Nhà phát triển, Ad Hoc hoặc App Store).

ref: http://help.testflightapp.com/customer/portal/articles/535398-invalid-profile-distribution-build-entitlements-must-have-get-task-allow-set-to-false-