würde Ich mag UIActivityViewController gebrauchen „In dem iCloud Drive“ Aktion hier im Bild, eine Datei zu laden, die ich auf dem iOS-Gerät speichern:In dem iCloud-Laufwerk mit UIActivityViewController
Zeit in meinen benutzerdefinierten UIActivityItemProvider Klasse Ich habe meine - (ID) Item-Methode, die das zurückgibt: [NSURL fileURLWithPath: fullPath];
FullPath ist der Pfad zu der Datei, die ich erstelle und auf das iCloud-Laufwerk hochladen möchte. Es funktioniert, wenn ich auf "Zu Notizen hinzufügen", auf die Mail-Aktivität oder auf meine benutzerdefinierte Aktivität klicke, aber nicht auf iCloud. Anstatt diese Datei zu verwenden, erstellt sie eine Standarddatei mit dem Betreff, den ich für die E-Mail-Aktivität "Attached is a file" verwendet habe. als Dateiinhalt. Hier ist der Code, den ich verwende, um den UIActivityViewController zu präsentieren:
CustomActivity * customActivity = [[CustomActivity alloc]init];
CustomItemProvider *itemProvider = [[CustomItemProvider alloc] initWithPlaceholderItem:_itemsArray];
NSArray *activityItems = [NSArray arrayWithObjects:itemProvider, NSLocalizedString(@"Attached is a file.", nil), nil];
UIActivityViewController *avc = [[UIActivityViewController alloc]
initWithActivityItems:activityItems
applicationActivities:@[customActivity]];
float iOSVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
if (iOSVersion < 9.0)
{
avc.excludedActivityTypes = @[UIActivityTypePostToFacebook, UIActivityTypeAirDrop, UIActivityTypeCopyToPasteboard, UIActivityTypeMessage, UIActivityTypePostToFlickr, UIActivityTypePostToTwitter, UIActivityTypePostToVimeo, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeSaveToCameraRoll, UIActivityTypePostToTencentWeibo,UIActivityTypeAssignToContact, UIActivityTypeAddToReadingList];
}
else
{
avc.excludedActivityTypes = @[UIActivityTypePostToFacebook, UIActivityTypeAirDrop, UIActivityTypeCopyToPasteboard, UIActivityTypeMessage, UIActivityTypePostToFlickr, UIActivityTypePostToTwitter, UIActivityTypePostToVimeo, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeSaveToCameraRoll, UIActivityTypePostToTencentWeibo,UIActivityTypeAssignToContact, UIActivityTypeAddToReadingList, UIActivityTypeOpenInIBooks];
}
[self presentViewController:avc animated:YES completion:nil];
Ich möchte eine Datei auf iCloud Drive hochladen können. Derzeit wird diese iCloud-Option angezeigt, wobei mein benutzerdefinierter Anbieter eine NSURL und meine Aktivitätselemente diesen benutzerdefinierten Anbieter und eine Zeichenfolge – HawkEye1194
auf einem echten Gerät zurückgibt – HawkEye1194