我们的应用程序部署结构是这样的:
- 用户可以从服务器下载应用程序,
- 应用程序名称本身包含时间戳,当用户请求时,在特定时间段内,它应该提示用户提供更多信息。
因此,当用户下载应用程序时,应用程序名称将包含 APPName_24234442424234。
NSString *pAppName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
它即将变为 NULL;然后我尝试了这个:
NSString *pAppName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
我期望它是应用程序的名称,但它返回我们在项目创建期间设置的名称。
有没有办法以编程方式获取应用程序的“更改名称”?
最佳答案
如果您的服务器只是在将应用程序包装器发送给请求者之前更改其名称,则 infoDictionary 不会更改。您可能想使用
[[NSBundle mainBundle] bundlePath]
或
[[NSBundle mainBundle] bundleURL]
然后解析该字符串以找出包装器的实际名称。
乔
关于macos - Mac 应用程序名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7444187/