macos - Mac 应用程序名称

标签 macos cocoa objective-c++

我们的应用程序部署结构是这样的:

  1. 用户可以从服务器下载应用程序,
  2. 应用程序名称本身包含时间戳,当用户请求时,在特定时间段内,它应该提示用户提供更多信息。

因此,当用户下载应用程序时,应用程序名称将包含 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/

相关文章:

c - 阻止调用 `dlsym` (RTLD_NEXT)

python - Wing101 默认为 python 2.7,即使我在 Mac 上安装了最新版本

macos - 在 Mac 上重新安装 Matplotlib

objective-c - 为什么自动释放的 NSTask 会无限期地阻塞 NSOperation 线程上的运行循环?

c++ - Objective-C 实例到 C++ 类

Python 使用 Fileinput 替换单词

objective-c - 获取委托(delegate)方法的返回值

objective-c - 如果盖子关闭,如何以编程方式从 sleep 中醒来?

iphone - 使用将网络用于 iphone 应用程序 objective-c 的 c/c++ 库

c++ - 通过委托(delegate)方法获取 C++ 模型以通知 Objective-C++ Controller