iOS应用显示名称问题
问题
Unity版本2020.3,通过设置BuildingSettings的ProductName,导出XCode工程并编译ipa。发现ipa安装后的应用包名没有设置成功。
解决
官方说明:https://issuetracker.unity3d.com/issues/xcode-bundle-identifier-parts-in-xcode-project-missing-if-they-contain-chinese-symbols
Unity官方在 2021.2.17f1 中修复,但是项目还没有升级Unity版本,但是我们可以通过修改xcode的pbxproj描述文件的PRODUCT_NAME_APP对应的value,可以成功修改包名。
具体代码:
var projectPath = Unity导出XCode工程路径 + "/Unity-iPhone.xcodeproj/project.pbxproj";
PBXProject project = new PBXProject();
project.ReadFromFile(projectPath);
// main target
string mainTargetGuid = project.GetUnityMainTargetGuid();
// 设置PRODUCT_NAME_APP
project.SetBuildProperty(mainTargetGuid, "PRODUCT_NAME_APP", 产品名称);
测试验证通过,方案可行。