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

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

I have the same problem catalina+Matlab R2020a (or 2018b).
the command:
[file,path] = uigetfile('*.nc'); is working and file finishing with nc are visible
but
[file,path] = uigetfile({'*.m';'*.slx';'*.mat';'*.nc'},...
'File Selector');
nc ended files remains grey even if I choose nc with the option button
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?
I have the same issue with Sonoma 14.4.1 and my Matlab is R2023b (apple silicon).

Sign in to comment.

 Accepted Answer

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)

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
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

Products

Release

R2018a

Tags

Community Treasure Hunt

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

Start Hunting!