Porting
Menu Structure
The menu structure for GNUstep apps is different when they’re running on macOS than on other platforms. macOS has a special “app menu” named after the app that contains the About, Settings, Services, and Quit items, among others.
On other platforms, the GNUstep menu structure follows the NeXTstep/OpenStep convention, in which the first menu is “Info”, which contains the “Info Panel…”, “Preferences”, and “Help” items. The Services menu is at the top level of the app’s menu bar, as are the hide and quit menu items. Use this structure on non-macOS desktop platforms, regardless of whether the active theme draws a vertical, NeXT-style menu, or a horizontal, Apple- or Windows-style menu bar.
Missing Categories
On some platforms, the dynamic loader doesn’t include a shared object in a process if it doesn’t detect that the executable uses any symbols from that object. This can cause a problem for pure Objective-C shared objects, for example frameworks that add categories to existing classes, because the loader doesn’t detect the method selectors as referenced symbols.
The symptom of this problem is a runtime exception that occurs when an object receives -[NSObject doesNotRespondToSelector:].
