iCloud Drive

RSS for tag

iCloud Drive safely stores any kind of file so it can be accessed in iCloud-enabled apps on iPhone, iPad, Mac, or PC.

Posts under iCloud Drive tag

200 Posts

Post

Replies

Boosts

Views

Activity

Partial Download Support for macOS NSFileProvider Implementation
I've implemented a file provider for macos, and it works well. Now I'm trying to add partial download support in my implementation. however, it doesn't seem to work. As per documentation, I've implemented protocol NSFileProviderPartialContentFetching and its method func fetchPartialContents(for: NSFileProviderItemIdentifier, version: NSFileProviderItemVersion, request: NSFileProviderRequest, minimalRange: NSRange, aligningTo: Int, options: NSFileProviderFetchContentsOptions, completionHandler: (URL?, NSFileProviderItem?, NSRange, NSFileProviderMaterializationFlags, (any Error)?) -> Void) -> Progress Now, I'm testing my implementation, and I open a movie from my File Provider using VLC. I see that fetchPartialContents get a hit. I download requested range, and return it through completionHandler. However VLC gives a read error. here is my implementation of fetchPartialContents: private func align(range: NSRange, to alignment: Int) -> NSRange { let start = range.location - (range.location % alignment) let end = range.location + range.length let alignedEnd = ((end + alignment - 1) / alignment) * alignment let alignedLength = alignedEnd - start return NSRange(location: start, length: alignedLength) } unc fetchPartialContents(for itemIdentifier: NSFileProviderItemIdentifier, version requestedVersion: NSFileProviderItemVersion, request: NSFileProviderRequest, minimalRange requestedRange: NSRange, aligningTo alignment: Int, options: NSFileProviderFetchContentsOptions = [], completionHandler: @escaping (URL?, NSFileProviderItem?, NSRange, NSFileProviderMaterializationFlags, (any Error)?) -> Void) -> Progress { let alignedRange = align(range: requestedRange, to: alignment) let progress = Progress(totalUnitCount: 100) let data = downloadData(for: alignedRange) progress.completedUnitCount = 100; tempFileHandle = try FileHandle(forWritingTo: tempFileURL) tempFileHandle.seek(toFileOffset: UInt64(alignedRange.location)) tempFileHandle.write(data!) tempFileHandle.closeFile() let item = FileProviderItem(identifier: itemIdentifier,) completionHandler(tempFileURL, item, alignedRange, [], nil) } catch { completionHandler(nil, nil, alignedRange, [], error) } } I beleive I'm doing everhting correctly & as per documentation, but certainly there is something is wrong. Can someone help me about it? cheers,
2
0
1.1k
Aug ’24
Cloudkit Coredata reset upon user logout iCloud
Hi all, We have an iOS app which has Cloudkit Coredata as storage mechanism. Whenever user logout of iCloud in settings app, then the Coredata is wiped out and no row exists in the tables. Can we prevent this. We want to retain the coredata values until there is another iCloud user logs into settings app. Thanks Vinoth
4
1
2k
Aug ’24
Querying imported files and folders on iOS using NSMetadataQuery
Hi all, I’m trying to use NSMetadataQuery on iOS to track changes to folders users have imported from elsewhere but, no matter what I try, I get no results. Following the documentation for searching file metadata with NSMetadataQuery, I’m creating a live query (albeit in Swift) and listening for […]QueryDidFinishGathering and […]QueryDidUpdate. The former fires, with no results, and the latter never fires. I’ve also tried following the Synchronizing Documents in the iCloud Environment example, adding the appropriate Ubiquity keys to my Info.plist and .entitlements file, with no change. I’m importing files and folders using SwiftUI’s View.fileImporter(isPresented:allowedContentTypes:allowsMultipleSelection:onCompletion:), but can’t see how I might security-scope the NSMetadataQuery’s execution (if that’s even a thing?). My test project is on GitHub, but the main parts are below… My query method: extension NSMetadataQueryUbiquitousExternalDocumentsTestApp { func findAccessibleFiles() { query.stop() fileMonitor?.cancel() fileMonitor = Publishers.MergeMany( [ .NSMetadataQueryDidFinishGathering, .NSMetadataQueryDidUpdate ].map { NotificationCenter.default.publisher(for: $0) } ) .receive(on: DispatchQueue.main) .sink { notification in query.disableUpdates() defer { query.enableUpdates() } foundItems = query.results as! [NSMetadataItem] print("Query posted \(notification.name.rawValue) with results: \(query.results)") } query.searchScopes = [ NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope ] query.predicate = NSPredicate( format: "%K LIKE %@", argumentArray: [NSMetadataItemFSNameKey, "*"] ) query.sortDescriptors = [ NSSortDescriptor(key: NSMetadataItemFSNameKey, ascending: true) ] if query.start() { print("Query started") } else { print("Query didn't start for some reason") } } } Info.plist: […] <key>NSUbiquitousContainers</key> <dict> <key>iCloud.com.stevemarshall.AnnotateML</key> <dict> <key>NSUbiquitousContainerIsDocumentScopePublic</key> <true/> <key>NSUbiquitousContainerName</key> <string>AnnotateML</string> <key>NSUbiquitousContainerSupportedFolderLevels</key> <string>ANY</string> </dict> </dict> […]
3
0
2.8k
Jul ’24
Download a portion of a (large) file from iCloud drive
I have a large file saved in iCloud drive. I need just a portion of that file. func ubiquitousData(file: URL, offset: UInt64, size: UInt64) async -> Data { // downloads just the portion of the ubiquitous `file`. } FileManager already has an api that downloads the full file. Is there a way to download just a portion of the file?
0
0
917
Jul ’24
Deleting an ubiquity container = giant mess?
TL;DR: Does Apple keep a list of ubiquity containers that a user has deleted, and prevent apps from creating the same ubiquity containers again? If so, where is this list, and how can I reset it? Long version: I'm developing an app that relies on having an ubiquity container (iCloud Drive folder). This was working fine until I decided to rename the folder. I deleted the existing folder with the old name, changed the value of "NSUbiquitousContainerName," and expected my app's code to create the new folder with the new name, as it had done originally. But the result has been a disaster. Now, in the simulator, all of my code is running without errors. The app thinks the iCloud Drive folder exists and can read and write files to it, but the folder only seems to exist in the simulator and is not visible via any iCloud Drive UI. When I run the exact same code on my iPhone, the code fails with the error 'You don’t have permission to save the file “Documents” in the folder “[whatever]”.' I have tried changing my app's bundle identifier and everything works swimmingly: the iCloud Drive folder is created instantly and is visible everywhere. So something is preventing things from working with the original bundle identifier and I need to figure out what it is and how to fix it. Does anybody have any ideas? Thanks in advance.
0
1
808
Jul ’24
Why does it ask me to $ upgrade my iCloud storage every time I upgrade my iOS, even though I’m on a paid APPLE ONE FAMILY subscription plan?
Keep being asked to upgrade to iCloud+ every time there’s a iOS update, even though I’m on a family plan. It disconnects me and my family and tries to upsell us every time again. We have to manually switch back. Very deceptive and pretty sketchyz adding that since the iOS 18 beta upgrade, I have also been unable to get back onto my family plan for iCloud+ storage. The option to use the family plan has now completely disappeared and my only option is to buy another plus package which obviously isn’t required since I already subscribe to Apple One. Hopefully a fix for this comes out soon. It’s hijacking our phones now and won’t let us back up any materials even though I’ve paid for the extra space. Apple, you really need to look into the way it kicks people off their family plan storage every time there’s an iOS upgrade as well because for some people, I’m sure they are clicking on your buy more space button, since it’s much more prominent than finding the back door way to rejoin the family plan. If that’s an intentional way to trick people into getting an upsell you’re going to end up with lawsuits. It’s not a very cool UX experience.
0
0
815
Jun ’24
Unable to login to iCloud on Simulator (to test SwiftData sync)
Xcode 15.2. Brand new simulator set up, running 17.2. Brand new AppleID, and have logged in and accepted terms. Totally unable to login to iCloud on the Simulator to test iCloud syncing. There are numerous threads dating back 6 years plus of people having issues logging in to iCloud on the Simulator. Seems like it's still an issue. I have tried every solution. Existing AppleID. New AppleID. Logged into iCloud on Safari on Desktop and Simulator to check for unaccepted terms. Still get the commonly reported Sign-in page sitting spinning endlessly. Checked Console for errors and only things that seem possibly related are: com.apple.shortcuts CloudKitSync info 13:41:04.506714+0000 siriactionsd -[VCCKShortcutSyncCoordinator updateAccountStatusAndUserRecordID]_block_invoke Not fetching current user record ID because iCloud account is not available Is it really still the case that logging in to iCloud on a Simulator, to test sign on or iCloud sync is still horribly broken, and has been for over 6 years?
2
1
1.2k
Jun ’24
FIFinderSync not working in iCloud Drive on Sonoma
When setting up a Finder Sync Extension, even when just using the minimal template given by the File → New → Target → macOS ones provided in Xcode, the right-click menu does not show up within iCloud Drive, while toolbar buttons always work. Outside iCloud Drive multiple extensions show up when right-clicking on Finder's background. When right-clicking inside iCloud Drive (here my synced Desktop folder), they do not show up. Before macOS Sonoma this worked perfectly for me, but it broke beginning with the first beta. No Finder extension from any app (such as the Keka one) work anymore. I have seen it discussed that not more than one Finder extension can be active in a directory, but that is not true as can be seen in the first screenshot. Q: How can I circumvent this issue?
3
0
2.4k
Jun ’24
iCloud reuploads whole desktop
I have my desktop in the iCloud. On a regular basis, my iCloud comes to a point where it wants to upload every single file again, so it sets every existing file on "Waiting for upload", and takes 3 – 5 days to reupload everything. I don’t know what causes this, it comes out of the blue sometimes. During that time, I can’t copy files, and can’t open some programs like Xcode. How can I avoid this?
2
0
1.1k
Jun ’24
Trigger permission dialog for file access from kind of user supplied path.
I have the following situation: My SwiftUI App for macOS is using App Sandbox and is currently configured for read/write access for all the locations selectable in XCode I have added a file selector using a button and NSOpenPanel() to let the user select a folder containing a database file, to which I successfully get permissions using URL.bookmarkData() and URL.startAccessingSecurityScopedResource() I then try to read file paths from the database file and open those but I instantly get a permission error without a permission dialog/prompt appearing In my test I am using paths to files in my iCloud Drive folder I added all file/folder related usage string entries to the Info.plist for testing I think this is weird, since I can paste one of those file:// URLs from the database into a (non-Safari) browser and it shows the native permission dialog/prompt before downloading the file as expected. Is there any usage string that's not shown in the Info.plist Dropdown in XCode that I need to add to my app in order for this to work?
3
0
1.7k
May ’24
SwiftData doesn't parse my object correctly
Hello, im trying to parse a JSON Request into a Swift Data Model. The specific bug happens with the nutriscore. It works perfectly fine if I do my request and Decode or Encode the Model directly. But when im trying to add it to the Database the field is empty. Somehow when im iterating through each product (my model) and console log it, it works. But only if there is one product in my database. sometimes when im adding another product, it somehow deletes(?) all nutriscores and the console log prints "nil" for all products. even for the product it worked before. This right here is the way I insert into my database which should be perfectly fine. And the printing works also perfectly fine and it always displays the correct nutriscore func dataScanner(_ dataScanner: DataScannerViewController, didAdd addedItems: [RecognizedItem], allItems: [RecognizedItem]) { for item in addedItems { if case let .barcode(barcode) = item { performAPIRequest(with: barcode.payloadStringValue!) { result in switch result { case .success(let product): ... var descriptor: FetchDescriptor<Product> { var descriptor = FetchDescriptor<Product>( predicate: #Predicate { $0.code == product.code } ) descriptor.fetchLimit = 1 return descriptor } var products: [Product] = [] products = try! self.parent.context.fetch(descriptor) print(product.nutriscore ?? "no nutri"); //WORKS PERFECTLY FINE!! if let existingProduct = products.first { existingProduct.amount! += 1 existingProduct.lastScannedAt = Date() } else { self.parent.context.insert(product) } self.processMeals() case .failure(let error): print("Error: \(error)") } } } } } This has to be a SwiftData Bug, or why doesn't it work
1
0
991
May ’24
Turned off iCloud Drive and ALL DATA LOSS - pls. HELP!
I unintentionally turned off iCloud Drive on iPhone. iCloud deleted all my Desktop and Documents files Then sync deleted all my Documents files from all other devices iCloud.com website shows an empty folder. I don’t have any files in the restorable section. I don’t see any iCloud Archive folder created anywhere on my devices to restore. The total amount of information stored was quite large, over 25 GB. I turned back on the iCloud Drive feature, but no data shows up. I have paid extended storage capacity. There is no way that with the push of a button, data that was stored on iCloud servers would be lost. Nothing they say seems to help. Can someone please advise - How to recover data?
0
0
817
May ’24
Not able to perform read and write operations in iCloud in .Net MAUI Mac
I have set up the app identifier in Apple developer with the document URL set up for iCloud and also updated the info.plist file and entitlements according to this. info.plist <dict> <key>iCloud.com.abc.MyApp</key> <dict> <key>NSUbiquitousContainerIsDocumentScopePublic</key> <true/> <key>NSUbiquitousContainerName</key> <string>MyApp</string> <key>NSUbiquitousContainerSupportedFolderLevels</key> <string>Any</string> </dict> </dict> <key>UIFileSharingEnabled</key> <true/> <key>LSSupportsOpeningDocumentsInPlace</key> <true/> <key>UIBackgroundModes</key> <array> <string>fetch</string> <string>remote-notification</string> </array> <key>NSUbiquitousContainersUsageDescription</key> <string>This app uses iCloud containers to store and sync documents.</string> Entitlement.plist <array> <string>iCloud.com.abc.MyApp</string> </array> <key>com.apple.developer.icloud-services</key> <array> <string>CloudDocuments</string> </array> <key>com.apple.developer.ubiquity-container-identifiers</key> <array> <string>iCloud.com.abc.MyApp</string> </array> // Then I am using iCloud for CRUD operation in the app // Code snippet { try { var iCloudDocumentsURL = NSFileManager.DefaultManager.GetUrlForUbiquityContainer(null); if (iCloudDocumentsURL != null) { var path = iCloudDocumentsURL.ToString().Replace("%C3%97", "x"); var filepath = path.Replace("file://", string.Empty).Replace("%20", " "); var destinationdirectoryPath = Path.combine(filePath,"MyAppDocuments"); if (Directory.Exists(destinationdirectoryPath)) { Directory.Delete(destinationdirectoryPath, recursive: true); } } }catch(Exception ex) { LogHandler.LogError(ex); } } But in Delete operation gives Exception -> System.IO.IOException: Access to the path '/Users/USERABC/Library/Mobile Documents/iCloudcomabc~MyApp/MyAppDocuments' is denied.
0
0
888
May ’24
ICloudKit cannot synchronize
I deployed Xcode to iPhone, emulator and iPhone, and iCloud data is synchronized. But I am using testlight for distribution, so I cannot synchronize. I did not respond in iCloud Kit Database developer mode, and now I have changed to production mode, but there is no response, so I cannot synchronize. That's why.
0
0
739
Apr ’24
Unable to access local package stored on iCloud Drive
I have a package stored on iCloud Drive and want to list it as a dependency in another package. This worked fine when the package was stored on the Mac hard drive, but moving it to iCloud seems to cause a problem. dependencies: [ .package(url: "file:///Users/bill/Library/Mobile Documents/com~apple~CloudDocs/Projects/Matrix", from: "0.0.1") ], This results in an Xcode error message: x-xcode-log://812C74F5-B7CA-4E15-A87C-E6C9586B0926 /Users/bill/Library/Mobile%20Documents/com~apple~CloudDocs/Projects/Matrix: The source control operation failed because the specified URL cannot be used. Make sure the URL is valid and try again. Can anyone advise how to make the URL valid, or is storing the package on iCloud Drive not yet possible?
0
0
940
Apr ’24
iCloud Drive on iOS extremely slow to load and causing app issues
Previously iCloud Drive worked fine on my iPhone (15 Pro), but within the last couple of months it seems to have died. It continues to work fine on other connected devices (iPad, MBP etc), but will not work on iPhone. This issue seemed to begin roughly around the early 17.4 betas, but was also present in the public release and has continued on to the current 17.5 betas. I initially noticed WhatsApp couldn't back up to iCloud despite all the options being turned on. I assumed this was a WhatsApp issue. But I've recently noticed that Castro hangs on every single load and then crashes. I know that Castro does an initial call to iCloud to check back-ups etc so I went to have a look at iCloud Drive itself on my device - every single time I open Files, iCloud Drive takes 10-15 minutes to load/show anything. So it seems that iCloud Drive is not "holding" any information/content and is then taking an age to load, which is causing these other apps to time-out and crash. Turning off iCloud Drive on the device (a 35 minute waiting process) stops the issues and the apps work fine (aside from now not being able to back-up to iCloud as it's off), but resetting, allowing to re-sync again, does not resolve the issue on the device at all, and if it's turned back on, the apps begin to fail again, and even after a full re-sync it takes 10-15 minutes to load every time. To note; my connection is not an issue, and I have more than enough space on-device to cache/store stuff that's required. Any thoughts on what could be causing the issue and how to resolve?
1
0
2.7k
Apr ’24
iCloud Documents content is kept during App Transfer?
Hello, we are planning to migrate an app that uses iCloud documents to store some documents that the user can upload/download and modify. In the official overview of App Transfer here, there are information related to CloudKit Containers and KVS but nothing related to iCloud Documents. The content of iCloud Documents is accessed using FileManager.default.url(forUbiquityContainerIdentifier: containerID) where the containerID has the form iCloud.com.things.things, even if in the official documentation it is written that the identifier must be prefixed with the Team ID. With this ID the storage works properly and we never experienced problems. Do you know if migrating an app with this functionality can be problematic? Do you know if the Team ID is somehow used even if not explicitly passed in the call to the function? Thank you and have a nice day!
0
0
890
Apr ’24
iCloud Deleted my files from my computer!
It doesn't make sense. I spent a huge amount of money and bought a Macbook Pro with 4 TB storage, so my files became acceptable to me. Now Apple has removed my files from my computer without my permission! And if I need my files, I have to download them ( My files are not 1-2 megabytes. Some of my files are 600 MB., and I have to wait to be downloaded! ) It is a big pain. It is a very bad experience. And I don't want this to happen again and again like before. I need help to solve this issue.
0
0
784
Mar ’24
Partial Download Support for macOS NSFileProvider Implementation
I've implemented a file provider for macos, and it works well. Now I'm trying to add partial download support in my implementation. however, it doesn't seem to work. As per documentation, I've implemented protocol NSFileProviderPartialContentFetching and its method func fetchPartialContents(for: NSFileProviderItemIdentifier, version: NSFileProviderItemVersion, request: NSFileProviderRequest, minimalRange: NSRange, aligningTo: Int, options: NSFileProviderFetchContentsOptions, completionHandler: (URL?, NSFileProviderItem?, NSRange, NSFileProviderMaterializationFlags, (any Error)?) -> Void) -> Progress Now, I'm testing my implementation, and I open a movie from my File Provider using VLC. I see that fetchPartialContents get a hit. I download requested range, and return it through completionHandler. However VLC gives a read error. here is my implementation of fetchPartialContents: private func align(range: NSRange, to alignment: Int) -> NSRange { let start = range.location - (range.location % alignment) let end = range.location + range.length let alignedEnd = ((end + alignment - 1) / alignment) * alignment let alignedLength = alignedEnd - start return NSRange(location: start, length: alignedLength) } unc fetchPartialContents(for itemIdentifier: NSFileProviderItemIdentifier, version requestedVersion: NSFileProviderItemVersion, request: NSFileProviderRequest, minimalRange requestedRange: NSRange, aligningTo alignment: Int, options: NSFileProviderFetchContentsOptions = [], completionHandler: @escaping (URL?, NSFileProviderItem?, NSRange, NSFileProviderMaterializationFlags, (any Error)?) -> Void) -> Progress { let alignedRange = align(range: requestedRange, to: alignment) let progress = Progress(totalUnitCount: 100) let data = downloadData(for: alignedRange) progress.completedUnitCount = 100; tempFileHandle = try FileHandle(forWritingTo: tempFileURL) tempFileHandle.seek(toFileOffset: UInt64(alignedRange.location)) tempFileHandle.write(data!) tempFileHandle.closeFile() let item = FileProviderItem(identifier: itemIdentifier,) completionHandler(tempFileURL, item, alignedRange, [], nil) } catch { completionHandler(nil, nil, alignedRange, [], error) } } I beleive I'm doing everhting correctly & as per documentation, but certainly there is something is wrong. Can someone help me about it? cheers,
Replies
2
Boosts
0
Views
1.1k
Activity
Aug ’24
Cloudkit Coredata reset upon user logout iCloud
Hi all, We have an iOS app which has Cloudkit Coredata as storage mechanism. Whenever user logout of iCloud in settings app, then the Coredata is wiped out and no row exists in the tables. Can we prevent this. We want to retain the coredata values until there is another iCloud user logs into settings app. Thanks Vinoth
Replies
4
Boosts
1
Views
2k
Activity
Aug ’24
Querying imported files and folders on iOS using NSMetadataQuery
Hi all, I’m trying to use NSMetadataQuery on iOS to track changes to folders users have imported from elsewhere but, no matter what I try, I get no results. Following the documentation for searching file metadata with NSMetadataQuery, I’m creating a live query (albeit in Swift) and listening for […]QueryDidFinishGathering and […]QueryDidUpdate. The former fires, with no results, and the latter never fires. I’ve also tried following the Synchronizing Documents in the iCloud Environment example, adding the appropriate Ubiquity keys to my Info.plist and .entitlements file, with no change. I’m importing files and folders using SwiftUI’s View.fileImporter(isPresented:allowedContentTypes:allowsMultipleSelection:onCompletion:), but can’t see how I might security-scope the NSMetadataQuery’s execution (if that’s even a thing?). My test project is on GitHub, but the main parts are below… My query method: extension NSMetadataQueryUbiquitousExternalDocumentsTestApp { func findAccessibleFiles() { query.stop() fileMonitor?.cancel() fileMonitor = Publishers.MergeMany( [ .NSMetadataQueryDidFinishGathering, .NSMetadataQueryDidUpdate ].map { NotificationCenter.default.publisher(for: $0) } ) .receive(on: DispatchQueue.main) .sink { notification in query.disableUpdates() defer { query.enableUpdates() } foundItems = query.results as! [NSMetadataItem] print("Query posted \(notification.name.rawValue) with results: \(query.results)") } query.searchScopes = [ NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope ] query.predicate = NSPredicate( format: "%K LIKE %@", argumentArray: [NSMetadataItemFSNameKey, "*"] ) query.sortDescriptors = [ NSSortDescriptor(key: NSMetadataItemFSNameKey, ascending: true) ] if query.start() { print("Query started") } else { print("Query didn't start for some reason") } } } Info.plist: […] &lt;key&gt;NSUbiquitousContainers&lt;/key&gt; &lt;dict&gt; &lt;key&gt;iCloud.com.stevemarshall.AnnotateML&lt;/key&gt; &lt;dict&gt; &lt;key&gt;NSUbiquitousContainerIsDocumentScopePublic&lt;/key&gt; &lt;true/&gt; &lt;key&gt;NSUbiquitousContainerName&lt;/key&gt; &lt;string&gt;AnnotateML&lt;/string&gt; &lt;key&gt;NSUbiquitousContainerSupportedFolderLevels&lt;/key&gt; &lt;string&gt;ANY&lt;/string&gt; &lt;/dict&gt; &lt;/dict&gt; […]
Replies
3
Boosts
0
Views
2.8k
Activity
Jul ’24
Download a portion of a (large) file from iCloud drive
I have a large file saved in iCloud drive. I need just a portion of that file. func ubiquitousData(file: URL, offset: UInt64, size: UInt64) async -> Data { // downloads just the portion of the ubiquitous `file`. } FileManager already has an api that downloads the full file. Is there a way to download just a portion of the file?
Replies
0
Boosts
0
Views
917
Activity
Jul ’24
Deleting an ubiquity container = giant mess?
TL;DR: Does Apple keep a list of ubiquity containers that a user has deleted, and prevent apps from creating the same ubiquity containers again? If so, where is this list, and how can I reset it? Long version: I'm developing an app that relies on having an ubiquity container (iCloud Drive folder). This was working fine until I decided to rename the folder. I deleted the existing folder with the old name, changed the value of "NSUbiquitousContainerName," and expected my app's code to create the new folder with the new name, as it had done originally. But the result has been a disaster. Now, in the simulator, all of my code is running without errors. The app thinks the iCloud Drive folder exists and can read and write files to it, but the folder only seems to exist in the simulator and is not visible via any iCloud Drive UI. When I run the exact same code on my iPhone, the code fails with the error 'You don’t have permission to save the file “Documents” in the folder “[whatever]”.' I have tried changing my app's bundle identifier and everything works swimmingly: the iCloud Drive folder is created instantly and is visible everywhere. So something is preventing things from working with the original bundle identifier and I need to figure out what it is and how to fix it. Does anybody have any ideas? Thanks in advance.
Replies
0
Boosts
1
Views
808
Activity
Jul ’24
Why does it ask me to $ upgrade my iCloud storage every time I upgrade my iOS, even though I’m on a paid APPLE ONE FAMILY subscription plan?
Keep being asked to upgrade to iCloud+ every time there’s a iOS update, even though I’m on a family plan. It disconnects me and my family and tries to upsell us every time again. We have to manually switch back. Very deceptive and pretty sketchyz adding that since the iOS 18 beta upgrade, I have also been unable to get back onto my family plan for iCloud+ storage. The option to use the family plan has now completely disappeared and my only option is to buy another plus package which obviously isn’t required since I already subscribe to Apple One. Hopefully a fix for this comes out soon. It’s hijacking our phones now and won’t let us back up any materials even though I’ve paid for the extra space. Apple, you really need to look into the way it kicks people off their family plan storage every time there’s an iOS upgrade as well because for some people, I’m sure they are clicking on your buy more space button, since it’s much more prominent than finding the back door way to rejoin the family plan. If that’s an intentional way to trick people into getting an upsell you’re going to end up with lawsuits. It’s not a very cool UX experience.
Replies
0
Boosts
0
Views
815
Activity
Jun ’24
Unable to login to iCloud on Simulator (to test SwiftData sync)
Xcode 15.2. Brand new simulator set up, running 17.2. Brand new AppleID, and have logged in and accepted terms. Totally unable to login to iCloud on the Simulator to test iCloud syncing. There are numerous threads dating back 6 years plus of people having issues logging in to iCloud on the Simulator. Seems like it's still an issue. I have tried every solution. Existing AppleID. New AppleID. Logged into iCloud on Safari on Desktop and Simulator to check for unaccepted terms. Still get the commonly reported Sign-in page sitting spinning endlessly. Checked Console for errors and only things that seem possibly related are: com.apple.shortcuts CloudKitSync info 13:41:04.506714+0000 siriactionsd -[VCCKShortcutSyncCoordinator updateAccountStatusAndUserRecordID]_block_invoke Not fetching current user record ID because iCloud account is not available Is it really still the case that logging in to iCloud on a Simulator, to test sign on or iCloud sync is still horribly broken, and has been for over 6 years?
Replies
2
Boosts
1
Views
1.2k
Activity
Jun ’24
FIFinderSync not working in iCloud Drive on Sonoma
When setting up a Finder Sync Extension, even when just using the minimal template given by the File → New → Target → macOS ones provided in Xcode, the right-click menu does not show up within iCloud Drive, while toolbar buttons always work. Outside iCloud Drive multiple extensions show up when right-clicking on Finder's background. When right-clicking inside iCloud Drive (here my synced Desktop folder), they do not show up. Before macOS Sonoma this worked perfectly for me, but it broke beginning with the first beta. No Finder extension from any app (such as the Keka one) work anymore. I have seen it discussed that not more than one Finder extension can be active in a directory, but that is not true as can be seen in the first screenshot. Q: How can I circumvent this issue?
Replies
3
Boosts
0
Views
2.4k
Activity
Jun ’24
iCloud reuploads whole desktop
I have my desktop in the iCloud. On a regular basis, my iCloud comes to a point where it wants to upload every single file again, so it sets every existing file on "Waiting for upload", and takes 3 – 5 days to reupload everything. I don’t know what causes this, it comes out of the blue sometimes. During that time, I can’t copy files, and can’t open some programs like Xcode. How can I avoid this?
Replies
2
Boosts
0
Views
1.1k
Activity
Jun ’24
Trigger permission dialog for file access from kind of user supplied path.
I have the following situation: My SwiftUI App for macOS is using App Sandbox and is currently configured for read/write access for all the locations selectable in XCode I have added a file selector using a button and NSOpenPanel() to let the user select a folder containing a database file, to which I successfully get permissions using URL.bookmarkData() and URL.startAccessingSecurityScopedResource() I then try to read file paths from the database file and open those but I instantly get a permission error without a permission dialog/prompt appearing In my test I am using paths to files in my iCloud Drive folder I added all file/folder related usage string entries to the Info.plist for testing I think this is weird, since I can paste one of those file:// URLs from the database into a (non-Safari) browser and it shows the native permission dialog/prompt before downloading the file as expected. Is there any usage string that's not shown in the Info.plist Dropdown in XCode that I need to add to my app in order for this to work?
Replies
3
Boosts
0
Views
1.7k
Activity
May ’24
SwiftData doesn't parse my object correctly
Hello, im trying to parse a JSON Request into a Swift Data Model. The specific bug happens with the nutriscore. It works perfectly fine if I do my request and Decode or Encode the Model directly. But when im trying to add it to the Database the field is empty. Somehow when im iterating through each product (my model) and console log it, it works. But only if there is one product in my database. sometimes when im adding another product, it somehow deletes(?) all nutriscores and the console log prints "nil" for all products. even for the product it worked before. This right here is the way I insert into my database which should be perfectly fine. And the printing works also perfectly fine and it always displays the correct nutriscore func dataScanner(_ dataScanner: DataScannerViewController, didAdd addedItems: [RecognizedItem], allItems: [RecognizedItem]) { for item in addedItems { if case let .barcode(barcode) = item { performAPIRequest(with: barcode.payloadStringValue!) { result in switch result { case .success(let product): ... var descriptor: FetchDescriptor<Product> { var descriptor = FetchDescriptor<Product>( predicate: #Predicate { $0.code == product.code } ) descriptor.fetchLimit = 1 return descriptor } var products: [Product] = [] products = try! self.parent.context.fetch(descriptor) print(product.nutriscore ?? "no nutri"); //WORKS PERFECTLY FINE!! if let existingProduct = products.first { existingProduct.amount! += 1 existingProduct.lastScannedAt = Date() } else { self.parent.context.insert(product) } self.processMeals() case .failure(let error): print("Error: \(error)") } } } } } This has to be a SwiftData Bug, or why doesn't it work
Replies
1
Boosts
0
Views
991
Activity
May ’24
Turned off iCloud Drive and ALL DATA LOSS - pls. HELP!
I unintentionally turned off iCloud Drive on iPhone. iCloud deleted all my Desktop and Documents files Then sync deleted all my Documents files from all other devices iCloud.com website shows an empty folder. I don’t have any files in the restorable section. I don’t see any iCloud Archive folder created anywhere on my devices to restore. The total amount of information stored was quite large, over 25 GB. I turned back on the iCloud Drive feature, but no data shows up. I have paid extended storage capacity. There is no way that with the push of a button, data that was stored on iCloud servers would be lost. Nothing they say seems to help. Can someone please advise - How to recover data?
Replies
0
Boosts
0
Views
817
Activity
May ’24
Not able to perform read and write operations in iCloud in .Net MAUI Mac
I have set up the app identifier in Apple developer with the document URL set up for iCloud and also updated the info.plist file and entitlements according to this. info.plist <dict> <key>iCloud.com.abc.MyApp</key> <dict> <key>NSUbiquitousContainerIsDocumentScopePublic</key> <true/> <key>NSUbiquitousContainerName</key> <string>MyApp</string> <key>NSUbiquitousContainerSupportedFolderLevels</key> <string>Any</string> </dict> </dict> <key>UIFileSharingEnabled</key> <true/> <key>LSSupportsOpeningDocumentsInPlace</key> <true/> <key>UIBackgroundModes</key> <array> <string>fetch</string> <string>remote-notification</string> </array> <key>NSUbiquitousContainersUsageDescription</key> <string>This app uses iCloud containers to store and sync documents.</string> Entitlement.plist <array> <string>iCloud.com.abc.MyApp</string> </array> <key>com.apple.developer.icloud-services</key> <array> <string>CloudDocuments</string> </array> <key>com.apple.developer.ubiquity-container-identifiers</key> <array> <string>iCloud.com.abc.MyApp</string> </array> // Then I am using iCloud for CRUD operation in the app // Code snippet { try { var iCloudDocumentsURL = NSFileManager.DefaultManager.GetUrlForUbiquityContainer(null); if (iCloudDocumentsURL != null) { var path = iCloudDocumentsURL.ToString().Replace("%C3%97", "x"); var filepath = path.Replace("file://", string.Empty).Replace("%20", " "); var destinationdirectoryPath = Path.combine(filePath,"MyAppDocuments"); if (Directory.Exists(destinationdirectoryPath)) { Directory.Delete(destinationdirectoryPath, recursive: true); } } }catch(Exception ex) { LogHandler.LogError(ex); } } But in Delete operation gives Exception -> System.IO.IOException: Access to the path '/Users/USERABC/Library/Mobile Documents/iCloudcomabc~MyApp/MyAppDocuments' is denied.
Replies
0
Boosts
0
Views
888
Activity
May ’24
ICloudKit cannot synchronize
I deployed Xcode to iPhone, emulator and iPhone, and iCloud data is synchronized. But I am using testlight for distribution, so I cannot synchronize. I did not respond in iCloud Kit Database developer mode, and now I have changed to production mode, but there is no response, so I cannot synchronize. That's why.
Replies
0
Boosts
0
Views
739
Activity
Apr ’24
Unable to access local package stored on iCloud Drive
I have a package stored on iCloud Drive and want to list it as a dependency in another package. This worked fine when the package was stored on the Mac hard drive, but moving it to iCloud seems to cause a problem. dependencies: [ .package(url: "file:///Users/bill/Library/Mobile Documents/com~apple~CloudDocs/Projects/Matrix", from: "0.0.1") ], This results in an Xcode error message: x-xcode-log://812C74F5-B7CA-4E15-A87C-E6C9586B0926 /Users/bill/Library/Mobile%20Documents/com~apple~CloudDocs/Projects/Matrix: The source control operation failed because the specified URL cannot be used. Make sure the URL is valid and try again. Can anyone advise how to make the URL valid, or is storing the package on iCloud Drive not yet possible?
Replies
0
Boosts
0
Views
940
Activity
Apr ’24
iCloud Drive on iOS extremely slow to load and causing app issues
Previously iCloud Drive worked fine on my iPhone (15 Pro), but within the last couple of months it seems to have died. It continues to work fine on other connected devices (iPad, MBP etc), but will not work on iPhone. This issue seemed to begin roughly around the early 17.4 betas, but was also present in the public release and has continued on to the current 17.5 betas. I initially noticed WhatsApp couldn't back up to iCloud despite all the options being turned on. I assumed this was a WhatsApp issue. But I've recently noticed that Castro hangs on every single load and then crashes. I know that Castro does an initial call to iCloud to check back-ups etc so I went to have a look at iCloud Drive itself on my device - every single time I open Files, iCloud Drive takes 10-15 minutes to load/show anything. So it seems that iCloud Drive is not "holding" any information/content and is then taking an age to load, which is causing these other apps to time-out and crash. Turning off iCloud Drive on the device (a 35 minute waiting process) stops the issues and the apps work fine (aside from now not being able to back-up to iCloud as it's off), but resetting, allowing to re-sync again, does not resolve the issue on the device at all, and if it's turned back on, the apps begin to fail again, and even after a full re-sync it takes 10-15 minutes to load every time. To note; my connection is not an issue, and I have more than enough space on-device to cache/store stuff that's required. Any thoughts on what could be causing the issue and how to resolve?
Replies
1
Boosts
0
Views
2.7k
Activity
Apr ’24
iCloud Documents content is kept during App Transfer?
Hello, we are planning to migrate an app that uses iCloud documents to store some documents that the user can upload/download and modify. In the official overview of App Transfer here, there are information related to CloudKit Containers and KVS but nothing related to iCloud Documents. The content of iCloud Documents is accessed using FileManager.default.url(forUbiquityContainerIdentifier: containerID) where the containerID has the form iCloud.com.things.things, even if in the official documentation it is written that the identifier must be prefixed with the Team ID. With this ID the storage works properly and we never experienced problems. Do you know if migrating an app with this functionality can be problematic? Do you know if the Team ID is somehow used even if not explicitly passed in the call to the function? Thank you and have a nice day!
Replies
0
Boosts
0
Views
890
Activity
Apr ’24
iCloud Deleted my files from my computer!
It doesn't make sense. I spent a huge amount of money and bought a Macbook Pro with 4 TB storage, so my files became acceptable to me. Now Apple has removed my files from my computer without my permission! And if I need my files, I have to download them ( My files are not 1-2 megabytes. Some of my files are 600 MB., and I have to wait to be downloaded! ) It is a big pain. It is a very bad experience. And I don't want this to happen again and again like before. I need help to solve this issue.
Replies
0
Boosts
0
Views
784
Activity
Mar ’24