问题标签 [xpc]

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.

0 投票
1 回答
602 浏览

objective-c - 从应用扩展(共享)中调用 XPCService

我有一个应用程序,它是一个共享应用程序扩展和 XPC 服务的容器应用程序。XPC 服务创建一个NSUserNotification并将其传递给NSUserNotificationCenter.

如果我从容器应用程序中连接到 XPC 服务,我可以成功调用它。

如果我尝试从扩展中连接到 XPC 服务,它什么也不做。

我的目标是在共享扩展完成后显示用户通知。共享扩展本身无法创建用户通知,但我似乎也无法让 XPC 调用正常工作。

0 投票
1 回答
254 浏览

cocoa - XPC 服务返回 NSAttributedString

我在从 XPC 服务的块回调中传输 NSAttributtedString 时遇到了很大的问题。

我正在尝试将基本字符串返回为:

我还将传入的响应列入白名单:

我做什么都会得到错误:

)}'。

有人通过 XPC 服务成功传输了 NSAttributtedText 吗?

0 投票
1 回答
919 浏览

objective-c - AppleEvents:进程的发送端口没有发送权

我在Mac OS X Yosemite控制台中看到了这个:

我正在开发一个XPC 服务,它处理来自Mac OS App运行在同一Mac.

显然错误来自:

( #526findOrCreate()的方法/AEMachUtils.cp(第#行?)

XPC服务接收请求并调用正确的方法来处理请求,但每次我看到上述警告。@protocol 是:

我从来没有看到回复NSString卷土重来。- (oneway void) 是否与此有关?错误出现在服务的Console跟踪stderrXPC。错误是说我需要授予发件人进程权限吗?如果有怎么办?

提前感谢您的考虑。问候, AK

0 投票
2 回答
3450 浏览

macos - SMJobBless 因 CFErrorDomainLaunchd 代码 9 而失败

有人知道那个错误代码是什么意思吗?我收到此返回代码值的 SMJobBless 错误。

我用谷歌搜索,在博客文章、Apple Docs、here 中查找答案,但找不到答案这是什么以及如何解决它。人们说(在一些支持论坛上重新安装 OS X 对他们有帮助)。

几周前我正在进行的项目已经发生了这种情况,唯一帮助我解决它的事情是更改我的帮助工具的名称。现在又发生了。

同时我的代码在其他计算机上运行,​​只有我的工作站受此问题影响。

更新: 重命名后,它再次工作。现在我的系统上有两个帮助工具包标识符“禁止”:-(

更新 2: 它也发生在其他计算机上:-(

0 投票
1 回答
823 浏览

swift - 从 XPC 服务创建 NSXPCConnection

我正在尝试使用 XPC 服务“A”创建一个应用程序,该应用程序又尝试与 XPC 服务“B”进行通信。但是,它不起作用。

如果我将两个 XPC 服务都复制到Contents/XPCServices主应用程序中,则会立即调用 A 中invalidationHandlerNSXPCConnection,而 B 似乎根本没有启动。

如果我将嵌套的 XPC 服务复制到Contents/XPCServices/A.xpc/Contents/XPCServices,则它会启动 B,但它会立即崩溃:

libswiftCore.dylib存在于Contents/Frameworks应用程序A和B的文件夹中。

(我发现的其他Library not loaded: @rpath/libswiftCore.dylib错误建议没有帮助:更改代码签名身份,设置Runpath Search Paths。)

我究竟做错了什么?

我知道我可以从主应用程序初始化与 B 的连接,然后将其作为anonymousListenerA 传递,但这听起来很难看。

0 投票
0 回答
165 浏览

xcode - 重复的 XPC 服务中断了 Gatekeeper 的开发者 ID 应用程序

我正在使用开发人员 ID 签名在 Mac App Store 之外分发 Mac 应用程序。以前的事情一直在工作,但在我们的上一个版本中,显然发生了一些变化,这导致 Gatekeeper 在从我们的服务器下载后打开应用程序时拒绝该应用程序。

我们正在使用生产“开发人员 ID 应用程序”证书。据我所知,我们已经严格按照在Mac App Store 之外分发应用程序中的说明进行操作。

令人困惑的部分是,以下推荐用于测试网守一致性的命令都可以正常执行并表明没有任何问题。Xcode 管理器中的验证也毫无怨言地通过了。

自我们上次构建以来发生了变化的一件事是我们的代码片段被重构到一个新的框架中。

更新:

通过对提交历史的二进制搜索和健康的试错,我将问题隔离到一个提交中,其中一个新的“复制文件”阶段被添加到我们的主应用程序中,以将 XPC 服务移动到正确的位置。XPC 服务已被复制到登录项帮助应用程序中。删除主应用程序中的构建阶段可以解决问题,但不幸的是,主应用程序确实需要 XPC 服务才能正常运行,因此简单地删除此阶段不是一个可行的解决方案。

0 投票
11 回答
70515 浏览

iphone - 在 Xcode 7 for iOS 9 中 XPC 连接中断

我最近更新到 Xcode 7 并将我的 iPhone 升级到 iOS 9。我开发并发布了一个 iOS 应用程序,它在最新版本的 iOS 8 和 Xcode 6 上运行良好。

在尝试更新应用程序以支持 iOS 9 的过程时,我遇到了一个让我感到困惑的最荒谬的错误。

我已经通过 Xcode 自动完成了所有语法更正,现在我的应用程序可以正确构建。一开始它甚至运行良好。

我有一个按钮可以连接到带有 WebView 的视图控制器。此视图控制器加载一个链接,该链接将显示来自 youtube 的图像、网站或视频。内容像往常一样完美加载。但是,当我单击“后退”按钮(我在导航堆栈上)时,程序将崩溃并重新启动模拟器(和我的 iPhone)并将我发送到锁定屏幕。

在 Xcode 中,我收到以下消息:

XPC 连接中断。由于没有系统应用程序而终止。

顺便说一句,我的应用程序中集成了 Flurry 分析,不确定这是否是一个问题。

我该如何解决这个问题?我对 XPC 连接的搜索似乎没有返回与我类似的问题。我什至不知道 XPC 连接是什么,那为什么我的应用程序中有这个?

编辑:我找到了解决该问题的方法。我真的不能说这是一个修复。

当设置为 true 时,在使用方法 self.navigationController?.popViewControllerAnimated 期间发生崩溃。我碰巧将此设置为 false,然后崩溃停止(现在过渡看起来很糟糕)。

我不知道为什么会这样,只会增加我的困惑。

0 投票
0 回答
271 浏览

ios - 如何枚举所有xpc服务名

如何枚举越狱 ios 上的所有 xpc 服务名称?用来一一xpc_connection_create_mach_service尝试?我应该用 xcode 还是其他方式构建应用程序?

0 投票
0 回答
388 浏览

cocoa - Finder 同步插件和 NSXPCConnection

我有以下情况:

  • 有一个主要的非沙盒应用程序;
  • 有一个 Finder Sync 插件,捆绑到这个应用程序中。沙盒;
  • 这个应用程序中捆绑了一个 XPC 助手。沙盒化。

问题:从主应用程序打开NSXPCConnection到 XPC 助手工作正常。但是,我无法从 Finder Sync 插件连接到它,也没有收到任何错误信息(只是在尝试打开它后立即回调“连接无效”)。

我做错了什么,还是应该以其他方式完成?例如,通过将 XPC 助手移动到单独的应用程序?一些权利问题?

0 投票
0 回答
1792 浏览

macos - 通过 XPC 与助手应用程序交谈时不常见的 XPC_ERROR_CONNECTION_INVALID 错误

根据 Apple 的建议,我们将删除文件的根级功能分离到一个单独的帮助应用程序中,该应用程序通过SMJobBless()to/Library/PrivilegedHelperTools/Library/LaunchDaemons.

在启动时,我们的应用程序 (UninstallPKG) 会创建一个到帮助程序 () 的 XPC 连接xpc_connection_create_mach_service(),当它需要删除一个文件时,它会向帮助程序应用程序 ( xpc_connection_send_message_with_reply_sync()) 发送一条消息,然后它会执行其任务。

这在我们所有的测试机器上以及对我们的大多数客户都非常有效。但是,似乎有些用户经常遇到XPC_ERROR_CONNECTION_INVALID故障。
有没有人知道为什么某些客户会发生这种情况以及我们如何处理或防止这个问题?除非获得有关XPC_ERROR_CONNECTION_INVALID实际含义的更多信息,否则我们目前只是退出该应用程序,这与崩溃一样糟糕。

Google 或 Apple 的文档或示例代码几乎没有说明在什么情况下XPC_ERROR_CONNECTION_INVALID可能会遇到以及应该如何优雅地处理它。任何见解将不胜感激。如果 Apple 认真对待这种特权分离的事情,那么关于如何可靠地做到这一点的文档确实应该得到改进。

顺便说一句,我们也在XPC_ERROR_CONNECTION_INTERRUPTED野外看到了。我们目前只是忽略它。对此有何见解?

编辑:作为对我们在此问题上花费的 DTS 事件的回应,仅供参考,Apple 已在 10.12 版本中解决了此问题。早期系统没有解决方法,但我们没有收到任何关于 10.12+ 发生这种情况的报告。