【发布时间】:2015-09-08 18:23:41
【问题描述】:
我有一个用 Swift 编写的应用程序,专门用 Swift 编写,从来没有 Obj-C 类,没有 Obj-C 文件或桥接头。
为了在不影响我的应用程序权利的情况下添加一些功能,我正在尝试添加一个 XPC 服务——我在 Xcode 中创建了它,而 Xcode 中 XPC 服务的模板仅是 Obj-C。
这很好,我在 Obj-C 中编写了我的服务,但是现在当我想通过 NSXPCConnection 调用我的服务时,我必须设置它的接口,为此我需要参考,在我的 Swift 应用程序代码中,指向我为 XPC 目标编写的 Obj-C 协议。
我该怎么做?我不能只将“Protocol.h”添加到我的应用程序目标中,它没有 C 标头的规则。我发现的所有其他评论似乎只适用于链接到框架中的协议或公共目标......
【问题讨论】:
-
我很好奇你将如何设法完成这项工作,我只能提出以下建议:将
Protocol.h添加到你的 Swift 应用程序中,添加 @987654323 @ 到那个应用程序(最简单的方法是创建然后删除一个 Obj-C 类并在提示时单击 创建桥接头),并在桥接头中#import "Protocol.h"。然后,您将能够选择继承NSObject的 Swift 类,并使其采用Protocol。 -
我决定暂时将功能引入应用程序,将其放入 XPC 会很好,但这不是强制性的。我缺乏在没有模板的情况下快速构建 XPC 服务所需的 Xcode-do,我会等到 Apple 推出一个。我尝试了几种不同的方法,但没有任何效果......
-
你知道吗,我刚刚开始构建它,让我确保它有效,我会写出来。
标签: objective-c xcode swift nsxpcconnection