问题标签 [launch-services]
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.
objective-c - 如何在 OS X 10.10 上抑制启动服务警报消息
我有类似的东西:
直到 OS X 10.9,它运行良好,并将默认 URL 处理程序设置为我在 newHandler 中的任何内容。
在 Yosemite 中,Apple 引入了“安全功能”:向用户显示一个对话框以确认更改。像这样的东西:
我知道这有点牵强,但也许有办法以编程方式抑制或“接受”它?
或者有没有更好的方法在无头上下文中设置 URLScheme 处理程序?
c++ - 调用 LSLaunchFSRefSpec 后如何初始化 NSDocument?
我正在开发基于文档的应用程序。如果我从 Finder 执行此应用程序,它会按预期运行:首先NSApplicationDelegate
applicationDidFinishLaunching
执行该方法。然后NSPersistentDocument
初始化完成。之后NSDocument
makeWindowControllers
执行定义的方法,从WindowNibName
's 创建窗口控制器。
如果使用 Finder,一切正常,应用程序按预期启动。但是,如果我将使用 Launch Service Reference 从另一个应用程序执行基于文档的应用程序LSLaunchFSRefSpec
,则该应用程序仅显示在 Dock 中。没有窗口出现。NoNSPersistentDocument
将被初始化并且不会makeWindowControllers
执行任何方法。只有applicationDidFinishLaunching
方法被调用。目前,如果我通过单击鼠标从 Dock 激活应用程序,则可以完成窗口控制器的初始化和创建。我还测试了不同的启动标志LSLaunchFSRefSpec
,但没有任何成功。
是否可以激活应用程序并自动创建它们的窗口?或者也许我可以模拟鼠标点击停靠图标?
cocoa - 在 mac 中为所有用户注册 URL 方案处理程序
我使用以下代码为我的 Cocoa 应用程序注册了一个自定义 URL 方案 (myscheme://):
当我安装应用程序时,它会为该用户注册 URL 方案,并能够通过 Safari 浏览器(如 myscheme://abcd)打开。
当我切换到不同的用户并尝试相同的场景时,我无法打开 URL 方案并且它无法显示以下消息:
找不到 URI myscheme://abcd 的应用程序
为所有用户注册 URL 方案是否需要额外注册?
谢谢
macos - Delphi Macapi.CoreServices 缺少 LaunchServices
我正在尝试使用 LSCopyAllHandlersForURLScheme 函数来枚举 Mac OS X 下已安装的 Web 浏览器,以我的方式,我正在检查 Delphi RTL 中包含的 Macapi.CoreServices 文件,我发现并非所有包含文件都实际存在,它们看起来像评论而不是 $I 包含指令,我错过了什么吗?这是代码
xcode - 通过 Finder/open 启动 Mac OS X 应用程序和直接执行应用程序二进制文件有什么区别?
我在 Mac OS X 10.10.5 上的 Qt 应用程序遇到问题,QFileDialog
取消后 a 将无法正常关闭。虽然这可能是 Qt 中的一个错误,但我只在像普通用户一样运行应用程序时看到这个错误,例如在 Finder 中打开它(或通过命令行open
)。如果我通过 Xcode 或直接调用二进制文件启动应用程序,则没有问题。
通过直接在命令行或 Xcode 中调用二进制文件来启动应用程序,例如
./MyApp.app/Contents/MacOS/MyApp
通过 Finder 或启动应用程序
open
,例如open ./MyApp.app
这两种方法之间有什么区别 - 它如何影响正在运行的应用程序?
macos - OSX 应用程序 - 相关文件类型和图标未更新(启动服务)
我有一个可以打开“.png”文件类型的 Mac 应用程序。我能够让应用程序使其成为打开“.png”文件的默认应用程序,双击文件将启动我的应用程序。
但是,我似乎无法更新 .png 文件上的图标 - 它显示默认图标,即图像的缩略图。
我的项目中有一个名为 ICON.icns 的文件,Info.plist 文件中有以下块:
奇怪的是,如果我重新启动计算机,图标确实会更新,但大约一秒钟后会变回系统默认值。
谢谢!
regex - 正则表达式验证统一类型标识符
统一类型标识符 (UTI) 是在 Mac OS X 上识别文件类型的现代方法。在 Apple 的文档中它说:
UTI 定义为遵循反向域名系统 (DNS) 约定的字符串 (CFString)。
但是,LaunchServices 中与UTI 相关的函数没有提供任何验证UTI 的方法,即检查给定字符串是否为UTI 并符合UTI 字符串格式(即仅使用合法字符等)。
UTI 的维基百科页面说:
UTI 使用反向 DNS 命名结构。名称可能包括 ASCII 字符 AZ、az、0-9、连字符(“-”)和句点(“.”),以及 U+007F 以上的所有 Unicode 字符。 [1] 为了与 Macintosh 和 POSIX 文件路径约定兼容,禁止使用冒号和斜杠。
验证 UTI 的正则表达式是什么样的?
macos - LaunchServices:无法为 bundle 创建 bundleProxy ...?
此 LaunchServices 错误消息(来自 Console.app)是什么意思?
背景:我写了一个位于菜单栏中的小型日历应用程序。当用户单击其 NSStatusItem 图标时,会在其下方显示一个日历。该应用程序为用户提供了在登录时自动启动的选项。我的一个打开此选项的用户会记录上述错误消息。该应用程序似乎在登录时启动(NSStatusItem 在菜单栏中可见),但是当用户单击 NSStatusItem 时,什么也没有发生。然后,用户双击应用程序文件夹中的应用程序图标,然后能够单击 NSStatusItem 以下拉日历。他正在运行 OS X 10.11.1。该应用程序没有沙盒化。
我要解决的问题是应用程序在登录此用户计算机时自动启动时无响应。我只是猜测上面的错误消息是相关的。当我在 10.11 机器上运行应用程序时,我没有收到该消息,并且在登录时我没有收到无响应行为。
由于我无法重现行为或日志消息,我很难过。任何人都可以帮忙吗?
macos - 您如何在 2016 年获得文件的 Finder “Kind”?
这个答案说要使用 LSCopyKindStringForURL(),它在过去效果很好,但在 OS X v10.11 中被标记为“已弃用”。
API 文档中没有提到它被弃用的原因。我根本没有在 OS X 10.11 发行说明中看到任何关于启动服务 API 更改的提及。
您现在应该如何获取 Finder 类型的文件?
macos - LaunchServices 在 mac os x 控制台中记录 XPC_ERROR_CONNECTION_INTERRUPTED
1.Service只运行了0秒。将重生推迟 10 秒
2.LaunchServices:收到 XPC_ERROR_CONNECTION_INTERRUPTED 试图映射数据库数据库
启动服务:数据库映射失败,结果为 -10822,重试
我在控制台中发现这两个与我的应用程序相关的日志,这些日志每 10 秒生成一次。
我搜索它,但没有得到适当的理由
https://discussions.apple.com/thread/7263229?tstart=0
https://forums.developer.apple.com/thread/16788
关于这个日志的任何想法?任何帮助都会很有用