Since the release of iOS 17, my application is no longer recognized as the default option for opening my custom file extension via AirDrop. I understand that Apple has modified AirDrop functionality to integrate more closely with the Files app. However, within the Files app, my file package is erroneously identified as a folder, thus ignoring my specified file extension. Additionally, my attempts to utilize UIDocumentPickerViewController for opening these files have been unsuccessful, as it fails to recognize the file type.
I have explored various approaches with UIDocumentPickerViewController, including the following implementation:
let importCustomFiles = UIAlertAction(title: "Import custom file", style: .default) { _ in
let myExtensionType = UTType(filenameExtension: "MyExtension")!
let pickerViewController = UIDocumentPickerViewController(forOpeningContentTypes: [myExtensionType])
pickerViewController.delegate = self
pickerViewController.allowsMultipleSelection = false
pickerViewController.shouldShowFileExtensions = true
self.present(pickerViewController, animated: true, completion: nil)
}
Below is an excerpt from my Info.plist file, detailing the relevant configurations for my custom file extension:
<!-- MyExtension Document Type -->
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>MyApp File Icon</string>
</array>
<key>CFBundleTypeName</key>
<string>Angles MyExtension</string>
<key>LSHandlerRank</key>
<string>Default</string>
<key>LSItemContentTypes</key>
<array>
<string>au.com.mycompany.myapp.MyExtension</string>
</array>
<key>LSTypeIsPackage</key>
<true/>
</dict>
</array>
<!-- Exported Type Declaration for MyExtension -->
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.directory</string>
</array>
<key>UTTypeDescription</key>
<string>Custom file extension for MyExtension files</string>
<key>UTTypeIconFiles</key>
<array>
<string>MyApp File Icon</string>
</array>
<key>UTTypeIdentifier</key>
<string>au.com.mycompany.myapp.MyExtension</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>myextension</string>
</array>
</dict>
</dict>
</array>
<!-- Imported Type Declaration for MyExtension -->
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.directory</string>
</array>
<key>UTTypeDescription</key>
<string>Custom file extension for MyExtension files</string>
<key>UTTypeIdentifier</key>
<string>au.com.mycompany.myapp.MyExtension</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>myextension</string>
</array>
</dict>
</dict>
</array>
I am seeking assistance in resolving this issue so that my application can properly recognize and open files with my custom extension, both via AirDrop and within the Files app. Any insights or suggestions would be greatly appreciated.
Post
Replies
Boosts
Views
Activity
The iOS version of the app is functioning correctly on TestFlight, and there are no issues when building the Mac Catalyst version of the app from Xcode. However, when distributing the app to TestFlight for Mac Catalyst, the FFmpegkit library fails to load, resulting in a crash. The crash report indicates that the library is missing and cannot be located in the designated file path.
Specifically, the crash report states that the library could not be loaded from "@rpath/ffmpegkit.framework/ffmpegkit". Despite extensive efforts, I have been unable to resolve this issue.
This is error message in the crash report.
Termination Reason: Namespace DYLD, Code 1 Library missing Library not loaded: @rpath/ffmpegkit.framework/ffmpegkit Referenced from: <9162F8B0-7112-310B-8EDA-59766087927F> /Applications/MyApp.app/Contents/MacOS/MyApp Reason: tried: '/System/Library/Frameworks/ffmpegkit.framework/ffmpegkit' (no such file, not in dyld cache), (security policy does not allow @ path expansion) (terminated at launch; ignore backtrace)
Are there any alternative solutions to resolve this problem?
This is all the things I have already tried:
I tried most of the solutions mentioned in the post below.
https://stackoverflow.com/questions/24333981/ios-app-with-framework-crashed-on-device-dyld-library-not-loaded-xcode-6-beta
I checked the package content found in Testflight and the paths are correctly matching the following /System/Library/Frameworks/ffmpegkit.framework/ffmpegkit
I ran the app scheme as release within Xcode and it build and ran fine with no issues
I manually loaded the signing certificates for mac catalyst and still getting the error
Deleted all derived data
Deleted and reinstalled Xcode and also tried previous Xcode versions.
Deleted the project completely