Photos Framework: Verbindung zu assetsd wurde unterbrochen oder assetsd ist gestorben

Ich erhalte diese Fehlermeldung, wenn ich versuche, mit dieser schnellen Bibliothek mehrere Videos abzuspielen https: //github.com/piemonte/playe). Ich bin mir nicht sicher, ob es mit diesem Player oder dem Photos-Framework zu tun hat oder was.

Was passiert ist, ich habe eine Ansicht, die entweder ein Foto oder ein Video anzeigt. Alles funktioniert ein paar Mal, bis ein paar Videos abgespielt wurden, und dann wird diese Meldung eingeblendet, gefolgt von allen Videos, die nicht abgespielt werden können. Stattdessen wird nur ein schwarzer Bildschirm angezeigt, und dann wird ein Fehler bei der Speichernutzung angezeigt.

Ich verwende eine Bibliothek namens SwipeView und hier ist ein relevanter Code, der hilfreich sein kann.

func swipeView(swipeView: SwipeView!, viewForItemAtIndex index: Int, reusingView view: UIView!) -> UIView! {
    let asset: PHAsset = self.photosAsset[index] as PHAsset

    // Create options for retrieving image (Degrades quality if using .Fast)
    //        let imageOptions = PHImageRequestOptions()
    //        imageOptions.resizeMode = PHImageRequestOptionsResizeMode.Fast
    var imageView: UIImageView!

    let screenSize: CGSize = UIScreen.mainScreen().bounds.size
    let targetSize = CGSizeMake(screenSize.width, screenSize.height)

    var options = PHImageRequestOptions()
    options.resizeMode = PHImageRequestOptionsResizeMode.Exact
    options.synchronous = true

    if (asset.mediaType == PHAssetMediaType.Image) {
        PHImageManager.defaultManager().requestImageForAsset(asset, targetSize: targetSize, contentMode: .AspectFill, options: options, resultHandler: {(result, info) in
            if (result.size.width > 200) {
                imageView = UIImageView(image: result)
            }
        })

        return imageView
    } else if (asset.mediaType == PHAssetMediaType.Video) {
        self.currentlyPlaying = Player()


        PHImageManager.defaultManager().requestAVAssetForVideo(asset, options: nil, resultHandler: {result, audio, info in
            self.currentlyPlaying.delegate = self
            self.currentlyPlaying.playbackLoops = true
            self.addChildViewController(self.currentlyPlaying)
            self.currentlyPlaying.didMoveToParentViewController(self)

            var t = result as AVURLAsset
            var url = t.valueForKey("URL") as NSURL
            var urlString = url.absoluteString

            self.currentlyPlaying.path = urlString
        })

        return self.currentlyPlaying.view
    }
    return UIView()
}


    func swipeViewItemSize(swipeView: SwipeView!) -> CGSize {
    return self.swipeView.bounds.size;
}

func swipeView(swipeView: SwipeView!, didSelectItemAtIndex index: Int) {
    self.currentlyPlaying.playFromBeginning()
}

func swipeViewCurrentItemIndexDidChange(swipeView: SwipeView!) {
    self.currentlyPlaying.stop()
}

Irgendwelche Gedanken wären toll.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage