Swift   发布时间:2022-04-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了swift – 在MLMediaLibrary中加载媒体源时出错大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Mac OS X中加载mediasources属性时出错.
我正在尝试使用MLMediaLibrary类获取Apple Photos源代码.
我的应用程序是沙盒,并具有图片文件夹的只读权限.
我收到错误

根据我的收集,错误4097是连接中断.
我对Swift不是很熟悉,但我确实使用目标C进行了完全相同的测试并获得了相同的结果.
我的猜测是我错过了某种权利.

这是我的(非常简化的)代码

import Foundation
import MediaLibrary

public class MediaLibrary : NSObject{
    var library : MLMediaLibrary!

    private func loadsources(){
        if let mediasources = library.mediasources {

            for (ident,sourcE) in mediasources{
                print("Identifier: \(ident)");
            }
        }

    }

    public override func observeValueForKeyPath(keyPath: String?,ofObject object: AnyObject?,change: [String : AnyObject]?,context: UnsafeMutablePointer<Void>) {
        loadsources()
    }

    public override init(){
        super.init()
        let options : [String : AnyObject] = [MLMediaLoadsourceTypesKey : MLMediasourceType.Image.rawValue,MLMediaLoadIncludesourcesKey : MLMediasourcePhotosIdentifier]
        library = MLMediaLibrary(options: options)
        library.addObserver(self,forKeyPath: "mediasource",options: NSKeyValueObservingOptions.New,context: nil)
        library.mediasources; // trigger load,status will be reported BACk in observeValueForKeyPath
    }
}

解决方法

原来有两件事不对劲: 1. MLMediaLoadIncludesourcesKey应指向一个字符串数组,而不是单个字符串 2.观察的关键路径是错误的,应该是“mediasources”,缺少一个s

大佬总结

以上是大佬教程为你收集整理的swift – 在MLMediaLibrary中加载媒体源时出错全部内容,希望文章能够帮你解决swift – 在MLMediaLibrary中加载媒体源时出错所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。