You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

已填写Bundle Identifier仍触发UnityException,非规范格式为何报错?

为什么我的非com开头Bundle Identifier仍触发Unity报错?

嘿,别着急,咱们先搞清楚关键一点:Unity报错里提到的com.YourCompanyName.YourProductName只是示例格式,不是强制要求必须以com开头!你触发这个错误,肯定是你的Bundle Identifier违反了Unity对它的底层命名规则,而非格式不符合示例。

下面是最常见的几种违规情况,你可以对照检查:

  • 某段以数字或下划线开头:每个用点.分隔的部分(比如comYourCompanyName都是段),必须以英文字母开头,不能是数字或下划线。比如123.MyGame_mycompany.GameDemo这种都会触发错误。
  • 包含非法字符:Bundle Identifier只能用英文字母(大小写都可)、数字、下划线_和点.,空格、连字符-、中文或者其他特殊字符(比如!@#)都不允许。
  • 存在空段:如果出现连续的点(比如com..MyGame),或者首尾带点(比如.MyGameMyGame.),都会导致某个段为空,这也是不被允许的。
  • 设置未完全生效:有时候你修改了Player Settings里的Bundle Identifier,但没点击编辑器右上角的Apply按钮,或者编辑器缓存没刷新,也会出现这种报错。可以试试重启Unity,或者手动点击Apply确认设置生效。

如果你想快速验证自己的Bundle Identifier是否合规,可以对照这个正则表达式:

^[A-Za-z][A-Za-z0-9_]*(\.[A-Za-z][A-Za-z0-9_]*)*$

只要你的标识符符合这个规则,不管是不是com开头,都能通过Unity的校验~

内容的提问来源于stack exchange,提问作者Yuki

火山引擎 最新活动