Xcode 通配符和 com.domain.name App ID 之间有什么区别?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/23350058/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
What's the difference between an Xcode wild card and a com.domain.name App ID?
提问by user3580117
These have baffled me ever since I signed up for developers account!
自从我注册开发者帐户以来,这些一直让我感到困惑!
I Need to Know which one to use when I submit my app to the store?
当我将我的应用程序提交到商店时,我需要知道使用哪一个?
Also in target > build settings > code signing > provisioning Profile are those values as shown in the image, which one do I pick to submit my app?
同样在目标 > 构建设置 > 代码签名 > 配置文件中,这些值如图所示,我应该选择哪一个来提交我的应用程序?
The com.domain.name
or wild card?
的com.domain.name
或外卡?
And lastly what in the heckaroo is the com.domain.name
used for and what's its importance?
最后,在 heckaroo 中com.domain.name
用于什么以及它的重要性是什么?
回答by Almo
Wild card ids are for development purposes only. Suppose you're working on an app, and don't know what its final name will be. You use the wildcard app id until you've named it.
通配符 ID 仅用于开发目的。假设您正在开发一个应用程序,但不知道它的最终名称是什么。您可以使用通配符应用程序 ID,直到您为其命名。
Once you've named it, you do the com.domain.name one for submission.
一旦你命名了它,你就可以提交 com.domain.name 之一。
These must be unique across the entire iOS ecosystem, which is why they work this way. Provided no two companies have the same name and product name, there will be no collisions.
这些在整个 iOS 生态系统中必须是独一无二的,这就是它们以这种方式工作的原因。只要没有两家公司的名称和产品名称相同,就不会发生冲突。
回答by Rich
The wildcard app ID (defined as *
) can be used for any bundle identifier (the one you set in Xcode).
通配符应用程序 ID(定义为*
)可用于任何包标识符(您在 Xcode 中设置的标识符)。
If you app conforms to the following (taken from the Registering an App IDpage in the Certificates, Identifiers & Profilessection of the developer portal):
如果您的应用符合以下要求(取自开发者门户证书、标识符和配置文件部分的注册应用 ID页面):
If you plan to incorporate app services such as Game Center, In-App Purchase, Data Protection, and iCloud, or want a provisioning profile unique to a single app, you must register an explicit App ID for your app.
如果您计划整合游戏中心、应用程序内购买、数据保护和 iCloud 等应用服务,或者想要单个应用独有的配置文件,您必须为您的应用注册一个明确的应用 ID。
Then you need to specify an explicit App ID - the com.domain.name
you mentioned. This must match the bundle identifier of your app you set in Xcode.
然后你需要指定一个明确的 App ID -com.domain.name
你提到的。这必须与您在 Xcode 中设置的应用程序包标识符相匹配。
The App ID is tied to the developer account (I believe it can be transferred) and this is unique per application. For example, say I set up an app with the App ID of com.stackoverflow.rich
, you could then not use that App ID.
App ID 绑定到开发者帐户(我相信它可以转移),并且每个应用程序都是唯一的。例如,假设我设置了一个应用程序 ID 为 的应用程序com.stackoverflow.rich
,那么您就不能使用该应用程序 ID。
The App ID must be an explicit App ID when finally submitting the app to the App Store.
最终将应用提交到 App Store 时,App ID 必须是显式的 App ID。
When releasing for the App Store you need to set your App Store Distributionprofile under Provisioning Profile -> Release. You can probably just press delete/backspace on the Code Signing Identity -> Release, and then the Automatic setting will pick up the correct certificate.
在为 App Store 发布时,您需要在Provisioning Profile -> Release下设置您的App Store Distribution配置文件。您可以在Code Signing Identity -> Release上按删除/退格键,然后自动设置将获取正确的证书。
Whenever you use the Archivecommand (under Product), the Releasebuild configuration is always used (unless you change it under the Schemesettings).
每当您使用Archive命令(在Product下)时,总是使用Release构建配置(除非您在Scheme设置下更改它)。
If you want more info about this have a read of the App Distribution Guide.
如果您想了解更多信息,请阅读App Distribution Guide。
There's also a Technical Q&Aon this topic as well.