Has anyone else been unable to trigger item eviction?
Note I am using MacOS Sonoma 14.1 on a Macbook Air M1.
I have attempted using both the swift API myFileProviderManager.evictItem(myItemID)
as well as the CLI tool fileproviderctl evict "path/to/myFile.txt"
and both return Error Domain=NSFileProviderErrorDomain Code=-2008 "The file ‘myFile.txt’ cannot be evicted."
. This error maps to the nonEvictable error.
Therefore I attempted providing the necessary permissions to evict my file.
I have attempted applying all 4 possible configurations of NSFileProviderContentPolicy
to this file. I have tried the legacy option of using the capability .allowsEviction
. I have even tried with NSExtensionFileProviderAllowsUserControlledEviction
set to both YES
and NO
as I noticed Dropbox was able to evict items even though this option was set to NO
. None of these attempts have succeeded.
I noticed if I ran fileproviderctl evict "path/to/myFile.txt" --namespace
I was able to see that the file has the contentPolicy of 1
which maps to the downloadLazily
contentPolicy. The NSFileProviderContentPolicy
code documentation states that with this configuration will "Allow eviction on low disk pressure and other triggers."
For clarity here is a table of my various attempts with NSExtensionFileProviderAllowsUserControlledEviction
set to YES
:
None (i.e. default) | 2008 Failed to evict | 2008 Failed to evict |
inherited | 2008 Failed to evict | 2008 Failed to evict |
downloadLazily | 2008 Failed to evict | 2008 Failed to evict |
downloadEagerlyAndKeepDownloaded | 2008 Failed to evict | 2008 Failed to evict |
downloadLazilyAndEvictOnRemoteUpdate | 2008 Failed to evict | 2008 Failed to evict |
What am I missing? Is the documentation outdated? Is this a bug?
Any tips will be greatly appreciated!