The Open and Save panels for an app that uses NSDocument are initially configured to only allow opening and saving files of your document type. If you want to read and write multiple file types, you must create imported and exported UTIs (Uniform Type Identifiers) for those file types. NSDocument has a readableTypes and a writableTypes property for the types a document type supports, but they provide only get methods. You can't set them in your app's code.
To add imported and exported UTIs for your document type, take the following steps:
Open the project editor by selecting the project from the left side of the project window.
Select your app target from the left side of the project editor.
Click the Info button at the top of the project editor.
Click the disclosure triangle next to Exported Type Identifiers to access and add exported UTIs.
Click the disclosure triangle next to Imported Type Identifiers to access and add imported UTIs.
In SwiftUI reading and writing multiple file types is easier. SwiftUI documents have readableContentTypes and writableContentTypes properties where you can specify an array of UTTypes your file can read and write.