Einzelnen Beitrag anzeigen

Jef

Registriert seit: 8. Sep 2013
Ort: München
40 Beiträge
 
Delphi 10.3 Rio
 
#1

iOS / iCloud - Dateien aus der Bereitstellung mit "do not back up" markieren

  Alt 26. Feb 2016, 01:25
Delphi-Version: 10 Seattle
Hallo Forum,

meine App wurde leider von Apple abgelehnt, weil zu viel content in der iCloud abgelegt wird. Es sind (Audio-)Dateien, die nicht in die iCloud sollen. Sie sollen aber auf jeden Fall offline verfügbar sein.
Das ist die Lösung von Apple: iOS Developer Library - Technical Q&A QA1719

Diese Funktion sollte die "do not back up" Markierung für ausgewählte Dateien ermöglichen (da gibt es einen Delphi Praxis Beitrag zu):
Code:
function SetBackupFlag (AFileName: string; ABackup: boolean): boolean;
var
  URL: NSURL;
  Err: PPointer;
begin
  URL:= TNSURL.Wrap (TNSURL.OCClass.fileURLWithPath (StrToNSStr (AFileName)));
  result:= URL.setResourceValue (TNSNumber.OCClass.numberWithBool(not ABackup),
           StrToNSStr('NSURLIsExcludedFromBackupKey'), err) and (err = nil);
end;
Wie rufe ich diese Funktion korrekt auf? Setze ich die ins Hauptformular und könnte ich die Dateien dann einfach einzeln über FormCreate markieren?
z.B. so:
Code:
SetBackupFlag ( GetHomePath+PathDelim +'Documents'+PathDelim+'dateien'+PathDelim+'audio'+PathDelim + 'Fuss_01.mp3', False );
SetBackupFlag ( GetHomePath+PathDelim +'Documents'+PathDelim+'dateien'+PathDelim+'audio'+PathDelim + 'Fuss_02.mp3', False );
SetBackupFlag ( GetHomePath+PathDelim +'Documents'+PathDelim+'dateien'+PathDelim+'audio'+PathDelim + 'Fuss_03.mp3', False );
...
Würde das schon reichen?

Im oben genannten Beitrag steht
You can call the function at any time - peferereably within the HandleAppEvent procedure (aeFinishedLaunching).
Wie würde das denn ausschauen?

Jef
Sebastian
  Mit Zitat antworten Zitat