I want to create a new Xcode Source Editor Extension. This involves creating:
- A new Xcode project.
- A new Xcode Source Editor Extension target.
Both require names obviously. I'm wondering where these names appear to help me decide how much context I should add to these names. For example, if it appears under a menu item of "Acme Corp", then calling it "Xcode Extensions" is sufficient. If it doesn't appear under such name, then including Acme in the title would make sense.
Furthermore, I tried changing the CFBundleDisplayName of the Target, and noticed that it doesn't update the Editor menu item name for some reason.
Where are all the places users will see these names and which settings control them?
First, I'll define the following:
And, I'll assume you named the Application "MyApp" and the Extension "MyExtension".
This sets up a project with the following options:
CFBundleName = $(PRODUCT_NAME)
Product Name = $(TARGET_NAME)
(i.e.MyApp
)CFBundleName = $(PRODUCT_NAME)
(i.e.MyExtension
)CFBundleDisplayName = MyExtension
Here are all the places a user might see these names:
Application:
AppTarget/BuildSettings/ProductName
This is the container .app the user installs/runs to get the extension.
System Preferences > Extensions:
AppTarget/BuildSettings/ProductName
, in "Added Extensions".AppTarget/BuildSettings/ProductName
, underneath "Xcode Source Editor".ExtensionTarget/info.plist/CFBundleDisplayName
, in "Xcode Source Editor".Xcode > Editor menu:
ExtensionTarget/info.plist/CFBundleName
.Some key things to note:
CFBundleName
andCFBundleDisplayName
for the ExtensionTarget appear in two different places, so they should probably be the same.AppTarget/info.plist/CFBundleName
directly appears to have no effect in what the user sees. You must use the Product Name setting instead.