在 MLMediaLibrary 中加载媒体源时出错

2024-05-24

我在加载时遇到错误mediaSourcesMac OS X 中的属性。
我正在尝试使用以下方法获取 Apple Photos 源MLMediaLibrary class.
我的应用程序是沙盒的,并且具有图片文件夹的只读权限。
我收到错误:

MLMediaLibrary 获取远程对象代理时出错:错误 Domain=NSCocoaErrorDomain Code=4097“连接到名为 com.apple.MediaLibraryService 的服务”UserInfo={NSDebugDescription=连接到名为 com.apple.MediaLibraryService 的服务}

据我所知,错误 4097 是连接中断。
我对 Swift 不太熟悉,但我确实使用 Objective 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. The MLMediaLoadIncludeSourcesKey应该指向一个字符串数组,而不是单个字符串
2.观察关键路径错误,应该是"mediaSources",缺少一个s

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MLMediaLibrary 中加载媒体源时出错 的相关文章

随机推荐

  • 看起来 MSVS 11.0 Beta 破坏了 MSVS 10.0 安装

    安装 MSVS 11Beta 后 我的 MSVS 10 遇到了编译问题 现在 当我在 MSVS 10 中编译 C 项目 在 MSVS 10 中创建的项目 目标框架 3 5 时 出现错误MSB4216 MSB4028输出窗口中包含以下文本 1
  • 字符串与 char[]

    我有一些来自 IBM 的幻灯片 名为 从 Java 代码到 Java 堆 了解应用程序的内存使用情况 http www ibm com developerworks library j codetoheap N101DC 也就是说 当我们使
  • Node.js 转换 HEIC 文件

    我需要一种使用 Node js 将照片从 HEIC 格式转换为 jpg 或 png 的方法 我已经搜索过 似乎找不到任何有效的东西 npm i heic 转换 const convert require heic convert async
  • T-SQL 平均值四舍五入到最接近的整数

    我不确定以前是否有人问过这个问题 但是如何在 T SQL 中将平均值四舍五入到最接近的整数 这应该可以做到 根据您要寻找的平均值 您可能需要在末尾使用 GROUP BY SELECT CONVERT int ROUND AVG Column
  • java.lang.ClassNotFoundException:找不到类 org.apache.hadoop.fs.azurebfs.SecureAzureBlobFileSystem

    我是 Spark 和 Kubernetes 世界的新手 我使用 docker image tool sh 实用程序使用与 Hadoop 3 2 捆绑在一起的官方 Spark 3 0 1 构建了 Spark docker 映像 我还为 Jup
  • 使用 JavaScript 写入

    我想在页面中打印一条消息 div 页面加载时的元素 我有以下 HTML 和 JavaScript 代码 div div function printMsg var node document getElementById write nod
  • 创建命名管道时所有实例都忙异常

    我有一个 Windows 服务 它通过命名管道与 gui 应用程序进行通信 因此 我有一个线程正在运行 等待应用程序连接 如果我执行一次 它就可以正常运行 但是 如果线程正在创建命名管道流服务器的新实例 则已建立的连接会中断 并且我会收到所
  • 当移动到另一个 Activity 时,在 Android 中保存 Activity [重复]

    这个问题在这里已经有答案了 可能的重复 如何保存 Android 应用程序的状态 https stackoverflow com questions 151777 how do i save an android applications
  • JSP编译时'tmpFile.renameTo(classFile) failed'的原因

    最近 我开始在 JBOss 4 0 5 JSP 应用程序中遇到奇怪的行为 JSP 编译在第一次 第二次 第三次 尝试时失败 但出现异常 17 24 29 909 ERROR jsp Servlet service for servlet j
  • EF4 Code First:如何在不添加导航属性的情况下添加关系

    我应该如何使用 Code First 但不使用任何导航属性来定义关系 之前 我通过在关系的两端使用导航属性来定义一对多和多对多 并在数据库中创建适当的关系 这是类的精简版本 为了简单起见 我已将多对多关系转换为一对多关系 public cl
  • 在 Vue.js 2 中将 props 作为初始数据传递的正确方法是什么?

    所以我想将 props 传递给 Vue 组件 但我希望这些 props 将来会从该组件内部发生变化 例如当我使用 AJAX 从内部更新该 Vue 组件时 所以它们仅用于组件的初始化 My cars listVue 组件元素 我将具有初始属性
  • 将 Rails 更新到特定版本

    如何将 Rails 更新到特定版本 我的本地计算机上有 Rails 3 2 2 但我需要更新到版本 3 2 3 如果我执行gem update rails 将会更新到最新的3 2 6版本 我怎样才能做到这一点 gem install rai
  • 如何在 Firefox 30 上调试 Greasemonkey 脚本?

    我一直在为 Youtube 开发一个 JavaScript 片段 它使用 Greasemonkey 并且还导入 Bootstrap 和 jQuery 库 该应用程序必须为每个搜索列表结果添加一个按钮 当用户单击该按钮时 它必须带出用户从其频
  • 打印对象的键和值

    我想从 javascript 对象打印一个键 值对 我的数组中可以有不同的键 因此无法将其硬编码为 object 0 key1 var filters user abc application xyz console log Object
  • get.put 和 get.lazyput 之间的区别

    我是新来的Getx的依赖注入 有人可以向我解释一下它的好处吗 Get put and Get lazyPut 并告诉我它们有什么区别 简短回答 Get put 会放立即地 Get lazyPut 会放在什么时候你需要它
  • 如何在 Angular 8 中使用本地字体系列?

    我的 assets font 文件夹中有一些自定义字体 假设它是 ITC Charter Com Black 我有四种文件 eot svg tff woff 以及如何在我的项目中使用这些字体 我累了 font family ITC Char
  • 使用实体框架、代码优先方法解决结构问题

    我目前正在使用 EF 和代码优先方法从现有系统构建数据库 最好对 核心 类进行最小的更改 因此 我想找到 Structs 和 EF 的解决方法 是否可以以任何方式将 Struct 包装到类中 以便 EF 可以使用此 Struct 中的数据
  • 如何处理多个连接

    我有一个复杂的查询 需要总共 4 个表中的字段 内部联接导致查询花费的时间比应有的时间长得多 我已经运行了一个 EXPLAIN 语句 其可视化结果附在下面 这是我的查询 SELECT pending corrections correcte
  • React Native 的捆绑包是什么?它的用途是什么?

    我试图了解该捆绑包到底是什么以及它的目的是什么 我可以或不能用它做什么 我看到 当您运行命令 react native start 时 打包程序将被初始化 当您使用 react native run android 或 run ios 在设
  • 在 MLMediaLibrary 中加载媒体源时出错

    我在加载时遇到错误mediaSourcesMac OS X 中的属性 我正在尝试使用以下方法获取 Apple Photos 源MLMediaLibrary class 我的应用程序是沙盒的 并且具有图片文件夹的只读权限 我收到错误 MLMe