各位程序员朋友们,你们有没有遇到过这样的问题:在注册Bundle ID时,突然弹出一个‘An App ID Identifier ‘..........’ is not available’的错误提示?别着急,今天就来聊聊这个让人头疼的问题,看看我们如何解决它。
什么是Bundle ID?
Bundle ID,也就是包ID,也可以称为APP ID或应用ID,它是iOS应用在全球范围内的唯一标识。不管你的代码如何修改,图标和应用名称如何更换,只要Bundle ID不变,iOS系统就认为这是同一个应用。每开发一个新应用,我们都需要到Apple的开发者中心创建一个Bundle ID。
Bundle ID的类型
- Explicit App ID(明确的APP ID):格式一般是com.domainname.appname,这种ID只能用于一个应用。
- Wildcard App ID(通配符APP ID):格式一般是com.domainname.*,这种ID可以用于多个应用,但不能使用通知功能,所以并不常用。
问题场景与解决办法
有时候,我们可能会遇到这样的问题:公司注册开发者账号的Apple ID被用作免费的真机测试账号,导致使用这个账号注册Bundle ID时出现错误。这是因为,当这个账号被用作免费真机测试时,Bundle ID也跟着被注册了,但因为我们没有付费,所以无法删除这个Bundle ID。
解决方法是:给苹果客服打电话授权,将免费真机测试的Bundle ID删除掉。苹果公司告诉我们,免费的Bundle ID到期后会自动删除,但如果你急需使用,可以直接联系客服进行删除。
其他原因及解决办法
除了上述原因,还可能遇到以下情况:
- 别人注册占用了这个Bundle ID,我们只能改名字了。在应用上线之前,我们可以直接修改info.plist文件中的Bundle display name来更改应用名称。
- 如果需要修改Products下面的xx.app的名字,我们需要修改Project->Edit active target->Build->Product Name。如果要修改targets、executables下面的名字,我们需要修改Project->Edit active target->General和Properties。
以上都只是修改了产生的product、target、executable等,其实工程文件及程序中的名字并没有改变。如果需要修改所有的名字,可以参考以下链接:[修改项目名字链接](https://www.jianshu.com/p/2887d6fb5769)。
关于Bundle ID的命名合法性,一般格式是com.domainname.appname。
小结与拓展
今天我们讨论了注册Bundle ID时可能遇到的问题以及解决办法。希望这篇文章能帮助到大家。如果你还有其他关于编程的问题,欢迎关注新派编程网(www.xjpbg.com),我会在这里和大家分享更多编程心得和技术干货。
——林译川,新派编程网资深编辑
