Post not yet marked as solved
I am developing a statistics application for the artists of my record label, I have only seen development APIs for the platform, but I have not found Apple for Artist, does anyone know if these exist? Thanks.
Post not yet marked as solved
Is it possible to add functions and change the rendering of the Finder on a Mac Book?
I assume it's some kind of extension?
thanks if you can point me in the right direction
Post not yet marked as solved
Is there a programmatic way to show/enable Comments Tab from Swift?
I currently have an app with a Finder Sync Extension displaying badges on Finder items.
I am so open to any other programmatic suggestion such as Apple Script.
Thank you.
Post not yet marked as solved
Hi,
Since the macOS Monterey update, our app icon in the sidebar does not follow the accent colour set in the system preferences while all native icons does.
The icons are provided using the iconset folder. The entry CFBundleIconFile appear in the app's info.plist pointing to the iconset file (.icns),
as described here: https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/Finder.html#//apple_ref/doc/uid/TP40014214-CH15-SW1.
Does anybody know how to make those icons follow the accent colour set in system preferences.
Many thanks
Post not yet marked as solved
We have created a Menu App that has a FinderSync extension to provide contextual menus in certain folders. This works as expected, and adds the additional menus for just the selected folders. This is accomplished by watching the desired folders:
finderController.directoryURLs = urlFolders
and creating a MenuKind menu item for type:
.contextualMenuForItems:
However, it seems to not play nice and occasionally replaces the folder icons with the apps icon and removes contextual functionality for other extensions.
For Box, it will remove the contextual menu items and the badge icons, as well as replace the folder icon in the Finder sidebar and any application Open/Save Dialog boxes.
For Dropbox and GoogleDrive, it will just replace the folder icons in the sidebar and dialog windows, but doesn't stop their extensions from working.
Any suggestions on how to keep our FinderSync extension from having these adverse impacts?
I notice that GoogleDrive's contextual menu shows up in Dropbox folders, so I know that a folder can be watched by more than one extension.
Post not yet marked as solved
I have a macOS app which uses a FinderSync Extension. I'm using FIFinderSyncController.isExtensionEnabled to determine if the Extension is enabled.
When running on OSX 10.15 & 11.6, it works correctly. When running on a system with OSX 12.2, it always returns False.
Anyone know why it would behave differently?
Post not yet marked as solved
When exposing mounted volumes on a network, the user expects drag&drop to default to copy (not move from local disk).
This UX is kind of standardized when connecting a thumb drive or usb ssd drive. So I find it confusing why we can't define in FileProvider the UTTypeVolume to ensure the user gets a more expected copy-on-drag behavior.
Please let me know if there are ways to achieve this that I've missed. i.e. I want both "drag to" & "drag from" a file provider volume to result in the green "+" (without having to teach the user to hold the alt-key)
Post not yet marked as solved
About a year ago, I developed a FinderSync extension for a MacOS desktop app, and included a custom icon to display in the sidebar and Favorites. And it worked.
Fast forward a year -- there have been changes to the containing app, and the custom icon has disappeared. I know the main app had moved to using an asset catalog for its app icons, which according to https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/Finder.html#//apple_ref/doc/uid/TP40014214-CH15 prevents the template-image sidebar icons from working.
So I followed the steps described on that page: I switched off the asset catalog, added a non-catalog iconset with the appropriate icon and sidebar files to both the containing app and the extension, and made sure that the Info.plist for both programs included a CFBundleIconFile entry set to the iconset name... but that didn't fix it.
(I do know that the asset catalog is still part of the main-app build, to supply other icons; all I did was switch off the setting to use it for the app icon.)
The .iconset folder contains the 10 normal icon .png files, and the six sidebar .png files; it compiles into an .icns file, which is successfully included in the build... but if I open that .icns file in Preview, it only shows the 10 normal icon sizes, not the sidebar files.
So what have I missed? How do I get iconutil to include the sidebar_ files at build time? And how exactly does the FinderSync extension locate the image to use for the sidebar icon? What other settings do I need to check?
Post not yet marked as solved
I would like to be able to display an error message if one of my context menu actions fails.
I have tried doing something like this but it doesn't seem to work:
(IBAction)contextAction:(NSMenuItem *)sender {
NSAlert *alert = [[NSAlert alloc]init];
[alert setMessageText:@"A dialog"];
[alert setInformativeText:@"A message"];
[alert setAlertStyle:NSWarningAlertStyle];
[alert runModal];
[myFinderSync performMenuItemAction:(uint32_t)sender.tag];
}
Post not yet marked as solved
I've a main app and target finder sync extension. Finder sync extension is responsible to show Finder context menu and correct badging for items sent from main app. Sometimes it works.
But if I restart machine or application, neither Finder context menu nor icon badging is appearing at all although both main app and extensions are running. It only appears if I relaunch Finder. I tried to kill Finder sync extension and launch after launching main app but not working.
I am trying to develop an application that also contains an extension for the Finder.
The extension can be used to create a new text file at the current Finder location. I have only added the following permissions to the entitlements file for both the main app and the extension:
com.apple.security.files.user-selected.read-only
I have implemented the FIFinderSync protocol in my extension.
I added a menu item to create a new text file. Whenever I execute this method, the following error is shown in the Console:
Sandbox: Extension(4032) deny(1) file-write-create /Users/username/Documents/New Text.txt
The simplest way to get around this error is to add the following key:
com.apple.security.temporary-exception.files.home-relative-path.read-write
However, applications using this entitlement will be rejected during app review.
The extension is initialised with this code:
FIFinderSyncController.default().directoryURLs = [URL(fileURLWithPath: "/")]
How can I prevent this error to be thrown? I could use security scoped bookmarks, open a dialog and then save this bookmark. However, I have tested plenty of extension available in the App Store and none of them have shown any NSOpenPanel, the files have been created without any problems.
Any help is appreciated.
I am developing a macOS app, with an embedded Finder Extension - https://developer.apple.com/documentation/findersync/fifindersync and I want the app and the extension to share UserDefaults - https://developer.apple.com/documentation/foundation/userdefaults
The App is Sandboxed for future distribution on the app store.
I followed instructions here : https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW1
Both targets are part of the same app group, as it can be seen in the Entitlements:
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>$(TeamIdentifierPrefix)com.stormacq.mac.MyApp</string>
</array>
		<key>com.apple.security.files.user-selected.read-only</key>
		<true/>
	
2. I am accessing the UserDefaults by the suiteName :
	 let defaults = UserDefaults.init(suiteName: "TEAM_ID.com.stormacq.mac.MyApp")
	 //where TEAM_ID is the actual team id used to sign the app (something like 123AB45CDE)
	
However, when trying to read or write the defaults at App startup time, I receive this error message :
[User Defaults] Couldn't read values in CFPrefsPlistSource<0x600002c4d200> (Domain: TEAM_ID.com.stormacq.mac.MyApp, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): Using kCFPreferencesAnyUser with a container is only allowed for System Containers, detaching from cfprefsd I found weird that the error message says Container: (null),.
The group container and the shared Preference file is created (and contains the correct default values set by my code) :
➜	~ ls -al ~/Library/Group\ Containers/TEAM_ID.com.stormacq.mac.MyApp/Library/Preferences/																						
total 8
drwx------	3 stormacq	1896053708	 96 Sep	6 19:58 .
drwx------	5 stormacq	1896053708	160 Sep	6 19:58 ..rw-------@ 1 stormacq	1896053708	103 Sep	6 19:58 TEAM_ID.com.stormacq.mac.MyApp.plist
I edited TEAM_ID to post this message
I am using Xcode 11.7 (Swift 5) and macOS 10.15.6. What did I miss ?