iOS not calling my Quick Look extension for RAW files recognized by the system

I'm the developer of Camera RawX (avail on the Mac App Store).

I'm working on Camera RawX for iOS to provide Quick Look support for camera RAW files not supported by iOS.

I use the Files app to open a RAW file to invoke Quick Look on my iPad (it is running iOS 17.6.1).

The RAW file in question is a Fuji compressed RAF file.

When I tap on the RAF file, iOS opens the Quick Look window, but my app's Quick Look extension is not called.

If the RAW file in question is a Sigma Foveon X3F file, a file that has no native Apple RAW support, then my Quick Look extension is called and I'm able to display the image in the Quick Look window without issue.

It seems that a system recognized RAW file extension (RAF in this case), is not triggering my Quick Look extension. On the macOS, this works fine without any issue.

The strange thing is that my Thumbnail extension is being called when the RAW files show up in Files. Even if it is a RAF file. So it seems like a bug to me or am I missing something crucial in my Info.plist file?

Albert

Could you please post the Info.plist of the app and appexes?

Can you please post the Info.plists of the app and appexes?

Info.plist for the app. I tried to add UTExportedTypeDeclarations for Fuji RAW Image to see if I can use my own UTI, but it makes no difference.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>UTExportedTypeDeclarations</key>
	<array>
		<dict>
			<key>UTTypeIdentifier</key>
			<string>com.anogeissus.raf</string>
			<key>UTTypeDescription</key>
			<string>Fuji RAW Image</string>
			<key>UTTypeConformsTo</key>
			<array>
				<string>public.image</string>
				<string>com.fuji.raw-image</string>
			</array>
			<key>UTTypeTagSpecification</key>
			<dict>
				<key>public.filename-extension</key>
				<array>
					<string>raf</string>
				</array>
				<key>public.mime-type</key>
				<string>image/x-fuji-raf</string>
			</dict>
		</dict>
	</array>
	<key>CFBundleDocumentTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>raf</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>Fuji Compressed RAW Image</string>
			<key>LSItemContentTypes</key>
			<array>
				<string>com.anogeissus.raf</string>
				<string>com.fuji.raw-image</string>
			</array>
			<key>LSHandlerRank</key>
			<string>Owner</string>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>x3f</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>Sigma X3F RAW Image</string>
			<key>LSItemContentTypes</key>
			<array>
				<string>com.anogeissus.x3f</string>
			</array>
			<key>LSHandlerRank</key>
			<string>Owner</string>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>arq</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>Sony ARQ RAW Image</string>
			<key>LSItemContentTypes</key>
			<array>
				<string>com.anogeissus.arq</string>
			</array>
			<key>LSHandlerRank</key>
			<string>Owner</string>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
		</dict>
	</array>
	<key>UIApplicationSceneManifest</key>
	<dict>
		<key>UIApplicationSupportsMultipleScenes</key>
		<false/>
		<key>UISceneConfigurations</key>
		<dict>
			<key>UIWindowSceneSessionRoleApplication</key>
			<array>
				<dict>
					<key>UISceneConfigurationName</key>
					<string>Default Configuration</string>
					<key>UISceneDelegateClassName</key>
					<string>SceneDelegate</string>
				</dict>
			</array>
		</dict>
	</dict>
	<key>UTImportedTypeDeclarations</key>
	<array>
		<dict>
			<key>UTTypeConformsTo</key>
			<array>
				<string>com.fuji.raw-image</string>
				<string>public.image</string>
			</array>
			<key>UTTypeDescription</key>
			<string>Fuji Compressed RAW Image</string>
			<key>UTTypeIdentifier</key>
			<string>com.anogeissus.raf</string>
			<key>UTTypeTagSpecification</key>
			<dict>
				<key>public.filename-extension</key>
				<array>
					<string>raf</string>
				</array>
				<key>public.mime-type</key>
				<string>image/x-fuji-raf</string>
			</dict>
		</dict>
		<dict>
			<key>UTTypeConformsTo</key>
			<array>
				<string>public.data</string>
				<string>public.image</string>
			</array>
			<key>UTTypeDescription</key>
			<string>Sigma X3F RAW Image</string>
			<key>UTTypeIdentifier</key>
			<string>com.anogeissus.x3f</string>
			<key>UTTypeTagSpecification</key>
			<dict>
				<key>public.filename-extension</key>
				<array>
					<string>x3f</string>
				</array>
				<key>public.mime-type</key>
				<string>image/x-sigma-x3f</string>
			</dict>
		</dict>
		<dict>
			<key>UTTypeConformsTo</key>
			<array>
				<string>public.data</string>
				<string>public.image</string>
			</array>
			<key>UTTypeDescription</key>
			<string>Sony ARQ RAW Image</string>
			<key>UTTypeIdentifier</key>
			<string>com.anogeissus.arq</string>
			<key>UTTypeTagSpecification</key>
			<dict>
				<key>public.filename-extension</key>
				<array>
					<string>arq</string>
				</array>
				<key>public.mime-type</key>
				<string>image/x-sony-arq</string>
			</dict>
		</dict>
	</array>
	<key>LSSupportsOpeningDocumentsInPlace</key>
	<true/>
</dict>
</plist>

Info.plist for the Quick Look extension:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>NSExtension</key>
	<dict>
		<key>NSExtensionAttributes</key>
		<dict>
			<key>QLSupportedContentTypes</key>
			<array>
				<string>com.nikon.raw-image</string>
				<string>com.canon.cr3-raw-image</string>
				<string>com.anogeissus.raf</string>
				<string>com.fuji.raw-image</string>
				<string>com.panasonic.rw2-raw-image</string>
				<string>com.olympus.raw-image</string>
				<string>com.sony.arw-raw-image</string>
				<string>com.adobe.raw-image</string>
				<string>com.anogeissus.x3f</string>
				<string>com.anogeissus.arq</string>
			</array>
			<key>QLThumbnailMinimumSize</key>
			<integer>16</integer>
		</dict>
		<key>NSExtensionPointIdentifier</key>
		<string>com.apple.quicklook.preview</string>
		<key>NSExtensionPrincipalClass</key>
		<string>PreviewViewController</string>
	</dict>
</dict>
</plist>

Anyone out there to help?

Have you tried conforming to a UTI that the other ones inherit from such as public.data?

You can import a UTI type, that should allow conformance in your extension. There is an important distinction here, as the import is for existing types and exporting is for types that your app creates.

If that is not working, you can check the Console.app for logs in your extension process to see if the registration and activation are working.

If there aren't any fruitful results, please capture a sysdiagnose and file a bug report.

But what I'm trying to do is to override an existing file extension support. That's why I'm doing the import, as I need to over-ride the support provided by the operating system.

An example would be Fuji's RAF file. Apple has no thumbnail or QuickLook support for the compressed RAF format. So when the RAF file is encountered, it should re-route the call to my extension instead of going to back to the iPadOS.

What happens now is that Apple also broke the support for thumbnail extension on macOS 15.3 (and 15.3.1). Now when a compressed RAF file is encountered, it'll not call my thumbnail extension on macOS, but QuickLook works just fine. Apple broke it in macOS 15.1, but fixed it in macOS 15.2. Now it is broken again in 15.3 and 15.3.1. I never have any problem with macOS Monterey, Ventura or Sonoma. Sequoia is the one showing the problem.

But for iPadOS, I've not found a version that would work at all. If you can show me how to modify the plist file to support say an RAF file, I'd be happy to test it. I've also filed a bug report with Apple. All they're saying is to ask the question on the forum and give them the link. I did all that, but I got no reply from the Developer Support. Seems like you guys are bouncing me back and forth without a resolution to the problem.

iOS not calling my Quick Look extension for RAW files recognized by the system
 
 
Q