我在应用商店中有一个使用通配符捆绑标识符的应用。我想实现应用内购买,这需要一个非通配符 ID。如何将现有应用的通配符 ID 转换为应用内购买和推送通知的静态 ID?
3 回答
应用程序的包标识符在更新之间必须始终保持相同,但 AppID 实际上可以不同。因此,您需要做的就是创建一个新的 AppID,它使用与原始应用程序相同的包标识符而不是通配符。
使用通配符的应用程序仍然需要一个普通的包标识符。通配符 AppID 允许您使用任何您喜欢的包标识符,但它仍然需要一个。
http://developer.apple.com/library/ios/#qa/qa1713/_index.html https://developer.apple.com/library/ios/#technotes/tn2259/_index.html
您实际上不需要更改应用程序的 ID,您只需为您已经发布的特定 ID 创建一个新的配置文件,然后使用新的代码签名证书对您的应用程序的升级版本进行签名。
也就是说,如果旧应用程序的捆绑包 ID 是 com.yourcompany.myapp,并使用 com.yourcompany.* 证书进行签名,那么您只需创建一个新的 com.yourcompany.myapp 证书,但您保留应用程序的捆绑包标识符与以前相同.
简而言之,您可以将使用通配符捆绑 ID 的已提交应用程序转换为唯一的应用程序 ID。但是,如果这样做,您将遇到一些问题,或者从用户的角度来看会产生影响。
Apple 使用捆绑 ID 来识别应用商店中的应用(因此称为 App ID :-))。
您面临的问题是您的应用程序已经在 App Store 上,并且可能有用户下载。现在,当您使用新的唯一 App ID 更新您的应用程序时,已经下载您的应用程序(使用旧 App ID)的用户将不会获得更新(使用新的唯一 App ID)。
发生这种情况的原因是您现在在应用程序中有一个新的捆绑 ID。与旧 App ID 无关联。由于应用程序只能引用一个 App ID。在整个生产版本和应用程序更新过程中保持 App ID 相同通常是一个好主意。
如果您为您的应用程序创建一个唯一 ID(您可以)。下载新更新应用程序的用户一切都会很好,但对于在更新之前下载您的应用程序的用户来说。好吧...您现在已经为这些用户正式创建了一个应用孤儿,这些用户将永远不会获得该更新,因为它与应用 ID 不匹配。
只要有办法解决这个问题。我不确定是否有。我只能建议您始终为您未来的生产发布应用程序创建唯一的 App ID。
为了创建一个允许您使用Apple 的 Push Notification服务和 Apple 的In App Purchase的应用程序。您将需要创建一个作为唯一 App ID 的 App ID。我总是建议您为您的应用程序使用唯一 ID。它会在以后的道路上为您节省大量的头痛。
为澄清起见,以下是唯一 ID
- com.companyname.appname(唯一 App ID 的首选命名约定)
- appname.companyname