当前位置: 首页 > news >正文

网站建设公司 中企动力公司石家庄seo结算

网站建设公司 中企动力公司,石家庄seo结算,美橙表业手表网站,wordpress+防爬虫一#xff1a;简介 XPC 是 macOS 里苹果官方比较推荐和安全的的进程间通信机制。 集成流程简单#xff0c;但是比较绕。 主要需要集成 XPC Server 这个模块#xff0c;这个模块最终会被 apple 的根进程 launchd 管理和以独立进程的方法唤起和关闭#xff0c; 我们主app 进…一简介 XPC 是 macOS 里苹果官方比较推荐和安全的的进程间通信机制。 集成流程简单但是比较绕。 主要需要集成 XPC Server 这个模块这个模块最终会被 apple 的根进程 launchd 管理和以独立进程的方法唤起和关闭 我们主app 进程并不需要管理这个进程的生命周期。 特点主要做权限分离和错误隔离使用使用独立进程的方法可以避免独立进程crash影响到主进程, 而且独立进程可以和主进程赋予不同的权限比如是否沙盒是否有网络权限等。 find /System/Library/Frameworks -name \*.xpc 命令可以查看系统使用的xpc服务。 下面一张官方图说明了对应的关系。 UI App 作为 client 端只要去监听对应的XPC 服务 launchd 就会拉起对应的 XPC Server XPC Server 作为 服务端提供xpc服务并接受client的消息。 两者之间通过protocol 的方式进行互相调用,解耦。 下面demo app的数据流向 二创建流程 创建主进程UI app 配置ui app的名字为 XpcApp. 按照步骤给 app 以添加target 的方式添加xpc 模块。 创建Xpc server 的名字为: XpcServer, api 选择OC 接口的api而不是C接口的版本 最后一项内嵌到UI APP中最终运行打包后会在XpcApp.app/Contents/XPCServices/XpcServer.xpc路径里面找到它。 最终的项目架构如下 XpcApp 包含两个文件夹分别为 UI和xpcserver的文件夹 对应两个target。 三demo 运行 由于XpcServer里面官方已经给了demo 足够运行的代码我们可以不用添加任何代码就可以运行。 我们在XpcServer.m 里面添加个 log 作为调试输出就行。 这里只加了一句log输出会在server 收到 ui app 传递来的消息的时候打印并将收到的两个数字相加后返回。 // This implements the example protocol. Replace the body of this class with the implementation of this services protocol. - (void)performCalculationWithNumber:(NSNumber *)firstNumber andNumber:(NSNumber *)secondNumber withReply:(void (^)(NSNumber *))reply {NSInteger result firstNumber.integerValue secondNumber.integerValue;NSLog(server 收到 UI Clicent App的两个数字: %, %, firstNumber, secondNumber);reply((result)); }配置UI App 文件。 这里的代码调用方法可以参考XCode自动生成的XpcServerProtocol.h文件里面的注释里面说明了怎么在Client 端发送消息。 ViewController.m 中替换成如下代码 #import ViewController.h #import XpcServerProtocol.h #import XpcServer.hinterface ViewController () property (nonatomic, strong) NSXPCConnection *xpcConnect; endimplementation ViewController- (void)viewDidLoad {[super viewDidLoad];self.xpcConnect [[NSXPCConnection alloc] initWithServiceName:com.jimbo.xpc.XpcServer];NSXPCInterface *interface [NSXPCInterface interfaceWithProtocol:protocol(XpcServerProtocol)];self.xpcConnect.remoteObjectInterface interface;[self.xpcConnect resume]; }- (IBAction)sendMsgClick:(id)sender {NSLog(ui app 发送数字 231, 119);[[self.xpcConnect remoteObjectProxy] performCalculationWithNumber:231 andNumber:119 withReply:^(NSNumber *reply) {// We have received a response.NSLog(ui 收到了 xpc server 返回的数字: %, reply);}]; }- (void)dealloc {[self.xpcConnect invalidate]; }end 在storyboard 中添加个button绑定到上面的 - (IBAction)sendMsgClick:(id)sender方法中。运行 点击button 后关注 app的控制台 xpc server 的控制台 两个进程都有打印消息说明通讯成功。 四备注 demo中传递消息用的protocol里面的方法performCalculationWithNumber: andNumber: withReply:只是官方默认提供的根据实际需要也可以添加其他方法比如传递字符串json等。自己的xpc server 是内嵌到 app 包里的默认只能有自己的app包的主程序进行调用如果需要让其他app 进行通信调用需要创建 launchd.plist 然后拷贝到系统路径下的.../LaunchDaemons文件夹。 具体可以参考 man launchd.plist两个进程都可以互相主动发消息的只是demo没有添加对应的代码。
http://www.w-s-a.com/news/241677/

相关文章:

  • dw网站开发删除wordpress主题底部
  • 织梦网站怎样做子域名高德导航怎么看街景地图
  • 宿州专业网站建设株洲网站建设优化
  • 自动生成海报的网站常州建网站公司
  • 网站刷流量对网站有影响吗站长工具欧美高清
  • 百度做网站优化多少钱一年罗庄网站建设
  • 手机网站 自适应屏幕h5网站有哪些
  • 北京企业建站技术临沂网站公众号建设
  • 域名和网站备案一样吗wordpress 封装 app
  • 婚纱摄影网站开题报告c2c模式是什么意思
  • 网站几种颜色wordpress水平菜单
  • php做网站的分站wordpress边下边看
  • 杭州建设实名制报备网站Wordpress外贸网站搭建公司
  • 山西云起时网站建设计算机网站开发实现总结
  • 一个网站做两个优化可以做吗永清网站建设
  • wordpress英文采集wordpress seo 链接
  • 进入建设银行的网站就打不了字工程建设标准化网站
  • 杭州网站推广大全网站建设演讲稿
  • 厦门网站的制作太仓专业网站建设
  • 天津公司网站建设公司哪家好在阿里巴巴国际网站上需要怎么做
  • 网站关键词seo推广公司哪家好无锡市无锡市住房和城乡建设局网站
  • 开远市新农村数字建设网站网站如何做QQ登录
  • 自己做个网站教程高端网站开发哪家强
  • 网站模板免费下载中文版大连网站建设哪家专业
  • 网站建设的基本代理公司注册公司坑人
  • 企业网站被黑后如何处理wordpress邮件发送类
  • 北京网站的网站建设公司建设工程竣工验收消防备案网站
  • 淄博市 网站建设报价wordpress里的发消息给我
  • 网站下拉菜单怎么做游戏网站模板免费下载
  • 阿里云上做网站套模板怎么做一个网站开发小组