![]() |
iCloud-Drive-Verzeichnis ermitteln
Hi,
unter iOS legen ich normalerweise in der App selbst das iCloud-Drive-Verzeichnis für die App an. Damit können auch Apps außerhalb meiner App (z.B. der Browser) auf diese Dateien zugreifen. Bisher erledigte ich dies mit folgendem Code:
Delphi-Quellcode:
Bei einigen Geräten kommt jetzt aber leider als URL nil raus.
class function TFileUtils.getAppSharedDownloadsPath(appPathRef:String):String;
var nsFile: NSFileManager; URL: NSURL; begin nsFile := TNSFileManager.Wrap(TNSFileManager.OCClass.defaultManager); URL:=nsFile.URLForUbiquityContainerIdentifier(nil); if (URL <> nil) then begin URL:=URL.URLByAppendingPathComponent(StrToNSStr('Documents')); Result := UTF8ToString(URL.path.UTF8String); if (not nsFile.fileExistsAtPath(URL.path,nil)) then begin mlog.info('create new iCloud directory: '+result); if (nsFile.createDirectoryAtURL(URL,true,nil,nil)) then mlog.info('Created new iCloud directory '+result) else mlog.info('Can´t creat new iCloud directory '+result); end else mlog.info('iCloud directory exists: '+result); end else begin Result := ''; mlog.info('URLForUbiquityContainerIdentifier is empty'); end; end; Ich habe es auch mit der neusten iOS-Version bei mir erfolgreich (also <>nil) testen können und da kommt dann
Delphi-Quellcode:
raus.
/private/var/mobile/Library/Mobile Documents/iCloud~de~ictrainer/Documents
Woran kann dieser Fehler also hängen?
Delphi-Quellcode:
nsFile := TNSFileManager.Wrap(TNSFileManager.OCClass.defaultManager);
URL:=nsFile.URLForUbiquityContainerIdentifier(nil); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz