【问题标题】:Nativescript - iOS app name?Nativescript - iOS 应用程序名称?
【发布时间】:2017-06-18 16:22:18
【问题描述】:

iOS 版本构建中的应用名称是如何设置的?

查看 app/App_Resources/iOS/Info.plist - 我明白了

<key>CFBundleDisplayName</key> <string>${PRODUCT_NAME}</string> <key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string>

这 2 个是如何设置的,它们是什么时候设置的(在准备期间?)?

【问题讨论】:

    标签: nativescript


    【解决方案1】:

    默认情况下,应用的名称与 PRODUCT_NAME 相同,后者是项目名称(您的应用的根文件夹名称)。 EXECUTABLE_NAME 是生成的 .ipa 文件的名称。我建议不要管这两个,就这样:)

    您可以将以下内容添加到 Info.plist 以设置您自己的名称:

    <key>CFBundleDisplayName</key>
    <string>My App</string>
    

    更新:如果您需要从 Info.plist 文件中获取值,您可以这样做:

    var utils = require("utils/utils");
    var mainBundle = utils.ios.getter(NSBundle, NSBundle.mainBundle);
    var appName = mainBundle.infoDictionary.objectForKey("CFBundleDisplayName"));
    

    【讨论】:

    • 那么这就是将用于在 App Store 中显示的名称?有没有办法在运行时从应用程序中检索这些值?谢谢。
    • 是和不是。默认情况下,AppStore 将使用它来设置名称,但在 iTunesConnect 中,您可以将 AppStore 名称更改为其他名称(在发布之前)。当您在设置和主屏幕中看到它时,此键主要用于命名应用程序本身。
    • 用代码示例更新了我上面的帖子以从 Info.plist 中获取值
    • "CFBundleDisplayName" 键用于设置和主屏幕,对吗?是的,这就是我想要设置的。谢谢。
    • 请注意,utils.ios.getter(...) 已弃用。您应该直接访问本机属性,如下所示:const mainBundle = NSBundle.mainBundle;,然后使用mainBundle.infoDictionary.objectForKey('CFBundleDisplayName'); 访问所描述的显示名称属性。
    猜你喜欢
    • 2015-07-24
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 2012-06-09
    相关资源
    最近更新 更多