如何使 Finder “打开方式”适用于我的应用程序(Xcode、OS X)?

2023-12-23

我创建了一个能够播放音频文件的应用程序。这本身工作得很好,从查找器拖放到我的应用程序也是如此。

我还希望人们可以使用“打开方式”菜单从 Finder 中使用我的应用程序(甚至允许他们将我的应用程序设置为特定文件类型的默认应用程序)

经过大量搜索,我发现我应该在 Xcode 中配置文档类型(编辑信息属性列表 http://developer.apple.com/iphone/library/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/100-Targets/bs_targets.html) 我成功添加了一个名为“音乐文件”的类型,UTI为“public.mp3” 现在,当我右键单击 MP3 文件时,我的应用程序会列在“打开方式”菜单中。 尝试使用它时,我的应用程序打开,但收到一条警告消息:“无法打开文档。应用程序无法打开‘音乐文件’格式的文件”

它似乎不像 Windows 中那样通过命令行传递。 我的应用程序确实支持从 Finder 进行拖放,而且效果也很好。

我真的不知道下一步该去哪里,所以如果有人能指出我正确的方向,那就太好了。 我的应用程序不使用 NSDocument,因此我认为“Class”字段不适用于我(根据文档,该字段不是必需的,但它没有说明如何在没有类的情况下处理它)


你实施吗application:openFile: https://developer.apple.com/documentation/appkit/nsapplicationdelegate/1428612-application?language=objc在你的应用程序委托中?当您的应用程序被要求从 Finder 打开文件时,将调用此方法。如果没有执行或者没有返回YES,那么框架将假设该文件未成功打开并向用户报告该事实。

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

如何使 Finder “打开方式”适用于我的应用程序(Xcode、OS X)? 的相关文章

  • 无法在 Swift 中创建文件路径

    我尝试在 Swift 中打开该文件 为此 我创建了文件路径 这不起作用 maaaacy pwd Users tsypa maaaacy cat a txt test maaaacy a swift nil maaaacy 剧本 usr bi
  • 嵌入文档中的mongodb限制

    我需要创建一个消息系统 一个人可以在其中与许多用户进行对话 例如 我开始与 user2 user3 和 user4 交谈 因此他们中的任何人都可以看到整个对话 并且如果对话在任何时候都不是私密的 则任何参与者都可以将任何其他人添加到对话中
  • 为什么我无法在 Mac 12.0.1 (Monterey) 上使用 pip 安装 OpenCV? [复制]

    这个问题在这里已经有答案了 当我尝试使用 python pip 安装 OpenCV 时 它显示了以下内容 Remainder of file ignored Requirement already satisfied pip in Libr
  • 为什么在 10.5 上我必须在 NSWindowController 上调用 showWindow 两次?

    我有一个 NSWindowController 的子类 我用它从笔尖加载窗口并将其显示在屏幕上 下面是当我想显示窗口时调用的代码 在 10 6 上 当调用 showCustomWindow 时 会显示窗口 但在 10 5 上 必须调用此方法
  • 对 boost 库的依赖项没有完整路径

    我已经成功构建了动态库 依赖于使用自定义前缀构建和安装的 boost 库 b2 install prefix PREFIX 然而 当我跑步时otool L在我的库中 我得到如下输出 libboost regex dylib compatib
  • Cocoa 基于文档的应用程序中的 MVC

    我目前正在对我的应用程序进行重构和重组 我意识到模型和视图及其控制器之间的一些分离已经减少 我希望进行一些清理 我的应用程序中使用了几个关键类 NSPersistentDocument NSWindowController 和模型类 NSP
  • 如何用Block简化回调逻辑?

    假设我需要与一个提供协议的类进行通信 并在操作完成时调用委托方法 如下所示 protocol SomeObjectDelegate required void stuffDone id anObject void stuffFailed e
  • 如何将字符串从 Applescript 传递到 Objective C

    我正在开发一个应用程序 我需要能够传递一个字符串变量 from 苹果脚本 to 目标C 我已经弄清楚如何从 Objective C 类中的方法运行 Applescript 但我需要能够将 NSString 设置为 Applescript 中
  • Xcode 10 存档到“其他项目”而不是“MacOS 应用程序”

    在我升级到 Xcode 10 之前 这是完美的 我的应用程序集成了 Quicklook 和 Spotlight 插件 这些插件是单独构建的 然后在构建阶段使用以下设置复制 两个复制文件 Destination Wrapper Subpath
  • iOS 使用 NSColor 与 UIColor?

    有什么区别UIColor and NSColor 什么时候会使用每一种 我碰到NSColor在试图弄清楚的同时UIColor用于 iOS 中的属性字符串 我理解使用UIColor对于 UIKit 等 但我不认为NSColor对于这种事情确实
  • xsel -o 对于 OS X 等效项

    是否有一个等效的解决方案可以在 OS X 中抓取选定的文本 就像适用于 Linux 的 xsel o 一样 只需要当前的选择 这样我就可以在 shell 脚本中使用文本 干杯 埃里克 你也许可以安装xsel在 MacOS 上 更新 根据 A
  • 从 Java 中提取 Lotus Notes Document 的完整 ACL

    我正在尝试找到一种方法来保存特定 Lotus Notes 文档的完整用户列表访问权限 我知道我可以从catalog nsf 获取数据库级ACL 但不能获取文档级访问权限 此外 我相信文档的 作者 字段不会列出只读访问用户 有谁知道如何获取特
  • 将 Armadillo C++ 库导入 Xcode

    我是 Mac 用户 正在尝试安装和导入 C Armadillo 库 以下是我到目前为止所采取的步骤 1 我从其网站下载了犰狳库 2 我仔细阅读了下载文件中的 Readme txt 文件 解释了如何安装它 3 我使用CMake将犰狳下载文件制
  • zsh:未找到命令:使用 Big Sur Mac 的终端上的 R

    我从官方 cran 网站安装了 R 我可以从 Rstudio 运行 R 但是当我尝试从终端使用 R 时 我得到以下结果 base ege Eges MBP R zsh command not found R base ege Eges MB
  • java setFullScreenWindow 在 Mac 中隐藏登录对话框

    我使用的是全屏窗口 类似于屏幕保护程序 使用这里的方法 GraphicsEnvironment getLocalGraphicsEnvironment getDefaultScreenDevice setFullScreenWindow t
  • 开发者可以在 Windows 应用程序中使用 iCloud 吗?

    开发人员可以使用 Apple 的 iCloud API 在 Mac OS X 和 iOS 上的不同版本的应用程序之间同步应用程序数据 如果开发人员拥有 Windows 版本的应用程序 该版本是否也可以使用 iCloud 将应用程序数据与 M
  • 在 XCode 7.0.1 中设置 VTK 6.1

    所以 我遇到了问题VTK 可视化工具包 http www vtk org在 Mac OSX 上工作 特别是让它在XCode https developer apple com xcode 我让它工作并将在下面发布这个问题的答案 截至 201
  • 如何为 NSAttributedString 内的文本设置“隐藏”属性?

    我有一个 Cocoa 应用程序NSTextView控件将其文本保存在NSAttributedString 实际上我相信这是一个NSMutableAttributedString 我可以轻松地在该字符串内的不同字符范围上设置和修改不同的文本属
  • 获取 Mojave 上的鼠标坐标

    我有一个非常基本的小命令行应用程序 可以在下次单击鼠标时获取鼠标坐标 import
  • “pdo_mysql”已禁用,我无法启用它。我在 iMac 7.1 OSX 10.6.8 上安装了 MAMP v. 3.0.4

    pdo mysql 已禁用 我无法启用它 我在 iMac 7 1 OSX 10 6 8 上安装了 MAMP v 3 0 4 在我的 phpinfo 页面上 我可以看到唯一启用的 PDO 是 sqlite 如果我查看 php 5 5 10 扩

随机推荐

  • 如何使用互斥体保护公共资源?

    我有一个公共资源 我希望我的应用程序 或其 COM API 的 1 个且仅 1 个实例可以随时访问该资源 我尝试使用互斥体来保护此资源 但是当主机 dotnet 应用程序的多个线程尝试访问 COM 对象时 互斥体似乎没有被释放 这是我用来保
  • 代表颜色的百分比值(0-100)(从红色到绿色)

    我有一个具有动态更新百分比 0 到 100 之间 的 Android 应用程序 该应用程序有两种特定颜色 浅红色 BD4141 和浅绿色 719D98 我希望元素在给定百分比为 0 时具有浅红色背景 在给定百分比为 100 时具有浅绿色背景
  • 孩子的祖父母重载函数[重复]

    这个问题在这里已经有答案了 我需要理解为什么如果在 Parent 中声明了任何重载函数 C 不允许访问 Child 中的 Grandparent 重载函数 考虑以下示例 class grandparent public void foo v
  • Kafka Stream groupBy 行为:聚合的许多中间输出/更新

    我正在尝试使用 Kafka Stream 来聚合人们的某些属性 我有一个像这样的卡夫卡流测试 new ConsumerRecordFactory Array Byte Character input new ByteArraySeriali
  • ASP.NET CORE 2.1 服务器调试时超时

    错误 服务器超时 但未收到来自服务器的消息 服务器 我正在尝试调试一些服务器端代码 当我这样做时 客户端会在不到一分钟的时间内断开连接 我只使用 SignalR 与客户端通信 还没有控制器 是否有任何设置可以禁用超时或至少使其比现在更长 我
  • Java“原型”模式 - new、clone、class.newInstance

    在我的项目中 有一些 原型 工厂通过克隆最终私有实例来创建实例 这些工厂的作者表示 这种模式比调用 新 运算符提供了更好的性能 使用谷歌来获取一些线索 我没有找到任何相关的东西 这是在a中找到的一小段摘录来自未知项目的 javdoc htt
  • 循环遍历名称并删除那些不匹配指定模式的名称

    我有一个 Excel 工作簿 在其中从其他几个工作簿导入工作表 然后将这些数据合并到 概述 工作表中 我对 vba 相当陌生 所以这项任务花了相当长的时间和大量的研究 然而 我有一个无法解决或找到答案的问题 但我认为如果您知道如何解决 那么
  • C#:使用 foreach 或 for 循环从 ArrayList 中删除项目?

    我对编程和 C 编程都是一个菜鸟 我之前学过一些基本的 Java 我正在尝试使用 C Unity3D 我有一个问题 使用 for 循环而不是 foreach 迭代来删除 ArrayList 中的任何项目是否更好 两者似乎都适合我 Forea
  • 如何在 Jenkins 上设置 LD_LIBRARY_PATH

    我在 Jenkins 运行作业时遇到 java lang UnsatisfiedLinkError 问题
  • 将 $http 响应对象保存为 $scope 变量

    我今天早些时候在 stackoverflow 上问了一个相关问题 但由于代码的复杂性 无法发布它 和我自己的新手 我无法真正从给出的答案中实现解决方案 所以我现在的问题是 对于如下代码 http get ArbitraryInput the
  • switch 语句比较大于或小于数字的值

    我想使用switch我正在编写的一些简单代码中的声明 我试图将括号中的变量与值进行比较 lt 13 or gt 13 这可以使用吗Switch var age prompt Enter you age switch age case lt
  • 如何删除Android内部存储文件?

    我已经使用 Android 内部存储来为我的应用程序保存文件 使用openFileOutput 但我想删除该文件 是否可以以及如何删除 File dir getFilesDir File file new File dir my filen
  • 对于大多数网络主机来说,哪个版本的 PHP 被视为“标准”? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 java.awt.BasicStroke 制作虚线动画

    有没有办法使用 java awt 中的 BasicStroke 生成动画虚线 我的愿望是拥有一条运行的虚线 就像 Photoshop 的矩形选框工具对其线条进行动画处理一样 使用虚线 aThread 或秋千Timer 并将它们与repain
  • SDK中缺少导入类时Android项目如何编译?

    好吧 也许这很简单 但我现在就是想不出来 我已经导入了谷歌示例项目读卡器 https github com googlesamples android CardReader git在Android Studio 1 5 1中 它在compi
  • Errno 13 权限被拒绝。已经在虚拟环境中

    我正在尝试在操作系统更新后安装张量流 我收到 Errno 13 权限被拒绝的消息 我检查过的所有论坛帖子都建议使用虚拟环境解决此问题 问题是我已经在虚拟环境中工作了 这是我使用的命令 user Computer cd tensorflow
  • 尽管 Numpy 推荐 a@b,为什么 a.dot(b) 比 a@b 快

    根据这个答案question https stackoverflow com questions 3890621 how does multiplication differ for numpy matrix vs array classe
  • C-格式化MAC地址

    我目前正在解析一些 MAC 地址 我得到的输出不包含前导零 像这样 char host 0 25 25 0 25 25 我想像这样格式化它 char host 00 25 25 00 25 25 解决这个问题最简单的方法是什么 对于那些想知
  • IB_DESIGNABLE、IBInspectable -- 界面构建器不更新

    我有以下一组代码 自定义视图 h import
  • 如何使 Finder “打开方式”适用于我的应用程序(Xcode、OS X)?

    我创建了一个能够播放音频文件的应用程序 这本身工作得很好 从查找器拖放到我的应用程序也是如此 我还希望人们可以使用 打开方式 菜单从 Finder 中使用我的应用程序 甚至允许他们将我的应用程序设置为特定文件类型的默认应用程序 经过大量搜索