PhoneGap Build插件变量设置及iOS应用名空格丢失问题咨询
你在config.xml中声明cordova-plugin-app-name插件变量的方式是正确的,但PhoneGap Build对这类插件的变量处理可能存在兼容性或优先级问题,导致你的配置没生效。下面是几个针对性的解决思路:
指定插件稳定版本
旧版本的插件可能对PhoneGap Build的支持不完善,建议在config.xml中明确指定插件的最新稳定版本,避免拉取到兼容性差的版本:<plugin name="cordova-plugin-app-name" spec="latest"> <variable name="APP_NAME" value="My app name containing spaces" /> </plugin>你也可以替换
latest为具体版本号(比如1.0.2,可查看插件更新日志确认),这样构建过程会更可控。直接修改iOS Info.plist配置
PhoneGap Build有时会优先使用<name>标签的值生成iOS的CFBundleDisplayName,覆盖插件的配置。你可以直接在config.xml中添加iOS平台的自定义配置,强制设置显示名称:<platform name="ios"> <config-file parent="CFBundleDisplayName" target="*-Info.plist"> <string>My app name containing spaces</string> </config-file> </platform>这种方式绕过插件直接修改系统配置文件,可靠性更高,PhoneGap Build会直接将该配置注入到iOS应用的信息列表中。
清理PhoneGap Build缓存
平台的缓存机制可能导致新配置不生效,前往PhoneGap Build的项目页面,找到「Clear Cache」选项清理缓存后重新构建,确保新的配置被正确加载。验证配置是否生效
构建完成后,你可以解压IPA文件,查看Payload/YourApp.app/Info.plist中的CFBundleDisplayName字段。如果该字段值正确但主屏幕显示异常,可能是iOS 11的系统缓存问题,尝试重启设备或重新安装应用。
内容的提问来源于stack exchange,提问作者schellmax

