Ich habe eine iOS-App, die Datendateien von Webseiten herunterlädt. Oft wird ein Benutzer auf die Webseite stoßen, aber noch nicht die App haben. Anstatt sie dazu zu bringen, die App herunterzuladen und dann die Webseite innerhalb der App wiederzufinden, möchte ich die Datendatei herunterladen und die App dann bei der Installation abholen lassen. Von dem, was ich sammeln kann, muss ich diese Datei in die iCloud einfügen. Aber wenn ich versuche, die Datei mit Safari herunterzuladen, sagt sie mir, dass sie die Datei nicht herunterladen kann. Wenn ich Chrome verwende, möchte ich, dass GoogleDrive zum Speichern der Datei verwendet wird. Gibt es eine Möglichkeit, wie eine Webseite eine Datei in iCloud speichern kann? Oder gibt es eine andere Möglichkeit, der App mitzuteilen, welche Datei heruntergeladen werden soll, wenn sie installiert wurde?So laden Sie eine Datei von einer Website in die iCloud eines Benutzers
Antwort
gehört einfach das offizielle Wort von Apple. Es gibt KEINE Möglichkeit, eine Datei (Bild oder anderes) von einer Internetseite auf die iCloud des Benutzers zu kopieren, zu übertragen oder herunterzuladen.
Durch Experimente habe ich entdeckt, dass Safari einige Dateitypen (zB JPEGs) von einer Webseite herunterladen wird, andere Dateitypen geben den in der Frage erwähnten Fehler, aber KEINE Dateien werden in der iCloud platziert. Und so werden keine Dateien für meine App verfügbar sein.
Ich bin neu in ios app Entwicklung, aber ich versuche, diese .please Verwendung folgenden Code zu beantworten:
- (void)download:(NSURL *)url
{
dispatch_queue_t q_default;
q_default = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(q_default, ^{
NSError *error = nil;
BOOL success = [[NSFileManager defaultManager] startDownloadingUbiquitousItemAtURL:url error:&error];
if (!success)
{
// failed to download
}
else
{
NSDictionary *attrs = [url resourceValuesForKeys:@[NSURLUbiquitousItemIsDownloadedKey] error:&error];
if (attrs != nil)
{
if ([[attrs objectForKey:NSURLUbiquitousItemIsDownloadedKey] boolValue])
{
// already downloaded
}
else
{
NSMetadataQuery *query = [[NSMetadataQuery alloc] init];
[query setPredicate:[NSPredicate predicateWithFormat:@"%K > 0", NSMetadataUbiquitousItemPercentDownloadedKey]];
[query setSearchScopes:@[url]]; // scope the search only on this item
[query setValueListAttributes:@[NSMetadataUbiquitousItemPercentDownloadedKey, NSMetadataUbiquitousItemIsDownloadedKey]];
_fileDownloadMonitorQuery = query;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(liveUpdate:)
name:NSMetadataQueryDidUpdateNotification
object:query];
[self.fileDownloadMonitorQuery startQuery];
}
}
}
});
}
- (void)liveUpdate:(NSNotification *)notification
{
NSMetadataQuery *query = [notification object];
if (query != self.fileDownloadMonitorQuery)
return; // it's not our query
if ([self.fileDownloadMonitorQuery resultCount] == 0)
return; // no items found
NSMetadataItem *item = [self.fileDownloadMonitorQuery resultAtIndex:0];
double progress = [[item valueForAttribute:NSMetadataUbiquitousItemPercentDownloadedKey] doubleValue];
NSLog(@"download progress = %f", progress);
// report download progress somehow..
if ([[item valueForAttribute:NSMetadataUbiquitousItemIsDownloadedKey] boolValue])
{
// finished downloading, stop the query
[query stopQuery];
_fileDownloadMonitorQuery = nil;
}
}
Danke, aber ich möchte die Webseite die Datei in iCloud herunterladen. Vielleicht hätte ich die App gar nicht erwähnen sollen. Ich brauche keine Hilfe mit der App, die die Datei in iCloud entdeckt. Ich muss nur die Datei auf die iCloud (in?) Bringen, bevor meine App installiert wird. Wenn es nur eine Art Pass-Through-Parameter gäbe, die Sie über den App Store senden könnten. – Melchester
- 1. So laden Sie eine Datei von einer Website in C#
- 2. So laden Sie eine ZIP-Datei von einer Site (Python)
- 3. So messen Sie die Besuchszeit eines Benutzers
- 4. Laden Sie Benutzerdateien von iCloud in App
- 5. Java - So laden Sie die vollständige Quelle einer HTML-Website
- 6. Nur eine Instanz eines Benutzers auf einer Website eingeloggt
- 7. So laden Sie CSV-Daten von einer Website mit Selenium
- 8. So laden Sie Bilder von einer Website mit Phantomjs
- 9. So finden Sie die Rollen eines Benutzers in cloudboost
- 10. So laden Sie eine Datei mit curl
- 11. So laden Sie in die WAR-Datei von JBOSS Server
- 12. So laden Sie eine temporäre Datei herunter
- 13. Speichern von Website-Kontakten auf iCloud
- 14. So laden Sie die neueste Website über Android Webview
- 15. Laden Sie die Ladezeit der Website auf
- 16. So laden Sie eine Datei von einem Server
- 17. So laden Sie eine Datei und lesen Sie den Inhalt einer Datei in Android
- 18. So löschen Sie iCloud-Dokumente?
- 19. So laden Sie eine GESAMTE Webseite vorab
- 20. So laden Sie eine Datei von Google Drive
- 21. So bestätigen/validieren Sie die tatsächlichen Aktionen eines Benutzers in einer App
- 22. So laden Sie die Datei von innen Firefox-Plugin
- 23. Laden Sie das Profilbild des Benutzers von der SharePoint Online-Website mit C#
- 24. So laden Sie eine Datei von owncloud mit curl, wget
- 25. So laden Sie die Daten aus einer .sqlite3-Datei in eine Ruby on Rails-Anwendung
- 26. So erstellen, laden und löschen Sie Datei in einer Anfrage
- 27. So erhalten Sie eine vCard (.vcf-Datei) in Android-Kontakte von der Website
- 28. So entfernen Sie die Anwendung eines anderen Benutzers in WSO2 api Manager 1.7 von admin
- 29. So laden Sie eine Datei auf Google Drive
- 30. So lesen/laden Sie eine JSON-Datei in Typescript
Überprüfen Sie die Lösung hier mit diesem [link] (http://stackoverflow.com/questions/21456210/icloud-integration-for-uploading-and-downloading-files) – Simmy
Danke, aber das sagt mir nicht, wie eine Webseite kann eine Datei auf einen Benutzer iCloud herunterladen. Ich kann dies in meiner App tun. Aber ich möchte die Datei vom Browser heruntergeladen werden. – Melchester