0

我想创建一个新的 Xcode Source Editor Extension。这涉及创建:

  1. 一个新的 Xcode 项目。
  2. 一个新的 Xcode Source Editor Extension 目标。

显然,两者都需要名称。我想知道这些名称出现在哪里可以帮助我决定应该为这些名称添加多少上下文。例如,如果它出现在“Acme Corp”的菜单项下,则称其为“Xcode Extensions”就足够了。如果它没有出现在这样的名称下,那么在标题中包含 Acme 是有意义的。

此外,我尝试更改目标的 CFBundleDisplayName,并注意到由于某种原因它没有更新编辑器菜单项名称。

用户将在哪里看到这些名称以及控制它们的设置在哪里?

4

1 回答 1

0

首先,我将定义以下内容:

  • AppTarget:应用程序的目标,在创建新的 macOS 应用程序时创建。
  • ExtensionTarget:扩展的目标,在添加“Xcode Source Editor”目标后创建。

而且,我假设您将应用程序命名为“MyApp”,扩展名为“MyExtension”。

这将设置一个具有以下选项的项目:

  • AppTarget > info.plist:
    • CFBundleName = $(PRODUCT_NAME)
  • AppTarget > 构建设置:
    • Product Name = $(TARGET_NAME)(即MyApp
  • 扩展目标/info.plist:
    • CFBundleName = $(PRODUCT_NAME)(即MyExtension
    • CFBundleDisplayName = MyExtension

以下是用户可能会看到这些名称的所有位置:

  • 应用

    • AppTarget/BuildSettings/ProductName

      这是用户安装/运行以获取扩展的容器 .app。

  • 系统偏好 > 扩展

    • AppTarget/BuildSettings/ProductName,在“添加的扩展”中。
    • AppTarget/BuildSettings/ProductName,在“Xcode 源代码编辑器”下方。
    • ExtensionTarget/info.plist/CFBundleDisplayName,在“Xcode 源代码编辑器”中。
  • Xcode > 编辑器菜单

    • ExtensionTarget/info.plist/CFBundleName.

需要注意的一些关键事项:

  • CFBundleName并且CFBundleDisplayName对于 ExtensionTarget 出现在两个不同的地方,所以它们可能应该是相同的。
  • 从用户的角度来看,他们只关心扩展。但是,由于扩展必须与 .app 一起提供,我们必须向用户公开应用和扩展。因此,他们将在不同的地方看到这两个名字。您可能还希望使这些名称保持一致。
  • 尝试AppTarget/info.plist/CFBundleName直接修改似乎对用户看到的内容没有影响。您必须改用产品名称设置。
于 2021-04-23T04:16:03.647 回答