2013-08-27 55 views
23

Tôi đang cố gắng hiểu vai trò của phần đầu tiên của AppID cho ứng dụng iOS. Phần này trước đây được gọi là "ID hạt giống nhóm", nhưng bây giờ thường được gọi là Tiền tố AppID.Bạn có an toàn khi thay đổi tiền tố AppID giữa các bản cập nhật không?

Một lúc trước (iOS 5?), Apple đã thực hiện một số thay đổi trong cả cổng và tài liệu của họ và bắt đầu đề xuất sử dụng "ID nhóm" (duy nhất cho mỗi tài khoản nhà phát triển) làm Tiền tố AppID. Điều này đơn giản và dễ hiểu đối với các nhà phát triển mới với các ứng dụng mới.

Nhưng cách tốt nhất để xử lý các ứng dụng hiện có liên quan đến tiền tố AppID là gì? Tôi biết rằng không thể thay đổi BundleID (= phần thứ hai của AppID) giữa hai phiên bản ứng dụng, nhưng có an toàn để thay đổi tiền tố giữa các phiên bản ứng dụng không?

Lưu ý rằng tôi không đề cập đến việc thay thế "AppID ký tự đại diện", ví dụ: ABC1234567. *, Đối với một AppID rõ ràng sử dụng cùng một tiền tố, ví dụ: ABC1234567.com.mycompany.myapp. Có rất nhiều thông tin về điều này (hầu hết là nó đã lỗi thời). Tôi đang suy nghĩ về việc thay đổi AppID hoàn chỉnh, ví dụ: ABC1234567.com.mycompany.myapp, cho một ứng dụng hiện có bằng cách thay thế tiền tố bằng ID nhóm của tôi, ví dụ: DEF7654321.com.mycompany.myapp.

Tôi nghĩ mình đã đọc ở đâu đó nên thay đổi tiền tố cho các ứng dụng hiện có, ngoại trừ trường hợp đặc biệt là ứng dụng đang sử dụng keychain để lưu trữ dữ liệu. Nếu điều này đúng, cách dễ nhất để xử lý tiền tố cho các ứng dụng hiện có sẽ là di chuyển sang ID nhóm mới khi đến lúc phát hành bản cập nhật tiếp theo. Khi tất cả các ứng dụng của tôi được di chuyển, tôi có thể tiếp tục sử dụng ID nhóm (như Apple đề xuất cho các ứng dụng mới) và cuối cùng quên đi tất cả các mớ hỗn độn này. Có ai có thể xác nhận điều này không?

Nếu bạn có thể làm sáng tỏ một số khái niệm về tiền tố AppID và nó được sử dụng trên thiết bị iOS (ngoại trừ móc khóa mà tôi đã biết), tôi sẽ rất vui nếu bạn có thể viết một lời bình luận. Có lẽ chúng ta có thể xây dựng sự hiểu biết đầy đủ về điều này bằng cách thêm các bit và miếng từ nhiều nguồn khác nhau. Đáng buồn thay, tài liệu của Apple rất mỏng trong lĩnh vực này.

(Có một câu hỏi tương tự khác: Can I change the Bundle Identifier in my app after it's been approved? Nhưng chủ yếu tập trung vào BundleID, tức là phần thứ hai của AppID, vì vậy đây không phải là bản sao, mặc dù một số câu trả lời và nhận xét đang chạm vào chủ đề này.)

+0

Liên quan đến câu hỏi liệu tiền tố AppID được sử dụng cho bất kỳ mục đích nào khác ngoài việc kiểm soát quyền truy cập vào keychain, tôi đã nhận thấy một sự thay đổi trong tài liệu tham chiếu UIPasteboard. cho iOS 7: Đối với phương thức "pasteboardWithName: create:" hiện có một ghi chú cho biết rằng hai ứng dụng phải có "cùng một ID nhóm" để có thể chia sẻ một bảng. Tôi nghi ngờ rằng đây có thể là lỗi đánh máy và nó thực sự đề cập đến tiền tố AppID. Thật khó để tin rằng iOS, trong thời gian chạy, đã có bất kỳ kiến ​​thức trực tiếp nào về TeamID, ngoại trừ trường hợp khi TeamID được sử dụng làm tiền tố AppID. – Magnus

Trả lời

21

Kết luận của tôi, tính đến hôm nay, là hoàn toàn an toàn để thay thế tiền tố AppID bằng một tiền tố mới, ngoại trừ các ứng dụng sử dụng móc khóa. Điều này mở ra để di chuyển tiền tố cho tất cả các ứng dụng thoát của tôi trên App Store đến tiền tố dựa trên TeamID mới.

Kết luận này được dựa trên đầu vào sau:

  • Một cuộc thảo luận tôi đã có với hỗ trợ phát triển của Apple một vài tuần trước. Họ nói với tôi rằng sẽ không có bất kỳ vấn đề gì khi thay đổi tiền tố, ngoại trừ các ứng dụng sử dụng móc khóa.
  • Thử nghiệm tôi đã làm, sử dụng phân phối đặc biệt, xác minh rằng ứng dụng hiện có trên thiết bị thử nghiệm không mất bất kỳ dữ liệu nào khi được cập nhật lên phiên bản mới với tiền tố khác.
  • Thực tế là tôi đã tải lên thành công các phiên bản mới, với tiền tố thay thế, trong số hai ứng dụng hiện có của tôi mà không có bất kỳ sự cố nào cho đến thời điểm này.

Trạng thái của hai ứng dụng "trực tiếp" mà tôi đã thay đổi là chúng đã được phê duyệt trong đánh giá. Tuy nhiên, họ hiện đang chờ trong "Bản phát hành dành cho nhà phát triển đang chờ xử lý", vì tôi đang đợi ứng dụng thứ ba sẵn sàng để đồng bộ hóa bản phát hành với bản phát hành đó.

Nếu tôi thấy bất kỳ loại sự cố nào khi chúng xuất hiện trực tuyến trên App Store, tôi dĩ nhiên sẽ cập nhật câu trả lời này.

Cập nhật:

Hai ứng dụng đã được phát hành thành công hơn ba tuần trước. Việc triển khai hoạt động như mong đợi và tôi chưa nhận được bất kỳ khiếu nại nào của người dùng.

Tóm lại, câu trả lời là CÓ, điều này hoàn toàn an toàn!

+0

Bạn có thể giải thích cách bạn quản lý để tạo ID ứng dụng mới với các tiền tố khác nhau không? Nó vẫn không cho phép tôi làm điều này. Nói 'Một ID ứng dụng có Mã định danh' com.domain.appname 'không có sẵn. Vui lòng nhập một chuỗi khác.' - cả hai cho ID ứng dụng mà tôi vẫn hoạt động và đối với ID tôi đã xóa trong khi có thể xóa chúng. –

+0

Tùy chọn tạo tiền tố ngẫu nhiên mới đã bị xóa. Nếu bạn bắt đầu từ đầu ngày hôm nay, tùy chọn duy nhất của bạn là sử dụng TeamID làm tiền tố. Nếu bạn có một số ứng dụng hiện có sử dụng các tiền tố khác, các tiền tố hiện tại này cũng sẽ xuất hiện dưới dạng tùy chọn khi tạo AppID mới. Trong trường hợp của tôi, tôi chỉ được thử nghiệm để thay thế một AppID ký tự đại diện cũ bằng một ID rõ ràng mới bằng cách sử dụng TeamID. Tôi nghĩ vấn đề của bạn có thể là vấn đề khác: BundleID cần phải là duy nhất toàn cầu. Xem http: // stackoverflow.com/a/6546206/824515 Có lẽ không thể thay thế một AppID rõ ràng cũ bằng một AppID mới dựa trên TeamID? – Magnus

+0

Một điều nữa: Tôi có 5 ứng dụng trên App Store. Không có ứng dụng nào đang sử dụng bất kỳ tính năng nào yêu cầu AppID rõ ràng. Tôi chỉ có một AppID ký tự đại diện duy nhất phục vụ tất cả các ứng dụng. Tuy nhiên, khi tôi bắt đầu điều tra vấn đề này, tôi thấy rằng có một số AppID rõ ràng hiện có trên cổng mà tôi chưa bao giờ tự tạo ra! Đã có chính xác một ID cho từng ứng dụng hiện có của tôi. Chúng đang sử dụng TeamID, mặc dù các ứng dụng của tôi đang sử dụng một tiền tố khác! Có thể, các ID này được tạo tự động khi Apple giới thiệu chính sách TeamID mới. Đó là một trong những ID mà tôi đã sử dụng khi thay thế tiền tố. – Magnus

7

Apple đã xuất bản tech note mới vào ngày 12 tháng 2 năm 2014 xác nhận rằng có thể (và an toàn *) để thay đổi Tiền tố cho ID ứng dụng Wildcard, nhưng vẫn không thể tự mình làm cho ID ứng dụng rõ ràng.

Tuy nhiên, họ cho biết bạn có thể liên hệ với người duy trì trung tâm thành viên nếu bạn muốn họ thay đổi Tiền tố của bạn cho ID ứng dụng rõ ràng.

Gonna bao gồm phần này ở đây trong trường hợp họ thay đổi suy nghĩ của họ lại:

Tất cả App ID khác sẽ yêu cầu sự hỗ trợ của các nhà bảo trì trung tâm thành viên - nếu bạn không sử dụng một ký tự đại diện App ID, sau đó bạn nên liên hệ với người bảo trì trung tâm thành viên iOS để được trợ giúp. Dưới đây là các bước bạn có thể sử dụng để thực hiện điều đó:

  1. Chuyển đến https://developer.apple.com/contact/.
  2. Gửi yêu cầu bằng cách nhấp vào liên kết bên dưới Đăng ký và tài khoản.

* Hãy ghi nhớ rằng nếu các cửa hàng ứng dụng của bạn dữ liệu trong Keychain, thay đổi ID ứng dụng prefix sẽ cho kết quả trong một lần mất mát dữ liệu Keychain.

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