问题标签 [nsdocumentcontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - NSDocumentController openDocumentWithContentsOfURL:display:completionHandler: 失败
我正在实现 NSApplicationDelegate 的 application:openFiles 以获得特定文档的一些自定义行为。不过,对于某些文档,我想要默认行为(只是打开和显示它们)。因此,在对文档进行排序后,我为每个文档调用:
在控制台中记录了以下错误:
永远不会调用完成处理程序。如果我注释掉完整的 openFiles 方法,则文档可以正常打开,因此 NSDocument 类似乎已正确实现。
我尝试暂时关闭沙盒,因为委托方法接收 NSStrings 而不是 URL,所以我预计这可能是问题所在。那没有帮助。
这里出了什么问题?
额外问题:我怎样才能让应用程序(从 Finder)打开安全范围的 URL?
kivy - 在 El Capitan 上的 Kivy 1.9.1
我最近升级到 El Capitan,并打算升级到最新的 Kivy。按照OSX 安装说明后,我进入$/Applications/Kivy.app/Contents/MacOS/Kivy
了终端,它崩溃并显示以下错误消息
出于兴趣,我打开了 Info.plist,CFBundleTypeRole 没有出现在任何地方。应该采取哪些步骤来让 Kivy 运行?
macos - 删除“显示/隐藏标签栏”菜单项
最新版本的 macOS Sierra 在“查看”菜单中添加了“显示/隐藏标签栏”菜单项。
它动态地执行此操作。
我的应用程序已经使用MMTabBarView库包含了自己的标签栏。我更愿意继续使用这个库,因为它使我能够向后兼容选项卡,并且能够对选项卡进行一些自定义。
我在苹果NSDocument或NSDocumentController文档中没有看到有关删除此菜单项的任何内容。
有人对我如何删除它有任何建议吗?
注意:我不想简单地禁用它,我希望完全删除它。(或者我想一开始就没有添加它)。
nsdocument - 从 NSDocument 获取 NSDocumentController
我已经继承了 NSDocumentController 和 NSDocument。有没有办法从 MyDocument 访问 MyDocumentController?
目前我的 AppDelegate 中有一个连接到 MyDocumentController 的插座,所以我可以通过这种方式访问它,但想知道是否有更直接接受的方式?
swift - NSDocumentController 实例何时在基于文档的模板项目中默认实例化?
我使用 swift 3.0.1 在 maxOS 10.11.6 上的 Xocode 8.0 中创建了一个基于文档的 Cocoa 项目。我删除了mainMenu.xib、document.xib,修改了infolist,然后添加了自己的main函数。因为我根本不使用 Interface Builder。
在 Document.swift 中,我删除了 windowNibFille 变量,并覆盖了 makeWindowController() 函数,如下所示:
我没有做任何其他事情。如果我构建项目,我不应该得到菜单、窗口、运行已编译应用程序的文档,因为我没有实例化任何 NSDocumentController 实例,也没有实例化 NSDocuement 或 NSWindow 实例。
但他的现实是我运行了这个项目,显示了一个名为 untitled 的窗口。这很烦人,似乎在一个几乎空的项目中存在一些不可见的代码。我想在打开无标题文档之前做一些事情,如果 NSDocumentController 实例是在我的控制之外创建的,我应该怎么做?
xcode - 自定义 iOS11 基于文档的应用模板
我需要对提供的 iOS 11 Document Based App Template 进行以下自定义:
- 一个只有我的 App 文件的库,如下面的 Procreate 示例 App
- 摆脱侧边栏浏览器,所以我有一个只显示我的库的全屏。 https://assets.procreate.art/video/home/mp4/block-10.mp4
我已经询问了 Apple Code Level 支持,但仍然没有得到答复。有人可以帮忙吗?
谢谢!
swift - 关于 Swift 静态覆盖是最终的循环警告
我有一个NSDocumentController
子类需要知道它是否通过NSWindowRestoration
协议恢复了任何窗口。
我要覆盖的特定功能,记录在这里,这样做是:
正如所写,这个函数在我想要的时候被调用并且完美地工作。但是,我收到以下警告:
此警告包含一个看似有用的修复程序,可将其open
转换为public
. 但是,当我接受时,我会收到此错误:
此错误建议我替换public
为open
.
我已经与 Apple 就这种循环行为打开了雷达。但是,我真的很想找到一种方法来消除这个警告。或者,也许还有另一种方法可以通知 NSDocumentController 子类它已恢复窗口。
要重现此错误,请使用 Xcode 10 创建一个新的 App 项目,并包含以下代码。我只是在AppDelegate
声明后把它扔进去了。默认情况下,该项目配置了 Swift 4.2 并为 macOS 10.14 构建。
swift - NSCocoaErrorDomain Code=256 无法打开“md”格式的文件
我正在开发一个用于编辑文件的 macOS 应用程序,但是在尝试使用从文件 URLNSDocumentController.shared.makeDocument
创建新实例时遇到了一个相当烦人的错误。NSDocument
下面是我如何调用的一个简单示例makeDocument
。该文件test.md
存在于磁盘上。
问题是这个try
调用失败并到达了catch
块。我得到的错误是:
错误:错误域=NSCocoaErrorDomain 代码=256“无法处理“test.md”,因为 MyApp 无法打开“md”格式的文件。” UserInfo={NSLocalizedDescription=“test.md” 无法处理,因为 MyApp 无法打开“md”格式的文件。, NSLocalizedFailureReason= MyApp 无法打开“md”格式的文件。}
我相信我已经为降价文件正确设置了我的应用程序的文档类型,如下所示:
我已经尝试清理构建,删除派生数据并为降价文件添加“导入的 UTI”类型,但似乎没有任何效果。
奇怪的是,通过 File > Open,我可以打开.md
文件,只是不能通过makeDocument
.
objective-c - 在什么情况下 [NSDocument fileURL] 可以为零?
我正在创建文档:
当我使用 的实例时NSDocument
,有时我会崩溃,因为document.fileURL == nil
. 生命周期中的哪些情况NSDocument
会导致这种情况?
objective-c - Objective-c NSDocumentController 最近文档沙箱(奇怪)问题
我使用的是 Objective-c、Xcode 11、macOS 而不是 iOS、沙盒应用程序。
我需要手动更新最近的文档菜单。我将 URL 存储在书签中,以便我可以根据沙盒访问它们。
奇怪的是代码 A 有效,但 B 无效。有人对此有解释吗?
B 不起作用(关闭安全访问)!不关闭安全访问感觉是错误的。对于案例 B,将引发以下错误
在没有启动安全访问的情况下(显然)会抛出相同的错误。