我知道有很多与我的问题相关的答案,例如。
Programmatically rename an XCode project
Renaming xcode 4 project and the actual folder
等
但请看下面的代码:
NSString *plistPath = @"...../TestingAPI-Info.plist";
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc]initWithContentsOfFile:plistPath];
[dictionary setObject:@"myTestingApp" forKey:@"CFBundleDisplayName"];
[dictionary writeToFile:plistPath atomically:YES];
我正在通过上面的代码更改应用图标的名称,
更改名称" MySuperApp => myTestingApp"
那么,使用上面的代码更改是否有效?我害怕app拒绝?我还想通过以上代码设置所有更改,例如捆绑标识符,捆绑名称..等等?
有效还是没有?通过使用上面的代码苹果拒绝我的应用程序??
答案 0 :(得分:4)
正如rckoenes所说,这不会对设备起作用。任何包内容都是只读的,包括info.plist。你无法覆盖它。
澄清:
只需在Xcode中打开Info.plist文件并将其重命名为您想要的任何内容。你不需要任何代码。您将在Xcode项目中找到YourProjectName-Info.plist
文件。
答案 1 :(得分:2)
writeToFile
调用无效,即内容永远不会在Info.plist
文件中更新。 API调用可能会返回错误的成功,但该文件的内容永远不会更改,因为应用程序包是只读(显然也是其中的内容)。
根据Appstore review guidelines,有一个暗示,
2.6在指定容器区域外读取或写入数据的应用程序将被拒绝。
但是,app bundle是否属于"指定的容器区" 是一个推测问题,因为只有Apple可以澄清这一点。 AFAIK我没有在任何地方读过关于app试图写入应用程序包的拒绝。
作为附注:未经用户同意,随机更改应用程序名称可能不是一个好主意。
希望有所帮助!
答案 2 :(得分:0)
这是非常不寻常的,应用程序名称是您的品牌,它已经完成了很多建议和思考。这有什么好处,为什么你的要求同样改名。