Igor Pro on macOS 10.15, 11 and 12
Created on September 17 at 09:44 am - by: aclight
This page discusses the support of different Igor Pro versions on macOS 10.15 (Catalina, macOS 11 (Big Sur), and macOS 12 (Monterey).
(For information about Igor on ARM processors, see https://www.wavemetrics.com/news/igor-and-apple-arm-processors.)
You can not run Igor Pro 6 (or before) on macOS 10.15 or later because it is a 32-bit program and macOS 10.15 dropped support for 32 bit programs.
With macOS 10.15, Apple dropped the QuickTime framework that Igor uses to support most movie features, and added strict security features that prevent XOPs from running without special security certification ("notarization").
Igor Pro 8.04 is the first version of Igor that is notarized and includes notarized WaveMetrics XOPs. Igor Pro 9 has many new features and bug fixes relative to Igor Pro 8. We therefore recommend that you run Igor Pro 9 if you are using macOS 10.15 or later.
Due to issues described below, we do not consider Igor Pro 8 or Igor Pro 9 to be fully supported on macOS 10.15 or later, but we intend to attempt to fix, if feasible, problems that arise.
Igor Pro 6
Igor Pro 6 will not run on macOS 10.15 or later which support 64-bit applications only.
Igor Pro 7
The 64-bit Igor Pro 7 application (Igor64.app) may run, but WaveMetrics and/or third-party XOPs may not load and you may experience other issues. Igor Pro 7 is no longer maintained and will not receive any changes to improve macOS support.
Igor Pro 8 and Igor Pro 9
In Igor Pro 8.04 and Igor Pro 9, the Igor application and included WaveMetrics XOPs are notarized which allows them to run on macOS 10.1, macOS 11, and macOS 12.
Most third-party XOPs are not notarized and will not run.
It appears that scripting is more restrictive in macOS 11 than in prior macOS version. We observe that attempts to delete files and folders using ExecuteScriptText fail starting in macOS 11.
With macOS 11 and Igor Pro 8.04, the text in the active tab of a tab control disappears. An example is the Help Browser. This does not happen with macOS 10.15 or with Igor Pro 9.
macOS 10.15 introduced the read-only system volume. If your system volume is named "hd", in macOS 10.15 and later, it appears in the Finder as "hd" but it is really two volumes - a read-only system volume named "hd" and a data volume named "hd - Data". The OS makes these two volumes appear as one to programs like Igor. However if you mount such a volume while running off of a different system volume, the OS fails to make the two volumes from the inactive system appear as one. This leads to errors in Igor if you try to access the inactive system volume. For example, you will get errors if you try to run a copy of Igor that resides on the inactive system volume.
If you encounter additional issues using Igor Pro 9 or later, please report them to email@example.com. Please use the Help→Contact Support menu item so that your system information is included in the message.
Due to security changes in macOS 10.15 and later, third-party XOPs may not be loaded when Igor runs, even if the XOP is properly activated. Instead, macOS and Igor may each present an error dialog when the XOP's code is first loaded. This often happens when Igor starts, but not always.
macOS 10.15 and later require that all loadable bundles (including XOPs) be notarized by default(*). In order to notarize an XOP, the XOP's author must have an Apple Developer ID certificate and must submit the XOP to Apple's notarization service. As of this writing, most third-party XOPs are not notarized and will not run.
All WaveMetrics XOPs that ship with Igor Pro 8.04 and Igor Pro 9 are notarized and should therefore load properly. If the OS presents an error dialog when loading one of the XOPs that ships with Igor Pro, make sure that you are not using a copy of the XOP from a previous version of Igor Pro.
You may wish to deactivate third-party XOPs by moving them or aliases to them out of the Igor Extensions 64-bit folders within your Igor Pro 8 User Files or Igor Pro 9 User Files folder.
If you must use an unnotarized XOP, see this workaround that was verified to work with macOS 10.15.6 and macOS 11.0.1.
If you are an XOP developer and would like documentation about signing and notarization of XOPs, send an email to WaveMetrics support requesting the "Signing and Notarization of Macintosh XOPs" help file.
(*) "by default" is Apple's terminology but they do not document if or how the default can be changed.
National Instruments Libraries
The NIGPIB and VISA XOPs are used for data acquisition. This section is of interest to you only if you use these XOPs on Macintosh.
The NIGPIB XOP requires that you install the NI-488 driver from National Instruments (version 21.0 as of this writing). Starting with macOS 11.4, this library crashes when the operating system loads it. If you need to use the NIGPIB XOP, you must run an older version of macOS, unless National Instruments addresses the problem in a new library version.
The VISA XOP requires that you install the NI-VISA driver from National Instruments (version 21.0 as of this writing). Starting with macOS 11.4, this library crashes when the operating system loads it. If you need to use the VISA XOP, you must run an older version of macOS, unless National Instruments addresses the problem in a new library version.
Movie Related Operations
Apple removed the QuickTime framework from macOS 10.15. This framework is required by the PlayMovie operation and used when the /A flag is provided with the NewMovie and PlayMovieAction operations. There is no replacement for PlayMovie, however you can still open a movie file using PlayMovieAction and extract frames from the movie.
macOS 10.15 and later have privacy dialogs that ask the user to approve attempts by an application to access certain locations, such as the Documents and Downloads folders. Igor Pro cannot prevent these dialogs from appearing, nor can it determine whether the user has approved or denied access to a location. Because the default location for the Igor Pro User Files folder is within the Documents folder, you will likely see this dialog when Igor starts for the first time and possibly at future times as determined by the OS. If you click "Don't Allow" in one of these dialogs, Igor will act as if the target folder is empty. If you don't allow access to a folder that contains your Igor Pro User Files folder, any Igor procedures or extensions contained in the folder will not be loaded.
You can allow or remove access at a later time from System Preferences->Security & Privacy->Privacy->Files and Folders.
Some MacBook Pro users have reported that Igor crashes when they attempt to open an experiment that contains a Gizmo window. The stack trace suggests that at the time of the crash the OS is switching from the integrated graphics processor to the discrete graphics processor. A workaround is to first start Igor and, in an empty experiment, execute
Then open the experiment containing Gizmo windows.
Another possible workaround that we have not tested is to disable automatic graphics switching in system preferences.
Frequently Asked Questions
- I'm currently using Igor Pro 7. What do I need to do to use Igor Pro 9?
Igor Pro 9 requires a paid upgrade from earlier versions. You can download Igor Pro 9 from https://www.wavemetrics.net/. If you have not previously installed it, it will run fully functional for 30 days during which you can evaluate whether it fits your needs. After that time you will need to purchase an upgrade if you want Igor Pro 9 to remain fully functional.
- I am able to use non-notarized third-party XOPs without any problems. Why am I not seeing the third-party XOP problems discussed above?
The rules for when notarization is required are vague and subject to change by Apple at any time. If you are able to load non-notarized XOPs, you may have developed those XOPs yourself or obtained them from the author in a way that prevents the notarization status from being checked.
- I need to use a third-party XOP but macOS won't load the XOP because it is not notarized. Is there anything I can do?
You may be able to obtain a notarized XOP from the third-party XOP author. If not, you can try this workaround.
- I am a third-party XOP developer. Can WaveMetrics notarize my XOP so that others can use it?
No. For legal and logistic reasons, WaveMetrics can not notarize XOPs that we have not developed.
- I am a third-party XOP developer. Can WaveMetrics provide information about notarization of XOPs?
Yes. Send an email to WaveMetrics support requesting the "Signing and Notarization of Macintosh XOPs" help file.
Igor Pro 9
Igor XOP Toolkit
Igor NIDAQ Tools MX