# When will the GlyphsSDK/Xcode Templates/Glyphs Dev for G4 be updated?

**URL:** <https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260>\
**Category:** Glyphs\
**Created:** [September 11, 2026, 6:09am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260 "2026-09-11T06:09:33Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bytes](https://forum.glyphsapp.com/letter_avatar_proxy/v4/letter/b/5daacb/32.png) [@Bytes](https://forum.glyphsapp.com/u/Bytes)\
**Post date:** [September 11, 2026, 6:09am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/1 "2026-09-11T06:09:34Z")

</div>

As the title says.

[https://github.com/schriftgestalt/GlyphsSDK/tree/Glyphs4/XcodeTemplates/Glyphs%20Dev](https://github.com/schriftgestalt/GlyphsSDK/tree/Glyphs4/XcodeTemplates/Glyphs%20Dev)

---

<div class="post-metadata">

**Author:** ![GeorgSeifert](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/georgseifert/32/259_2.png) [@GeorgSeifert](https://forum.glyphsapp.com/u/GeorgSeifert)\
**Post date:** [September 11, 2026, 7:09am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/2 "2026-09-11T07:09:41Z")

</div>

The templates are updated for Glyphs 4. (Your link misses a space)

> **[GlyphsSDK/Xcode Templates/Glyphs Dev at Glyphs4 · schriftgestalt/GlyphsSDK](https://github.com/schriftgestalt/GlyphsSDK/tree/Glyphs4/Xcode%20Templates/Glyphs%20Dev)**
>
> Glyphs4/Xcode%20Templates/Glyphs%20Dev

---

<div class="post-metadata">

**Author:** ![Bytes](https://forum.glyphsapp.com/letter_avatar_proxy/v4/letter/b/5daacb/32.png) [@Bytes](https://forum.glyphsapp.com/u/Bytes)\
**Post date:** [September 11, 2026, 8:10am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/3 "2026-09-11T08:10:33Z")

</div>

I got clone Glyphs4 [Glyphs Dev](https://github.com/schriftgestalt/GlyphsSDK/tree/Glyphs4/Xcode%20Templates/Glyphs%20Dev) create a new project,I see Build Setting stll is ‘Glyphs 3’ in

 ![image](https://forum.glyphsapp.com/uploads/default/original/3X/7/7/77da651909c81250f58a5b7275d395baa53d5fbd.png)

![image](https://forum.glyphsapp.com/uploads/default/optimized/3X/1/e/1ee33e4001839ab8e39cc5959673914455a71a5b_2_690x28.png)

Is it wrong that I cloned it?

---

<div class="post-metadata">

**Author:** ![GeorgSeifert](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/georgseifert/32/259_2.png) [@GeorgSeifert](https://forum.glyphsapp.com/u/GeorgSeifert)\
**Post date:** [September 11, 2026, 9:55am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/4 "2026-09-11T09:55:48Z")

</div>

There are some bits that I missed. I fixed it (among some more issues).

---

<div class="post-metadata">

**Author:** ![Bytes](https://forum.glyphsapp.com/letter_avatar_proxy/v4/letter/b/5daacb/32.png) [@Bytes](https://forum.glyphsapp.com/u/Bytes)\
**Post date:** [September 12, 2026, 1:55am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/5 "2026-09-12T01:55:46Z")

</div>

It turns out that a lot of header files in G3’s code can’t be found on the new SDK.

 ![image](https://forum.glyphsapp.com/uploads/default/original/3X/6/8/68f998ca1608fbf7a710ecc62c5204ddf1131e37.png)

 ![image](https://forum.glyphsapp.com/uploads/default/original/3X/4/5/45d0c30912c9c8e9744b80032aacf8748cbd131c.png)

 ![image](https://forum.glyphsapp.com/uploads/default/original/3X/9/3/93697bf579bee6a6533c4e1c349aa6e01fcdbf3f.png)

---

<div class="post-metadata">

**Author:** ![FlorianPircher](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/florianpircher/32/30457_2.png) [@FlorianPircher](https://forum.glyphsapp.com/u/FlorianPircher)\
**Post date:** [September 12, 2026, 5:00am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/6 "2026-09-12T05:00:27Z")

</div>

In Glyphs 4, use the umbrella headers instead:

```objc
#import <GlyphsCore/GlyphsCore.h>

```

Or directly as:

```objc
@import GlyphsCore;

```

No need to import the individual headers of each framework.

---

<div class="post-metadata">

**Author:** ![Bytes](https://forum.glyphsapp.com/letter_avatar_proxy/v4/letter/b/5daacb/32.png) [@Bytes](https://forum.glyphsapp.com/u/Bytes)\
**Post date:** [September 12, 2026, 9:10am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/7 "2026-09-12T09:10:02Z")

</div>

Thanks,Another problem has come up:

I’m making a Palette plugin for G4. I added .h and .m file from another project, but after adding them, PaletteView doesn’t show up in G4. If I delete these two files, the view shows up again. I even tried creating new files with the same file names, but the same problem still happens. What could be causing this?Turns out I also ran into this back in G3.

Only after I delete these two files, create new files with file names I haven’t used before, and then re-import these two files, sometimes the view can show up in G4 again.Does Glyphs have any caching or mechanism?

---

<div class="post-metadata">

**Author:** ![GeorgSeifert](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/georgseifert/32/259_2.png) [@GeorgSeifert](https://forum.glyphsapp.com/u/GeorgSeifert)\
**Post date:** [September 12, 2026, 10:22am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/8 "2026-09-12T10:22:45Z")

</div>

I answered it in the message you send: It was a problem with the info.plist generation. This has to be set in Build settings: `INFOPLIST_KEY_NSPrincipalClass = MyClassName` (MyClassName has to be the actual plugin class, of cause).

---

<div class="post-metadata">

**Author:** ![Bytes](https://forum.glyphsapp.com/letter_avatar_proxy/v4/letter/b/5daacb/32.png) [@Bytes](https://forum.glyphsapp.com/u/Bytes)\
**Post date:** [September 14, 2026, 5:13am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/9 "2026-09-14T05:13:15Z")

</div>

In gG4, After changing the macro panel to the script panel, will the printToMacro`([[NSApp delegate] performSelector:@selector(printToMacro:) withObject:@"1";]`)output information no longer be visible?

 ![image](https://forum.glyphsapp.com/uploads/default/original/3X/5/d/5d9b41100cc69eed3c0dc1f4249aedd00f65a0fe.png)

Or are just these few interfaces in this header file deprecated?

 ![image](https://forum.glyphsapp.com/uploads/default/original/3X/2/6/260ecd597acd39b61a09224ca172cc1d44ef2b38.png)

---

<div class="post-metadata">

**Author:** ![GeorgSeifert](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/georgseifert/32/259_2.png) [@GeorgSeifert](https://forum.glyphsapp.com/u/GeorgSeifert)\
**Post date:** [September 14, 2026, 7:32pm UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/10 "2026-09-14T19:32:09Z")

</div>

> [@Bytes](#):
>
> In gG4, After changing the macro panel to the script panel, will the printToMacro`([[NSApp delegate] performSelector:@selector(printToMacro:) withObject:@"1";]`)output information no longer be visible?

I fixed it.

> [@Bytes](#):
>
> Or are just these few interfaces in this header file deprecated?

What do you mean?

---

<div class="post-metadata">

**Author:** ![Bytes](https://forum.glyphsapp.com/letter_avatar_proxy/v4/letter/b/5daacb/32.png) [@Bytes](https://forum.glyphsapp.com/u/Bytes)\
**Post date:** [September 15, 2026, 1:29am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/11 "2026-09-15T01:29:41Z")

</div>

> [@GeorgSeifert](#):
>
> What do you mean?

1、Here’s another question: has those API been deprecated? Between #if 0 and #endif.

 ![image](https://forum.glyphsapp.com/uploads/default/original/3X/c/5/c5667ae2a02dccab563b5b86ad2f4ec850a21793.jpeg)

2、There’s one more question：

This function for adding menus isn’t working anymore.  
in G4

```objectivec
- (void)addMenuItemsForEvent:(NSEvent *)theEvent controller:(GSEditViewController *)controller toMenu:(NSMenu *)theMenu;

```

this is G3:

```objectivec
- (void)addMenuItemsForEvent:(NSEvent *)theEvent controller:(NSViewController<GSGlyphEditViewControllerProtocol> *)controller toMenu:(NSMenu *)theMenu

```

I have the following registration callback function.The right-click menu works fine in G3, but it doesn’t execute in G4.

```objectivec
[GSCallbackHandler addCallback:self forOperation:GSDrawBackgroundCallbackName];

```

and

```objectivec
- (void)drawBackgroundForLayer:(GSLayer *)layer options:(NSDictionary *)options{}

```

3、also,In G4, using GSFormatVersionCurrent for the format gives the wrong result. When I changed it to GSFormatVersion3, it worked correctly.

```objectivec
NSData *glyphsDataCurrent = [GSLayer layerDataFromDict:relationLayer.selectedObjects format:GSFormatVersion3 error:nil];
NSDictionary *pathDict = [NSPropertyListSerialization propertyListWithData:glyphsDataCurrent options:0 format:nil error:nil];
[targetLayer pasteDict:pathDict format:GSFormatVersion3 selectedNodes:nil error:nil];

```

4、I used to define these two methods myself in @protocol GSApplicationPluginProtocol and wrote them there, but G4 now has the GSApplicationPluginProtocol.h file, and the two methods I defined no longer work. How should I redefine these two methods?

```objectivec
@protocol GSApplicationPluginProtocol <NSObject>
- (void)showAlert:(NSString *)title message:(NSString *)message OKButton:(nullable NSString *)OKButton;
- (GSDocument *)openDocumentWithContentsOfURL:(NSURL *)url display:(BOOL)display;
@end

```

 ![image](https://forum.glyphsapp.com/uploads/default/original/3X/6/b/6ba82b3ea4af899ec62f65eac69027f17ac042ea.png)

---

<div class="post-metadata">

**Author:** ![GeorgSeifert](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/georgseifert/32/259_2.png) [@GeorgSeifert](https://forum.glyphsapp.com/u/GeorgSeifert)\
**Post date:** [September 15, 2026, 9:12am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/12 "2026-09-15T09:12:39Z")

</div>

> [@Bytes](#):
>
> Here’s another question: has those API been deprecated? Between #if 0 and #endif.

They have been removed. Did you use those methods? What for?

> [@Bytes](#):
>
> This function for adding menus isn’t working anymore.  
> in G4

You need to add a `GSContextMenuCallbackName` now.

> [@Bytes](#):
>
> also,In G4, using GSFormatVersionCurrent for the format gives the wrong result. When I changed it to GSFormatVersion3, it worked correctly.

Did you use `GSFormatVersion3` in both places? If so, can you send me the file where this doesn’t work.  
But why do you need to run it through the Serialization?

> [@Bytes](#):
>
> I used to define these two methods myself in @protocol GSApplicationPluginProtocol and wrote them there, but G4 now has the GSApplicationPluginProtocol.h file, and the two methods I defined no longer work. How should I redefine these two methods?

The document method should still work. The showAlert method got more arguments. As an undocumented method, that can happen. It is easy enough to set up an NSAlert yourself.

And I would not do that with a protocol but like this:

```auto
@interface NSApplication ()
- (NSModalResponse)showAlert:(NSString *)title message:(NSString *)message OKButton:(NSString *)OKButton cancelButton:(nullable NSString *)cancelButton otherButton:(nullable NSString *)otherButton;
- (NSDocument *)openDocumentWithContentsOfURL:(NSURL *)absoluteURL display:(BOOL)displayDocument;
@end

```

---

<div class="post-metadata">

**Author:** ![Bytes](https://forum.glyphsapp.com/letter_avatar_proxy/v4/letter/b/5daacb/32.png) [@Bytes](https://forum.glyphsapp.com/u/Bytes)\
**Post date:** [September 15, 2026, 9:24am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/13 "2026-09-15T09:24:20Z")

</div>

> [@GeorgSeifert](#):
>
> Did you use `GSFormatVersion3` in both places? If so, can you send me the file where this doesn’t work.  
> But why do you need to run it through the Serialization?

like this

> [@Copy the hints on a path while copying from the path In script or plug-in？](https://forum.glyphsapp.com/t/copy-the-hints-on-a-path-while-copying-from-the-path-in-script-or-plug-in/25212):
>
> What is a good way to copy the hints (such as corner parts) on a path while copying it from the path? I mean the hints in the current layer applied to a path.

I also want copy shapes with hints. It’s not that it doesn’t work, what I mean is that using GSFormatVersion3, the pasted outline is correct. If it’s GSFormatVersionCurrent, the path can be pasted too, but it’s wrong.

---

<div class="post-metadata">

**Author:** ![GeorgSeifert](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/georgseifert/32/259_2.png) [@GeorgSeifert](https://forum.glyphsapp.com/u/GeorgSeifert)\
**Post date:** [September 15, 2026, 9:29am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/14 "2026-09-15T09:29:19Z")

</div>

> [@Bytes](#):
>
> If it’s GSFormatVersionCurrent, the path can be pasted too, but it’s wrong.

Could you give me some sample data that shows this?

---

<div class="post-metadata">

**Author:** ![Bytes](https://forum.glyphsapp.com/letter_avatar_proxy/v4/letter/b/5daacb/32.png) [@Bytes](https://forum.glyphsapp.com/u/Bytes)\
**Post date:** [September 15, 2026, 11:52am UTC](https://forum.glyphsapp.com/t/when-will-the-glyphssdk-xcode-templates-glyphs-dev-for-g4-be-updated/37260/15 "2026-09-15T11:52:07Z")

</div>

I sent you a message on the site.
