Resources

2019r1 Release Notes

From Xojo Documentation

Xojo 2019 Release 1 is now available with over 200 changes and improvements.

Major changes include:

  • Xcode 10.2 compatibility.
  • Significant improvements to performance of Layout Editor, especially with web projects.
  • Improvements to URLConnection: SendSync now works with threads, added a new HTTPStatus property, URLConnection also now appears in Library for desktop projects.
  • Free Pi license now builds for Console or Desktop.
  • Spell checking now also supported in TextArea on Linux.
  • Dynamic Constants are now referred to as Localized Strings.
  • General AutoComplete improvements.
  • SQLite updated to 3.26.0.

Release Notes

Bug Fixes

54481Fixed as a result of fixing 54023
54546BuildBuild window buttons no longer overlap.
54615BuildiOS MinimumOSVersion plist key is now set to 10.0.
54959BuildSpaces in the fully qualified path name for the app being debugged no longer cause debug run issues on Windows.
54662Crashes & Assertions » Failed AssertionDebugging 64-bit Windows apps no longer fails with a "Line number out of range" assertion in certain cases when stepping into functions.
54960Crashes & Assertions » Failed AssertionMade it more obvious that the "Line number out of range" error *should* be reported and is non-fatal.
54067Crashes & Assertions » IDE Unhandled ExceptionInvalid application names no longer cause the IDE to raise an uncaught exception.
54294Crashes & Assertions » IDE Unhandled ExceptionStopping an app from being sent to the Remote Debugger stub no longer causes a NilObjectException.
54486Crashes & Assertions » IDE Unhandled ExceptionOutOfBoundsException when generating a relative path no longer occurs.
54527Crashes & Assertions » IDE Unhandled ExceptionA NilObjectException no longer occurs when building a second time.
54528Crashes & Assertions » IDE Unhandled ExceptionA NilObjectException that could occur if you cancelled a run of the debugger has been fixed.
54560Crashes & Assertions » IDE Unhandled ExceptionRemoving a line of code that is shown in the debugger then toggling the break point in the debugger no longer causes an exception.
54566Crashes & Assertions » IDE Unhandled ExceptionIDE no longer stops with a NilObjectException in some situations during launch.
54757Crashes & Assertions » IDE Unhandled ExceptionNilObjectException no longer occurs in some situations when debugging Xojo.Net.HTTPSocket.
54966Crashes & Assertions » IDE Unhandled ExceptionNilObjectException no longer occurs when configuring Remote Debugging on Windows.
55066Crashes & Assertions » IDE Unhandled ExceptionFixed a NilObjectException that could occur when undoing a project item deletion.
55099Crashes & Assertions » IDE Unhandled ExceptionIf the iOS app being started crashes on startup, before the IDE has had a chance to talk to it the communications channel can shut down and be Nil when we try to start talking to it. Now the IDE catches that error and puts a message about this in the message log.
55238Crashes & Assertions » IDE Unhandled ExceptionFixed a crash caused by dropping a file onto the debugger tab's Navigator during a debug run.
54631Database Plugins » MySQLMySQLCommunityServer: Editing a RecordSet, that originated from a PreparedStatement, no longer crashes (depending on certain field types on the Table).
52045Database Plugins » ODBCRetrieving dates for macOS 64-bit builds now works correctly
52926Database Plugins » ODBCFor 64-bit Windows builds, updating a binary/image column with RecordSet.Update no longer fails with an invalid precision error.
55116Database Plugins » SQLiteSQLiteDatabase no longer crashes when out of memory situations arise, instead an error is raised.
54381FrameworkOpening an OpenDialog from a thread now properly raises a ThreadAccessingUI exception.
43433Framework » AllWhen IndexOf is used for Variant arrays we now compare against the content of the two types instead of the memory addresses (except when dealing with Objects/Ptrs of course).
54315Framework » AllListbox DrawReorderRows newPosition parameter is no longer off by one when dragging the last row and dropping it at the end.
54412Framework » AllXojo.Net.HTTPSocket events are no longer raised on a pre-emptive thread, this would cause all sorts of random/odd behavior depending on the thread context switches.
54502Framework » AllXojo.Net.HTTPSocket HTTP POST now properly sends the request content on Windows.
54811Framework » AllURLConnection Send requests are now closed before the ContentReceived or FileReceived events are called.
54820Framework » AllURLConnection string encoding for the Response headers are now consistent across platforms. Also updated the string encoding for the the content string, returned in ContentReceived, to adopt the content-type encoding (charset).
54902Framework » AllWindow/Canvas Backdrop picture now draws correctly at HiDPI.
54924Framework » AllBitwiseXor is defined to return a Uint64 like BitwiseOr and BitwiseAnd.
54926Framework » AllFixed a few incorrect uppercase/lowercase translations for the WindowsANSI encoding.
54927Framework » AllURLConnection now automatically handles compressed content-encodings on Windows and Linux (by decompressing for you like macOS does).
55093Framework » AllAssigning an empty array produces the correct empty array in the string version of the JSONItem.
54512Framework » LinuxURLConnection POST, PUT or PATCH request without any request content set is now correctly handled on Linux.
54870Framework » LinuxGetting the length of a string (using Len) with an unknown encoding now returns a consistent length across platforms.
54988Framework » LinuxStringShape rotation is no longer incorrectly offset.
55055Framework » LinuxAdding "Tab" as a Menu shortcut key no longer truncates the shortcut key to “T”.
31742Framework » WebWebPopupMenu.ListCount is now a property instead of a method so that it appears in the debugger.
54463Framework » WebWeb apps running on Windows with clients running on iOS will now disconnect properly if the connection goes away for 5 seconds.
55072Framework » WebApp.AutoQuit works on Xojo Cloud again.
51627Framework » WindowsLR search obeys the preferences setting for Find (immediately or when enter return are pressed). When LR loads search results the scroll bars are momentarily hidden on Windows and restored when the list is finally filled.
53848Framework » WindowsOn Windows/Linux, Picture resource files that cannot be accessed no longer causes the app to crash when that Picture is accessed.
54062Framework » WindowsListbox hierarchical widgets and checkboxes no longer look blurry.
54190Framework » WindowsFixed an issue where the TextArea Font size was not being respected on a secondary display (in a multi-monitor multi-resolution setup).
54392Framework » WindowsUsing Graphics.DrawString with a dynamically installed font no longer crashes.
54503Framework » WindowsA disabled TextField control now inherits the default grey background color instead of appearing transparent.
54517Framework » WindowsGroupBox caption now respects the size, bold, italic and underline styles instead of being ignored when drawn.
54592Framework » WindowsURLConnection now correctly honors the timeout when SendSync is called (instead of always defaulting to 30 seconds).
54608Framework » WindowsURLConnection error messages are no longer empty on Windows.
54673Framework » WindowsWhen controls are initially created on a ContainerControl we no longer report the incorrect visible state.
54685Framework » WindowsURLConnection ReceivingProgressed event now correctly reports the totalBytes.
54689Framework » WindowsListbox headers are no longer hidden when a Listbox is placed in a ContainerControl.
54743Framework » WindowsChanging the font of a TabPanel to a bigger/wider font size now correctly draws the last tab instead of it appearing overlapped by something.
54822Framework » WindowsURLConnection response headers are now updated correctly each time a request is made, where before subsequent requests would include outdated headers.
54907Framework » WindowsURLConnection picks up proxy settings correctly.
54945Framework » WindowsThe background color of TextArea in the Windows IDE Layout Editor no longer appears in the bottom-right Scrollbar region (now matching the runtime behavior on Windows).
54946Framework » WindowsClicking on the non-client areas (i.e. border or scrollbars) of the TextArea control no longer raises MouseDown events, this is consistent with the behavior on macOS.
55165Framework » WindowsSetting fixed ListBox ColumnWidths no longer raises floating point exceptions which could potentially crash the app depending on the system's FPU settings.
55322Framework » WindowsFixed a potential crash on quit with Listboxes that contain Checkboxes or Hierarchical widgets.
43484Framework » macOSClosing a Window no longer leaks memory.
54358Framework » macOSSheet windows obey customer defined background color again.
54410Framework » macOSURLConnection.SendSync no longer intermittently returns empty strings.
54430Framework » macOSRectControl.Transparent: this property is now ignored on macOS, i.e. all Controls are Transparent by default and will remain as such even if Transparent is False. This property still remains as an important optimization for Windows (when Transparent is False).
54969Framework » macOSDestructors for class instances attached to the App object get destroyed properly.
54330IDEMessage Log no longer does queue flushing and all platforms use a similar style for showing the lines. You’ll only see the last 1500 but all the messages are there for when the debug session ends.
54752IDEOdd error message saying "cant save to location %1" now says "location" instead of %1.
33045IDE » Auto CompleteCode Editor no longer suggests "as" after a = on a Dim line.
37458IDE » Auto CompletePicture.HandleType, MenuItem.HandleType, iOSDatePicker and several other related enumerations now autocomplete properly.
54574IDE » Auto CompleteXojoScript.States autocompletes properly again.
43602IDE » Build AutomationThe copy file step editor on Linux can accept files and folders by drag and drop again.
48373IDE » Build AutomationStage Code can no longer be set to an invalid value in an IDE Script.
51257IDE » Build AutomationAdded a second button to the copy file step editor command bar for adding folders.
27555IDE » Code EditorRemoving a property from a control class that is exposed in the Inspector Behavior will update the instances and refresh the Inspector.
30926IDE » Code EditorWord selection behaves the same as in the other areas such as the Constant Editor.
32398IDE » Code EditorPressing TAB after changing the name of a Method, External Method or Delegate correctly focuses on the Parameters field again.
33990IDE » Code EditorA right click on a webpage named in a session object will permit you to jump to the page itself in the IDE. See much longer explanation in the last note on this case about this as there are some special considerations when used with Me or Self.
50009IDE » Code EditorNavigation with arrow keys behaves better and no long takes many many short jumps.
50465IDE » Code EditorAutocomplete now does a better job with Xojo framework items to make sure that it looks up things from the Xojo framework rather than the global framework. For example, Xojo.IO.FolderItem vs. just FolderItem.
51136IDE » Code EditorScroll bars hide when appropriate, especially after deleting a really long line.
51292IDE » Code EditorBreakpoint code editor icons no longer disappear when you delete a line and the breakpoint has just moved up.
51327IDE » Code EditorWindows IDE: Pressing Ctrl+C in the code editor, while nothing is selected, no longer inserts a line continuation character.
51366IDE » Code EditorPair literal is correctly colored.
51452IDE » Code EditorExtract method dialog no longer incorrectly rejects names that start with "ins”.
53199IDE » Code EditorClicking a URL will show the URL on mouse up not mouse down.
53820IDE » Code EditorWhen selecting "goto <control name>" in the code editor contextual menu you get taken to it as expected.
54023IDE » Code EditorBreakpoint and bookmarks are not dropped inadvertently when setting one, deleting some text and then moving away and back to the code item.
54241IDE » Code EditorMade it so the plain text of copied code has indentations.
54263IDE » Code EditorClicking on the block grouping lines selects the right lines.
54318IDE » Code EditorDouble clicking a word behaves properly.
54321IDE » Code EditorNested code that is completed using super-returns (Shift-Return) does the nested items properly.
54331IDE » Code EditorComputed properties setter and getter local variables behave correctly with autocomplete.
54408IDE » Code EditorAutocomplete suggestions are properly working again.
54548IDE » Code EditorIDE script editor window responds to the scale factor changed event correctly.
54572IDE » Code EditorThe line continuation character is colored appropriately.
55169IDE » Constant EditorConstant editor now supports Cut, Copy & Paste in the localized value cell.
50298IDE » DebuggerDebugger only shows left and right for Pairs.
54353IDE » DebuggerIDE draws the bug icon for an exception at runtime over the hit box instead of under it.
54911IDE » DebuggerIDE on Windows will send a 32-bit macOS app and will continue to not send 64-bit macOS apps since the Windows IDE cannot build them.
54798IDE » FileIOIDE no longer forgets the original format of a project when a license is missing and then subsequently installed.
55122IDE » FileIOImporting a web page that is named the same as an existing one replaces as it should (this has always been the case and is by design).
54886IDE » FileTypes EditorDelete button now enables when you put focus in a File Type of a File Type Set in an existing project.
54887IDE » FileTypes EditorOdd left and right scrolling no longer occurs.
55009IDE » FileTypes EditorFile Type Set Editor scrolls as expected with a long list of file types that have been collapsed.
55010IDE » FileTypes EditorSlowness when collapsing and expanding a long list of File Type Set is fixed.
26997IDE » Find & ReplaceSome search and replace fixes: internal script steps can be searched and replacements work, copy files steps can be searched (replace does not work at this time), external script steps can be searched (replace does not work at this time).
51036IDE » Find & ReplaceSelecting a Structure in the search results jumps to the right instance in the Navigator.
54346IDE » Find & ReplaceUsing search and replace to change the type of an array property no longer removes the array declaration.
54462IDE » Find & ReplaceEvent definitions don’t change scope.
54479IDE » Find & ReplaceScroll position resets when new search results are added to the search panel.
54480IDE » Find & ReplaceThe search results list no longer clears when you switch the scope indicator when there is a special search result set showing.
54734IDE » Find & ReplaceFind and replace of an Enumeration’s first or last line no longer alters the name of the enumeration.
54915IDE » Image EditorDragging an ICNS file into the IDE no longer causes a crash.
52198IDE » InspectorPagePanel inspector panes don’t change from the first click to the second.
52491IDE » InspectorThe method name combobox includes names from all the interfaces as well as from the interfaces that may be aggregated.
54225IDE » InspectorTabbing in the method editor moves properly in either the in window or floating versions.
54335IDE » InspectorCombobox now properly handles Edit menu items (i.e. Copy, Cut, Paste, Select All) like TextField does.
54357IDE » InspectorThe existing constant value is retained in both boolean and color items in the Inspector.
54401IDE » InspectorHTMLViewer tabstop state remains as set.
54426IDE » InspectorAssigning a constant for both Color and Boolean properties now suggests a better initial constant name. If a constant is already assigned and you try to assign one again then the existing name appears in the text field.
54498IDE » InspectorConstant for width and height of a control works again.
54573IDE » InspectoriOS simulators that are using iOS versions < 10, the minimum version we support, won’t show in the list of available simulators.
54582IDE » InspectorDuplicating a subclassed web control instance on a web page works as expected.
54484IDE » Layout EditorPopup editor for lists is readable in dark mode.
54583IDE » Layout EditorEditing a web container now properly updates any layouts containing the web container.
54944IDE » Layout EditorChanging the text area border, scrollbar horizontal and scrollbar vertical properties causes the IDE to display the change.
55214IDE » Layout EditorWebContainers without styles draw their bottom/right edges again.
53924IDE » LibraryLibrary description updates its colors when switching between light and dark mode on macOS Mojave.
55143IDE » LibraryThe Library no longer changes layouts when you first click on it.
25076IDE » MiscellaneousFind no longer automatically selects the first result. Pressing Find Next (Command+g) at this point selects the first find result. Subsequent Find Next’s move to the next search results (or error or message depending on what’s showing). Find Previous (Command+Shift+g) is also now working.
25140IDE » MiscellaneousTabs now show "multiple selection" a lot less often.
28397IDE » MiscellaneousMake it so double-clicking a group row (constants, method, events, etc.) will expand it if it is not expanded and will collapse it if it is expanded.
29596IDE » MiscellaneousIDE shows DebugLog messages sent by web apps.
31725IDE » MiscellaneousWhen a file is saved the autosave items are removed so we don’t end up in the weird state of having an autosaved version of the project that is older than the file just saved. Note this does have the side effect of making it so the sequence of alter project, run, save, run requires a new autosave version to be created.
44352IDE » MiscellaneousImplementing an interface in a module works properly.
49301IDE » MiscellaneousIndividual missing image asset elements can now be resolved.
53635IDE » MiscellaneousWe no longer reclone the custom toolbar all the time.
54025IDE » MiscellaneousDefault export type is the same as the user’s preference, if suitably licensed, or binary if not.
54351IDE » MiscellaneousMultiple projects dragged onto the IDE icon load properly.
54493IDE » MiscellaneousText in the Image Set editor shows as expected.
54501IDE » MiscellaneousThe main default web page in a web project can be an external item.
54522IDE » MiscellaneousIDE scripts no longer increment non-release version twice.
54562IDE » MiscellaneousWindows/Linux menu keyboard shortcuts are now deferred to the main window instead of any floating windows that may exist, which matches macOS behavior.
54623IDE » MiscellaneousIDE no longer doubles up the name of a parameter that follows a continuation character in the parameters field of a code item.
54714IDE » MiscellaneousWhen opening a project, tabs are resized to fit their captions.
54783IDE » MiscellaneousText in the update dialog is readable when the row is selected.
54806IDE » MiscellaneousImages Sets that share a common picture for any of their available resolutions no longer cause Collect Project to fail.
54838IDE » MiscellaneousMessages icon for Messages panel has a badge that displays the count of new messages.
54912IDE » MiscellaneousAliases in a build folder are not resolved so that only the alias is removed and not the target of the alias.
55033IDE » MiscellaneousBad cursor file no longer causes a NilObjectException.
55034IDE » MiscellaneousThe IDE no longer crashes when certain files are dropped onto it.
54034IDE » NavigatorChanging the type of an Enum updates the row text in the Navigator.
54328IDE » NavigatorIf you right click a single item in the Navigator and select "Inspect" then it actually goes to that item not one named the same thing.
54383IDE » NavigatorInvoking a delete using the contextual menu in the Navigator with the focus in a code editor no longer clears the focus and sets it back to the item that was being edited before the contextual menu was invoked.
54721IDE » NavigatorCase changes to Inspector properties update the Navigator.
54980IDE » NavigatorOpening and closing the preferences no longer causes visible method rows to recompute their text incorrectly.
55327IDE » PreferencesPreference for showing built apps now shows Finder, Explorer or Desktop Manager for macOS, Windows or Linux, respectively.
53576IDE » RenderingConstants used for container control background colors work as expected in the layout editor and at runtime.
51737IDE » ScriptingIDE scripting will not create properties or constants that are named the same as existing ones.
54733IDE » Uploader » Xojo CloudXojo Cloud apps which immediately redirect to HTTPS using a 301 or 302 redirect are now recognized properly by the IDE.
28887IDE » Web Page EditorScrollbarsVisible is in the Inspector for web containers as expected.
27611IDE » Window EditorSometimes loading a project would result in colors being misinterpreted on load. Existing projects that have this issue wont be magically fixed but saving a project should no longer cause this issue to occur.
162 Bug Fixes

Changes

54594Database Plugins » SQLiteSQLite plugin has been updated to version 3.26.0.
32344Framework » AllThe buffer size on SSLSocket has been increased to 256K.
54467Framework » AllURLConnection.SendSync now yields to other threads.
54593Framework » AllMenuItem.Action event now gets triggered first (instead of last) so that it is called before any menu handlers get a chance to handle it.
54842Framework » AllAttempting to use a Graphics object outside its intended Paint event (i.e. after the Paint event has finished) now raises an exception.
54841Framework » LinuxNo longer emits non-fatal GTK+ messages.
37004IDEIf you drag an image from a Finder window onto an iOS layout you get an Image View added to the layout with the image imported into the project.
54370IDEWhen a 32 bit only ActiveX control is imported to a project the sources generated have an appropriate guard to warn people about compiling as 64 bit (which compiles but results in an app that crashes).
37045IDE » Auto CompleteThe Session object in a web project works properly in autocomplete.
16536IDE » Code EditorScript editor window has a proxy icon on macOS.
54866IDE » Constant EditorThe “Dynamic” label for a Constant is now called "Localized” to better indicate that these “constants” are really localized strings.
34125IDE » Find & ReplaceCommand line arguments will be searched as part of find.
54488IDE » Find & ReplaceSpecial searches for bookmarks and break points show in the search history listing.
53774IDE » InspectorInspector Properties are in more or less alphabetical order within each grouping. But it’s not strictly alphabetical - as some things make more sense to be functionally grouped.
55188IDE » InspectorInspector switch controls no longer have the words ON & OFF drawn on them.
53864IDE » Layout EditorThe layout editor experience when dragging and resizing controls has been improved.
54317IDE » Layout EditorWeb Controls now render in HiDPI when they are being dragged on a HiDPI layout editor.
23136IDE » MiscellaneousCertain controls, like Timer on desktop projects, thread and timer in iOS projects, will, when added to a layout, have those events already added since it would be unusual to add one and not add the event.
31909IDE » MiscellaneousA new section appears in the Navigator for "Localized Strings", known as dynamic constants, so it’s clearer that Localized strings are not "constants" as they actually end up being methods when compiled. As such they cannot be used as default parameters in method declarations of default values for properties, etc.
53605IDE » MiscellaneousWindows IDE: 32-bit ActiveX controls can now be accessed and used in your projects. Note: This does not mean you can use them in your 64-bit builds unless the ActiveX control also has a 64-bit part.
54722IDE » MiscellaneousImplement Interface window properly disambiguates between fully qualified interface names and relative ones.
54797IDE » MiscellaneousConstant, Enumeration and Structure editors now use the preference setting for "use large font”.
55316IDE » MiscellaneousIDE can now enumerate iOS simulators from Xcode 10.2.
45288IDE » NavigatorA String constant pasted into an iOS project will now be turned into a Text constant.
54385IDE » NavigatorSwitching the Navigator/Library between floating palette and within the Workspace now does a better job of presenting the same views that were previously open.
25 Changes

New Items

54299Build32-bit Windows apps can also set HiDPI and supported windows versions items in the manifest.
54726Framework » AllURLConnection.HTTPStatusCode property now available. This contains the HTTP status code as a result of both Send and SendSync calls.
54209Framework » LinuxSpell checking is now supported in TextArea on Linux.
54207Framework » WindowsAutomaticallyCheckSpelling is now supported in TextArea on Windows 8 or newer.
54612Framework » iOSAdded Text.EndOfLine which returns the EndOfLine character for the current platform (Mac, Windows, Linux and iOS).
54697IDE » Layout EditorThe contextual menu presented in the Layout editor has a "Find" item when you click on the layout or controls and it actually does the right find of those items.
54682IDE » LibraryURLConnection appears in library similar to TCPSocket.
55125IDE » MiscellaneousCan select properties, computed or regular, and convert them into method getter / setter pairs. This won’t alter the semantics of your code (ie/ a computed that only had a setter wont suddenly get a setter method). Computed properties with neither a get or set are not touched since the correct "pair" is to have neither which makes their conversion appear to just delete the item.
39078IDE » NavigatorA right click on a class in the Navigator has a new contextual menu to jump to a specific subclass.
9 New Items

Docs and Examples

54539DocumentationUpdated text for International doc page.
54840DocumentationCleaned up the RuntimeException page so there is only a single Stack method and added the Reason property.
54908DocumentationAdded missing WebMenuItem.Insert method and page to docs.
55068DocumentationURLConnection.Error event parameter name fixed.
55071DocumentationRemoved Examples/Sample Applications/EddiesElectronics/Read Me.rtf file as it was out of date.
55288DocumentationUpdated SQLitePreparedStatement page to indicate that a prepared statement only executes the first SQL command of a multi-command SQL.
54655ExamplesAdded example to show how to load an external iOS library: Examples/iOS/Declare/Load External Frameworks
54170Language Reference » DocumentationTooltips for methods on Text page are now correct.
54490Language Reference » DocumentationFixed an error in the Window method “Get Frontmost” window sample code.
54532Language Reference » DocumentationUsing a negative step value with DownTo is sort of like a double negative and is not supported. I’ve updated the doc page to make this clear. Only use positive step values when using DownTo.
54671Language Reference » DocumentationUpdated Xojo.Core.Date.FromText page to indicate that a RuntimeError is raised if the input text cannot be parsed.
54680Language Reference » DocumentationAdded a link to Unicode Date formats to the Xojo.Core.Date.FromText page.
54712Language Reference » DocumentationAdded newinversion tag to Enumerations that were added relatively recently. Updated Enumerations template to not show newinversion when it is not provided.
54732Language Reference » DocumentationArrays topic now appears in local LR.
54819Language Reference » DocumentationClarified that a date starts at 1904-01-01 00:00:00.
54823Language Reference » DocumentationAdded note that Object2D.Rotation method only rotates when applied after all objects have been added.
54863Language Reference » DocumentationInvalidArgumentException is actually Xojo.Core.InvalidArgumentException. Updated the doc page and added a redirect so that InvalidArgumentException goes to Xojo.Core.InvalidArgumentException.
54884Language Reference » DocumentationSlight clarification description and notes for Application.NonReleaseVersion.
54899Language Reference » DocumentationFixed incorrect text on Pragma Directives page for BoundsChecking and StackOverflowChecking.
54967Language Reference » DocumentationDocumentation short description updated to say, as it does in the body, that the dialog is similar to an open-file dialog.
55263Language Reference » DocumentationFolderItem.LastErrorCode page now as additional information for finding details about MacOS error codes.
55281Language Reference » DocumentationCurrentMethodName page now indicates the constant is a Text on iOS and a String elsewhere.
22 Docs and Examples