Why am I unable to select a file when I use 'uigetfile' function on the newest Mac operation system 'Catalina'.

39 views (last 30 days)
I used the 'uigetfile' in the following command:
[sfile,spath,indx] = uigetfile({'*.mat','MAT';'I.*','DICOM'});
For the first option 'MAT', its corresponding files are bright and selectable. However, when I choose 'DICOM' option on the Mac dialog, all files named with ‘I.*’ are still in gray, and I can't select any of them. My matlab is R2018a for mac.
Thanks.
  4 Comments
Ajit Chaudhari
Ajit Chaudhari on 11 Jan 2024
This issue has cropped up for me now with Ventura 13.6.3 and Matlab R2022a. It worked fine on 12/20/2023 before I ran the latest incremental MacOS system update. Anyone know if upgrading Matlab to the latest version fixes it?

Sign in to comment.

Accepted Answer

Anders Barth
Anders Barth on 27 Nov 2019
Edited: Walter Roberson on 27 Nov 2019
We are having the same issue on 2019b Update 2 and MacOS Catalina (10.15.1). There seems to be issues with the communication between Matlab and the native file chooser in Catalina.
For now, we are using a custom implementation based on this submission, which works but is missing the native integration into the file system:

More Answers (3)

Minoru Tsuzaki
Minoru Tsuzaki on 23 May 2021
I have the same problem with Matlab 2021a and Mac OS 10.15.7.
I did my own workarounds based on Ike's direction. My addtion is to put a couple of lines after accepting any type of files by uigetfile.
The following lines are an example when I want to filter several type of audio files.
(The example is not kind enough to tell users what type is acceptalble. It would be better for you to revise the error message lines.)
[file,path] = uigetfile('*');
[~,~,anExt]=fileparts(file);
idx = find(strcmp(anExt,{'.wav','.aif','.m4a','.mp4'})) ;
if isempty(idx)
uiwait(msgbox('Unsupported file type.','Error','error'));
else
% processing for the proper file type.
end

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 8 Oct 2019
hi,
here are some hints.

Ike Brown
Ike Brown on 21 Mar 2020
Edited: Ike Brown on 21 Mar 2020
This isn't a complete fix, but you if you know the file extension you want, you can get around this issue by specifying the file extension in uigetfile. For example, [file,path]=uigetfile will only allow you to select MatLab files. However, [file,path]=uigetfile('*.csv') will allow you to select any .csv file.
Update: [file,path]=uigetfile('*') appears to let you select any file extension

Categories

Find more on Environment and Settings in Help Center and File Exchange

Tags

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!