Posts

Post marked as solved
3 Replies
677 Views
Hi,Is it possible to distribute an app which is bundled with a custom DAL plugin (CoreIOMedia plugin) in the Mac App Store? For installations outside the app store the installer copies the plugin to the "/Library/" folder.Regards,
Posted
by HMoc.
Last updated
.
Post not yet marked as solved
1 Replies
473 Views
Hi, I have written a DAL virtual webcam plugin which works fine with all apps (Zoom, OBS, ...) except Apple QuickTime. Other 3rd party virtual webcams show up in QuickTime, for instance the OBS virtual cam plugin: https://github.com/obsproject/obs-studio/tree/dde4d57d726ed6d9e244ffbac093d8ef54e29f44/plugins/mac-virtualcam/src/dal-plugin My first intention was that it has something to do with code signing, so I removed the signature from OBS virtual cam plugin but it kept working in QuickTime. This is the source code of my plugin's entry function: #include <CoreFoundation/CoreFoundation.h> #include "plugininterface.h" extern "C" void *TestToolCIOPluginMain(CFAllocatorRef allocator, CFUUIDRef requestedTypeUUID) { // This writes to a log file in /tmp/logfile.txt but is NEVER called from QuickTime: Logger::write("Called TestToolCIOPluginMain"); if (!CFEqual(requestedTypeUUID, kCMIOHardwarePlugInTypeID)) return nullptr; return VCam::PluginInterface::create(); } And the plugin's Info.plist (almost the same as OBS virtual cam's one): <?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>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleExecutable</key> <string>TestDriverCIO</string> <key>CFBundleIdentifier</key> <string>com.test.cmio.DAL.VirtualCamera</string> <key>LSMinimumSystemVersion</key> <string>10.13</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>TestDriverCIO</string> <key>CFBundlePackageType</key> <string>BNDL</string> <key>CFBundleShortVersionString</key> <string>3.0.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>3.0.0</string> <key>CFBundleSupportedPlatforms</key> <array> <string>MacOSX</string> </array> <key>CFPlugInFactories</key> <dict> <key>AAAAAAAA-7320-5643-616D-363462697402</key> <string>TestToolCIOPluginMain</string> </dict> <key>CMIOHardwareAssistantServiceNames</key> <array> <string>com.test.cmio.VCam.Assistant</string> </array> <key>CFPlugInTypes</key> <dict> <key>30010C1C-93BF-11D8-8B5B-000A95AF9C6A</key> <array> <string>AAAAAAAA-7320-5643-616D-363462697402</string> </array> </dict> </dict> </plist> Interestingly "TestToolCIOPluginMain" is never called (the logger never writes an output) when starting QuickTime and the camera is not shown in QuickTime. Is there something special required to get the DAL plugin to show up in QuickTime? What am I missing here? Regards,
Posted
by HMoc.
Last updated
.
Post not yet marked as solved
1 Replies
196 Views
Hi, Is there a C equivalent for the Swift/Objective-C version of the ImageCaptureCore: https://developer.apple.com/documentation/imagecapturecore?language=objc ? Regards,
Posted
by HMoc.
Last updated
.
Post not yet marked as solved
0 Replies
173 Views
Hi, In the TestFlight macOS builds table I see "-" invites, installs, and all other columns are "-" as well. I definitely know that I have installed the app and I also received feedback from several testers that they have installed the app. Why is the table still showing "-" in all columns? Regards,
Posted
by HMoc.
Last updated
.
Post marked as solved
1 Replies
316 Views
Hi, I have a Qt app (https://www.qt.io/) which contains the main app executable file, Qt frameworks, and Qt plugins bundled. Signing the app this way works fine and the app is successfully published on the Mac App Store (the "deep" flag is only used for testing): codesign --deep -f -s "Apple Distribution" -v --entitlements "MyApp.entitlements" "MyApp.app" Entitlements: <?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>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.network.server</key> <true/> <key>com.apple.security.files.downloads.read-write</key> <true/> <key>com.apple.security.device.audio-input</key> <true/> <key>com.apple.security.device.serial</key> <true/> <key>com.apple.security.files.bookmarks.app-scope</key> <true/> <key>com.apple.security.personal-information.location</key> <true/> <key>com.apple.security.app-sandbox</key> <true/> </dict> </plist> But as soon as I change the entitlements file as follows, the app crashes with a "Code signature invalid" error: <?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>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.network.server</key> <true/> <key>com.apple.security.files.downloads.read-write</key> <true/> <key>com.apple.security.device.audio-input</key> <true/> <key>com.apple.security.device.serial</key> <true/> <key>com.apple.security.files.bookmarks.app-scope</key> <true/> <key>com.apple.security.personal-information.location</key> <true/> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.application-identifier</key> <string>TEAM_ID.com.myapp</string> <key>com.apple.developer.team-identifier</key> <string>TEAM_ID</string> </dict> </plist> Running codesign -dvvv --entitlement :- ./MyApp.app on the signed app packages shows the correct entitlement. I can upload both app versions to the Mac App Store without problems. The modified entitlements file is required for enabling TestFlight testing in iTunes Connect. What could be the reason for the crash when using the modified entitlements file? Regards,
Posted
by HMoc.
Last updated
.
Post not yet marked as solved
1 Replies
379 Views
Hi, When submitting manually signed macOS apps then this warning is shown after submission: WARNING ITMS-90889: ""Cannot be used with TestFlight because the bundle at is missing a provisioning profile. Main bundles are expected to have provisioning profiles in order to be eligible for TestFlight."" I use the following commands for signing the app: export VM_CERTIFICATE="Apple Distribution" codesign --deep -f -s "$VM_CERTIFICATE" -v --entitlements "$VM_SOURCE_PATH/macos/App.entitlements" "$VM_APPNAME" productbuild --component "$VM_APPNAME" /Applications --sign "3rd Party Mac Developer Installer: MyCompany" outmac.pkg How can I get rid of the warning, so that the package can be used in TestFlight? Regards,
Posted
by HMoc.
Last updated
.
Post marked as solved
2 Replies
319 Views
Hi, Is there a way to get access to the user's document directory, except the usual way of asking for access using "com.apple.security.files.user-selected.read-write"? I am looking for something like "com.apple.security.files.downloads.read-write" but with access to the documents directory instead. Regards,
Posted
by HMoc.
Last updated
.
Post marked as solved
6 Replies
1.6k Views
Hi,I have an application App A which shares data with a macOS DAL plugin using IPC (shared memory). The plugin is loaded in another 3rd party App B:App A &lt;--- data ---&gt; Plugin / App BNow I am looking for a way to get this working with App A being sandboxed. The App Groups Entitlement (https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_application-groups) seems to be the correct tool for allowing IPC between two applications. But the problem with my architecture is, that the communication is between App A (whose identifier is known) and a plugin (identifier is known) and a third party App B (identifier is not known).Is there a way to communicate between the sandboxed App A and the plugin running in App B without knowing App B's identifier?Regards,P.S: I am targeting the app store with App A.
Posted
by HMoc.
Last updated
.
Post not yet marked as solved
0 Replies
447 Views
Hi,Is it possible to create affiliate search links to iTunes music, e.g. I do not want to link to a specific album or song but to a more general search term such as "Guitar" for instance.Regards,
Posted
by HMoc.
Last updated
.
Post marked as solved
1 Replies
4.9k Views
Hi,While trying to setup Apple Pay for our website I was stopped by the certificate generation step:Merchant Identity Certificate(You need to accept the agreement 'Apple Pay Platform Web Merchant Terms and Conditions'.)But where can I find this agreement? I checked the contracts section but nothing is there.Regards,
Posted
by HMoc.
Last updated
.