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,
Post
Replies
Boosts
Views
Activity
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,
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 <--- data ---> 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.
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,
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,
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,
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,
Hi,
Is there a C equivalent for the Swift/Objective-C version of the ImageCaptureCore:
https://developer.apple.com/documentation/imagecapturecore?language=objc ?
Regards,
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,
Hi,
I have an iOS app which controls and monitors 3rd party Bluetooth devices. When the app is in background then background BLE mode is used.
On Android there are means for showing customized information in the status bar (e.g. a device's current measurement value).
On iOS the only means to present information to the user when the app is in background mode is by means of push notifications (e.g. when the device gets disconnected then send a push notification). But I see no way to present the current measurement value.
Have I overlooked something, or is it really not possible to present the user additional information in the status bar and/or as some kind of "always visible" overlay icon when the app is in background?
Regards,
Hi,
I am trying to get a list of available WiFi networks for a sandboxed macOS app:
CWInterface *wifi = [[CWWiFiClient sharedWiFiClient] interface];
NSError *err;
NSSet *scanset = [wifi scanForNetworksWithSSID:nil error:&err];
// scanset is always empty (but not nil), no error is writting to "err"
With macOS Sonoma the code always returns an empty list (with older macOS version it works fine). I already added Location permission (as described here: https://developer.apple.com/forums/thread/732431).
Getting the currently connected WiFi SSID (using [CWInterface interface].ssid), as well as connecting to a WiFi network works.
How can I get a list of available WiFi SSIDs in macOS Sonoma?
Regards,
Hi,
I have two iOS apps in the same app group. Now App 1 wants to execute a method in App 2 via IPC:
App 1 -> call method test() via IPC on App 2 -> App 2 returns the result to App 1.
Is this possible?
Regards,
Hi,
Since a few weeks, the main App Store Connect shows this message:
Clicking on "Click" redirects to the main page. When I manually go to the "Business" page then all contracts, tax information are marked as "Complete" or "Active".
Is this a bug, or do I miss something?
Regards,