For example, is it possible the storage container key in the entitlements dictionary would accept “*” or “/”, allowing me to access any and all data in that user’s iCloud?
I am not worried about getting this app accepted into the app store.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
No.
And, even if you could, there wouldn’t be any way to enumerate that data. -[NSFileManager URLForUbiquityContainerIdentifier:] and friends require you to know the containers you want to access. (You can pass nil, but that just returns the first container you have access to, not some parent of all containers.)
And this is intentional. The public APIs aren’t meant to let your app interfere with other apps’ storage (except for related apps that share a team), for pretty good reasons. You may want to read iCloud Storage in Mac App Programming Guide (which doesn’t require a paid membership to access).
So, how does the iCloud preference pane do it? Well, that’s a secret. Presumably it either uses private APIs, or just talks to the iCloud web service directly in a way that the APIs can’t. You could presumably reverse-engineer it, but that’s the only way you’ll be able to do this.