Ich versuche, eine kleine App zu erreichen, wo Sie ein MP4-Video im Hintergrund auf der Uhr herunterladen und einmal heruntergeladen.WatchOS - presentMediaPlayerControllerWithURL Video nicht abspielen
Die Verwendung von WKInterfaceMovie.setVideoURL funktioniert gut mit einem https-Link, aber ich möchte die Lade-UI anpassen.
Nachdem die Videodatei herunterzuladen, ich bewege es zu einer gemeinsamen Gruppe:
originalURL : Optional("/private/var/mobile/Containers/Data/PluginKitPlugin/FD57E33D-4657-497B-9823-A53D289CDF0B/Library/Caches/com.apple.nsurlsessiond/Downloads/com.test.TestWatchVideo.watchkitapp.watchkitextension/CFNetworkDownload_jKLIrU.tmp")
destinationURL : Optional("/private/var/mobile/Containers/Shared/AppGroup/018DA2BA-EB53-45DA-B3EA-792D4879E601/Library/Caches/SampleVideo_360x240_1mb.mp4")
ich removeItemAtURL
bin mit (wenn alte Datei vorhanden ist) dann copyItemAtURL
die ursprüngliche Datei zu bewegen.
=>ABER wenn presentMediaPlayerControllerWithURL
versucht, es entlässt vor Video-Wiedergabe und sagt:
Error: Error Domain=com.apple.watchkit.errors Code=4 "The operation could not be completed" UserInfo={NSLocalizedFailureReason=An unknown error occurred (1), NSUnderlyingError=0x16d71f20 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}, NSLocalizedDescription=The operation could not be completed}
Ich habe gelesen, schon einige Threads auf Stackoverflow und Foren, und keiner hat mir geholfen.
Danke!
traf ich diesen Fehler, da ich mehrere Dateien im selben Block zuzugreifen versuchte. Der Fix, der für mich funktionierte, war das Ändern der Code-Struktur, so dass jede Datei-URL erhalten wurde, und dann von gelesen wurde, bevor versucht wurde, die nächste Datei-URL zu erhalten. –
Danke @JagveerSingh, sehr interessant. Ich habe versucht, die Operation in verschiedenen Blöcken zu trennen, aber es scheint mir nicht zu helfen. In meinem Fall bekomme ich die heruntergeladene Datei in URLSession.didFinishDownloadingToURL, lösche altes destURL, kopiere heruntergeladene Datei in destURL, dann presentMediaPlayer mit destURL, in der Hauptwarteschlange. Siehst du irgendein Problem darin? –