Posts

Post not yet marked as solved
16 Replies
3.4k Views
Hi everybody,I don't seem to be able to get FileProviderValidation to work. I am talking about the app announced by Apple at this year's WWDC. I have done everything the Readme states needs to be done. Under iOS 11, FileProviderValidation just crashes, under iOS 12 Beta 1, it lists all the available File Provider Extensions -- uncluding ours -- but it states that the extension was "Not eligible". (None of them is.)I had previously tried to implement the protocol on my own and to provide an own service source (in Swift, as the rest of the project). But that didn't work. So I went with the Files provided by Apple and included the service source in the bridging header.The only thing I am doing differently from Apple's solution is that I return two items in supportedServiceSources(for itemIdentifier: NSFileProviderItemIdentifier), theirs and ours which serves for XPC between the UI app that hosts the extension and the extension itself.Did anybody get this to work?
Posted Last updated
.
Post not yet marked as solved
0 Replies
372 Views
Hi everybody,while most things in our File Provider Extension are running pretty smoothly, a few things don't work at all.One of those things is updating the working set.As the title says, the working set's enumerateChanges is never called after signalling it. It is called exactly once, right after being gotten via enumeratorFor: when its contents are being queried after the domain was added.I have assembled a small sample project that demonstrates the issue. It won't win prizes for beatiful code but it demonstrates the issue.If anybody could tell me what I'm doing wrong, that would be very helpful.Thanks,Sebastian
Posted Last updated
.
Post not yet marked as solved
0 Replies
437 Views
Hi everybody,we're writing a FileProviderExtension. We're on a good track, pretty much everything works, but there are a few rough edges left.And there are one or two things we don't understand.One of them is this, once the phone is in Airplane mode, when opening the root level of our extension in Files App, everything seems fine. But then, when trying to open any directory, an error is shown "You're offline".The thing is, this error is being shown immediately. No Code from us is being executed, we don't throw any errors.While this is technically correct, we have persisted all information necessary to display the contents of these directories. In fact, even if the phone has internet connectivity, we don't retrieve anything from the net the moment a directory is being entered.Does anybody have a hint?Thanks!
Posted Last updated
.
Post not yet marked as solved
0 Replies
1.1k Views
In my FileProviderExtension, I implementedfunc stopProvidingItem(at url: URL)and cancel a running download for the concerned URL there should one be in progress. I hadn't figured out that this is also where cancelling has to take place, I was lucky enough to get this info at this year's WWDC labs.And sure enough, cancelling downloads there works. But... the download indicator never gets removed from the file's icon.isDownloading afterwards returns false, I do signal the change, I tried messing with the task's progress object in various ways (manually setting its completedUnitCount to its totalUnitCount, setting its progress, callings its cancellationHandler), but most of those solutions didn't seem right and none of them actually worked.What is the correct way to remove the progress indicator after cancelling a download? I even compared our solution to other solutions out there on the market and haven't seen one implementation that is able to remove the progress indicator from the icon as iCloud is able to.Any ideas?
Posted Last updated
.
Post not yet marked as solved
0 Replies
507 Views
Hi,we've come a pretty far way with our file provider extension but there are a few things I just can not get to work.One of them is signalling the NSFileProviderManager when a directory has been reparented on the server.My current approach is to callNSFileProviderManager.default.signalEnumerator(for: )The enumerator'sfunc enumerateChanges(for observer: NSFileProviderChangeObserver, from syncAnchor: NSFileProviderSyncAnchor)is being called, I callobserver.didUpdate()with the ID of the item in question: the reparented directory. However, the UI never reflects that change. Oh, and I do provide a new syncAnchor.I have tried all permutations of signalling one, some or all for the item itself, the former parent, the new parent... but no luck.Any hints?That would be awesome!Sebastian
Posted Last updated
.