2013-06-12 55 views
14

Tôi đã rất vui khi cố gắng thêm vào thời gian FIRST một ứng dụng mới trên iTunes Kết nối với TEST tính năng GAMEKIT của tôi.iTunes kết nối: nhầm lẫn trên ID gói

Tôi đã đọc this lưu ý kỹ thuật và tôi bị nhầm lẫn vì tôi đã có id liên kết cho Ứng dụng mà tôi đã tạo khi tôi bắt đầu phát triển nó (đó là id gói hiện tại của tôi mà tôi đã tạo hồ sơ cung cấp và thử nghiệm hiện tại: xin chào-*).

enter image description here

Để sử dụng GameKit và InApp mua hàng tôi nên tạo một Id Bundle mới?

Tôi đang bối rối vì:

  • Tôi không biết nếu Id gói hiện nay là hợp lệ (đối với các lưu ý kỹ thuật liên kết ở trên)
  • Tôi không biết nếu Id Bundle HTE ảnh hưởng những thứ mà tôi có thể THÊM trong Ứng dụng sau (Ví dụ: Mua ứng dụng, GameKit, ...)
  • Nếu tôi tạo Ứng dụng mới có tên (giả sử: HelloApple) nhưng có Id nhóm có ký tự đại diện (Say: hello - *) Tôi có thể thêm Ứng dụng mới có cùng tên nhưng Id gói khác trong giai đoạn sau không? Điều này thực sự trước khi xuất bản BẤT CỨ của hai ứng dụng.
  • Tôi không hiểu rõ lý do tại sao có sự lựa chọn giữa việc sử dụng hoặc không sử dụng ký tự đại diện; nói cách khác, nếu cần có id gói không phải là ký tự đại diện để sử dụng trong Mua ứng dụng và GameKit thì tại sao nhà phát triển lại muốn sử dụng Id ứng dụng ký tự đại diện?

Mọi trợ giúp sẽ được đánh giá cao, đặc biệt tôi cần giải quyết vấn đề đầu tiên của mình: Tôi nên sử dụng Id gói nào để sử dụng GameKit và InAppPurchase?

Trả lời

25

Trước khi trả lời câu hỏi của bạn một số định nghĩa:

Bundle ID: Một chuỗi DNS ngược mà xác định chính xác một ứng dụng duy nhất.

Chuỗi tìm kiếm ID nhóm: được sử dụng để khớp với tập hợp ID gói, trong đó mỗi ID gói xác định một ứng dụng. Ví dụ: nếu chuỗi tìm kiếm ID gói là com.mycompany.MyApp hoặc ký tự đại diện như com.mycompany.* thì chuỗi đó sẽ khớp với ID gói com.mycompany.MyApp.

ID ứng dụng: Chuỗi xác định một hoặc nhiều ứng dụng từ một nhóm. ID ứng dụng bao gồm chuỗi tìm kiếm ID nhóm đứng trước ID nhóm, chuỗi gồm 10 ký tự được Apple tạo để nhận dạng duy nhất một nhóm. Trong số technical note mà bạn liên kết nó là ABCDE12345 và được gọi là ID hạt giống nhóm.

(Phát triển) Hồ sơ cấp phép: bạn sử dụng nó để cho phép ứng dụng của bạn khởi chạy trên thiết bị và sử dụng một số công nghệ cửa hàng nhất định khi bạn đang phát triển. Nó bao gồm: một ID ứng dụng duy nhất, một tập hợp các thiết bị và một bộ chứng chỉ phát triển. Các hồ sơ cung cấp được tạo ra trong Trung tâm thành viên và bạn cần chúng trên thiết bị của bạn để chạy ứng dụng của bạn. XCode có thể tải xuống các hồ sơ cấp phép và cài đặt chúng vào các thiết bị.

Bây giờ tôi sẽ trả lời cho viên đạn của bạn:

  • Để sử dụng game-Center (GameKit) và IAP bạn cần một rõ ràng App ID, có nghĩa là và ID với một bó chuỗi tìm kiếm ID App không có *. A Thẻ ứng dụng hoang dã ID là một trong đó chuỗi tìm kiếm ID nhóm có * và là số bạn hiện có.
  • Điều bạn tạo ban đầu là ID ứng dụng có ID nhóm được liên kết. Nếu rõ ràng bạn có thể thêm Game-Center và IAP, nếu đó là một ID ứng dụng ký tự đại diện không ... đó là nó.
  • Bạn không thể có hai ứng dụng có tên khác nhau nhưng ID ứng dụng hoặc ID gói giống nhau rõ ràng. Nhưng bạn có thể có hai ứng dụng có tên khác nhau không sử dụng Game-Center hoặc IAP với ID ứng dụng duy nhất sử dụng ID ứng dụng ký tự đại diện.
  • Bạn hỏi tại sao ký tự đại diện hữu ích ... Vâng, tôi đã nói rằng nếu bạn không sử dụng Game-Center hoặc IAP, bạn có thể có hai hoặc nhiều ứng dụng được liên kết với ID ứng dụng ký tự đại diện. Sau đó, bạn có thể tạo hồ sơ cấp phép với ID ứng dụng này và bạn chỉ cần cài đặt cấu hình cấp phép này trên thiết bị của mình cho tất cả các ứng dụng của mình. Có một hồ sơ cấp phép mặc định của loại này được gọi là Hồ sơ cấp phép nhóm hợp lệ cho tất cả các ứng dụng của bạn, nhưng bạn có thể tạo các hồ sơ cụ thể hợp lệ cho một tập con của tất cả các ứng dụng của bạn.

Quy trình này thực sự hữu ích cho các nhóm lớn. Nếu bạn có một nhóm nhỏ và một vài ứng dụng thì điều đó thực sự khó hiểu, nhưng nó giúp hiểu được lý do đằng sau nó.

Nhưng có nhiều điều để nói về tất cả điều này. Tôi khuyên bạn nên đọc "App Distribution Guide" như tôi đã làm gần đây. Nó là một hướng dẫn mở rộng, nhưng hiện tại bạn chỉ cần đọc các phần của chủ đề "Maintaining Your Signing Identities and Certificates" và "Maintaining Identifiers, Devices, and Profiles". Hướng dẫn rất rõ ràng, đầy đủ các ảnh chụp màn hình và nó sẽ trả lời tất cả các câu hỏi của bạn.Ngoài ra bạn có thể quay trở lại hướng dẫn xuống đường để nhanh chóng giải quyết một số vấn đề (và bạn sẽ có vấn đề).

Lần đầu tiên tôi tạo một Ứng dụng với Game-Center và IAP hơn một năm trước, tôi đã xem xét stackoverflow để trả lời tất cả các câu hỏi của mình. Nhưng tôi đã gặp vấn đề khi giấy chứng nhận hết hạn, khi tôi thêm thiết bị mới, v.v., và mỗi lần tôi tìm thấy và giải pháp Ad-hoc sau rất nhiều xung quanh và quay trở lại stackoverflow. Đừng làm cho tôi sai, có những câu trả lời tuyệt vời trong stackoverflow nhưng nó là một chiến lược tốt hơn nhiều trong kinh nghiệm của tôi để đọc cái gì đó dài hơn giải thích bức tranh lớn. ID ứng dụng, ID nhóm, Chứng chỉ, khóa cá nhân, v.v., là một chủ đề lộn xộn, đặc biệt nếu bạn không hiểu tại sao nó được xây dựng theo cách này.

+0

Cảm ơn Robotillo, tôi đã chấp nhận câu trả lời của bạn vì nó đã hoàn chỉnh hơn. – mm24

+0

"tại sao nó được xây dựng theo cách này", câu trả lời thay đổi nhận thức của bạn – carelesslyChoosy

2

Những gì tôi nghĩ Apple muốn là:

  1. Tạo một bó ID khác nhau cho mỗi ứng dụng có sử dụng trong ứng dụng mua/GameKit hoặc cả hai.

  2. Bạn có thể có cùng một ID ứng dụng và ID gói cho các ứng dụng không sử dụng chúng.

  3. Nếu bundleID bạn có cho ứng dụng của bạn không được sử dụng cho bất kỳ ứng dụng nào khác của bạn, bạn có thể sử dụng nó.

Ai đó có kiến ​​thức hơn, Vui lòng sửa tôi nếu tôi sai.

5

Id gói chỉ là số nhận dạng cho ứng dụng của bạn. Ứng dụng này chủ yếu được sử dụng để cung cấp cho bạn chứng chỉ bạn cần sử dụng để ký ứng dụng của mình trước khi gửi App Store hoặc sử dụng nó trên thiết bị phát triển (ví dụ: để thử nghiệm). Id gói có thể là bất cứ điều gì bạn muốn. Apple khuyên bạn nên sử dụng cú pháp com.yourcompany.yourapp để duy trì sự nhất quán giữa các ứng dụng bạn phát triển và tránh xung đột với số nhận dạng của ứng dụng khác.

Có thể sử dụng ký tự đại diện trên tất cả các ứng dụng của bạn, trong khi chỉ có thể sử dụng id cụ thể với một ứng dụng. Tôi khuyên bạn nên có một id cho mỗi ứng dụng của bạn và chỉ một ký tự đại diện để phát triển (vì vậy bạn có thể chạy trên thiết bị của mình bao nhiêu ứng dụng tùy thích mà không phải lo lắng về chứng chỉ cho đến khi bạn quyết định gửi ứng dụng). Bạn không cần phải có quyền truy cập vào tất cả các dịch vụ (như Game Center hoặc iCloud) trên tất cả các ứng dụng của mình và do đó bạn nên ký vào các chứng chỉ đơn chỉ với các dịch vụ mà ứng dụng của bạn cần.

+0

Hi Gianluca, cảm ơn bạn đã trả lời. Tôi đã có một id ký tự đại diện mà tôi đã sử dụng cho đến nay để kiểm tra "TestApps". Tuy nhiên bây giờ tôi đang ở trong giai đoạn mà tôi cần phải kiểm tra tính năng GameKit cũng cho một ứng dụng cụ thể. Trong trường hợp này thì tôi có cần phải xây dựng lại tất cả hồ sơ cấp phép của mình cho ứng dụng đó (hồ sơ và phân phối phát triển) không? – mm24

+1

Có, khi bạn thêm một tính năng yêu cầu dữ liệu chứng chỉ của bạn như Game Center và iCloud, bạn cần phải làm lại hồ sơ cấp phép cho ứng dụng đó. May mắn thay, nếu bạn có Xcode 5 (trong Developer Preview tại thời điểm này), Xcode sẽ làm điều đó cho bạn. –

+0

Hi Gianluca, tôi muốn chấp nhận câu trả lời nhưng tôi có một nghi ngờ cuối cùng. Tôi đã tạo ra id của tôi và sau đó đã đi để tạo ra ứng dụng mới của tôi trên iTunes kết nối. Nó đã yêu cầu tôi cung cấp ảnh chụp màn hình và chọn mức giá. Tất cả những gì tôi muốn làm là thử nghiệm ứng dụng cho GameCenter. Tôi nên làm như thế nào? Ý tôi là, tôi có nên cung cấp tất cả thông tin đó cho Apple để chỉ thử nghiệm ứng dụng cho GameCenter không? – mm24