Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从Cocoa应用程序内部执行外部应用程序

从Cocoa应用程序内部执行外部应用程序
EN

Stack Overflow用户
提问于 2013-02-24 07:30:50
回答 1查看 151关注 0票数 0

首先,让我明确说明,我需要的是,而不是简单的(显然,我想要的不仅仅是执行另一个应用程序)。

我需要什么:

  • 用外部应用程序的功能扩展我的主要应用程序(某种程度上是“插件”)
  • 这些外部插件必须与主应用程序分离(就代码/实现而言)。
  • 外部插件必须能够无缝地集成到主应用程序中。
  • 用户不应将外部应用程序视为“外部”应用程序。
  • 实现必须遵守adhere术语和SandBoxing准则。

示例(虽然在我的脑海中这个想法不是100%清晰):

  • 主机应用程序启动
  • 外部应用程序有一个窗口(以及它自己的功能)
  • 一旦外部应用程序被执行,它的窗口现在变成主机应用程序的“工作表”

我不知道我所描述的是否可行。不过,我还是需要听听你对此的意见。我已经对这个问题做了大量的研究,虽然我将把使主机应用程序通过外部脚本扩展的整个概念(通过php、python、AppleScript等获得输入并提供一些输出)作为基础,但这并不包括“插件”有自己的用户界面的情况。

有什么想法吗?(举一个例子或一些具体的提法来指出我认为是理想的.)

EN

回答 1

Stack Overflow用户

发布于 2013-02-24 09:09:21

有一个新的API正好解决了您想要的内容:

XPC是libSystem的一部分,它为基本进程间通信提供了一种轻量级机制,该机制集成了Grand Central Dispatch (GCD)和launchd。允许您创建名为XPC服务的轻量级助手工具,这些工具代表应用程序执行工作。

守护进程和服务编程指南

WWDC 2012视频上有一个很好的讨论。

你所描述的很多东西都是可能的--也不一定很难。然而,你的“榜样”--正如你自己所说--并不完全一致。您希望第二个应用程序是独立的,但您不希望它看起来是“外部的”;这些力量是不完全协调的。由于显而易见的原因,您不太可能完成的任务是接管一个已经独立运行的应用程序。但你可以开始你自己的过程。

通常的架构是让多个守护进程或服务为您执行任务,还有一个控制过程,它也处理所有事情的用户界面。正如上面提到的,邮件就是这样工作的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15053272

复制
相关文章
CSS 阴影动画优化技巧一则
本技巧来自这篇文章 -- How to animate box-shadow with silky smooth performance
Sb_Coco
2019/11/01
1K0
CSS 阴影动画优化技巧一则
UITableViewCell的重用机制原理
每当有一个cell从屏幕消失,就将其放到缓存池中,如果有新的cell出现,就去缓存池中取,如果缓存池中没有,再创建。
赵哥窟
2018/11/07
1.9K0
使用UITableViewCell遇到的问题
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/52414255
用户1451823
2018/09/13
7900
IOS UITableView UITableViewCell控件
import UIKit class ViewController:UIViewController,UITableViewDataSource { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. let screenRect = UIScreen.main.bounds let tableRect = CGRect(x:0, y:20, width: screenRect.size.width, height:screenRect.size.height - 20) let tableView = UITableView(frame:tableRect) tableView.dataSource = self self.view.addSubview(tableView) } func tableView(_ tableView:UITableView,numberOfRowsInSection section:Int) -> Int{ return 20 } func tableView(_ tableView:UITableView,cellForRowAt indexPath:IndexPath) -> UITableViewCell { let identifier = “reusedCell” var cell =tableView.dequeueReusableCell(withIdentifier:identifier) if(cell == nil) { cell = UITableViewCell(style:UITableViewCellStyle.default, reuseIdentifier:identifier) } cell?.textLabel?.text = “命运负责洗牌,玩牌的是我们自己!” return cell! } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
用户5760343
2019/07/08
6530
IOS UITableView UITableViewCell控件
利用CSS线性渐变、阴影、缩放实现动画下雨效果
这个动画效果,如果让你来做,你会选择什么方式?相信很多小伙伴都会用gif图片。其实用css实现也很简单。
Javanx
2019/09/04
1.7K0
利用CSS线性渐变、阴影、缩放实现动画下雨效果
IOS UITableViewCell的删除和插入
----------------------------------------插入------------------------------------------- 1 import UIKit 2 3 class ViewController:UIViewController, UITableViewDataSource, UITableViewDelegate{ 4 5 var diablo3Level = [“普通模式”, “困难模式”, “高手模 式”, “大师模式”, “地狱模
用户5760343
2019/07/08
9090
IOS UITableViewCell的删除和插入
[WPF] 使用 Effect 玩玩阴影、内阴影、 长阴影
最近在学习怎么用 Shazzam Shader Editor 编写自定义的 Effect,并试着去实现阴影、内阴影和长阴影的效果。结果我第一步就放弃了,因为阴影用到的高斯模糊算法对我来说太太太太太太太太难了,最后只好用些投机取巧的方法来模仿这几种效果。
dino.c
2022/05/07
1.7K0
[WPF] 使用 Effect 玩玩阴影、内阴影、 长阴影
iOS_UITableView性能优化
// 滑动时按需加载, 防止卡顿 配合SDWebImage https://github.com/johnil/VVeboTableViewDemo
mikimo
2022/07/20
6480
阴影进阶,实现更加的立体的阴影效果!
关于它们的基础语法和使用就不过多描述,这一部分大家可以先在 MDN 补齐,贴几张图快速复习一下:
Sb_Coco
2022/04/28
2K0
阴影进阶,实现更加的立体的阴影效果!
input 在iPhone 上 上边框有阴影
主要让appearance属性为none; input { outline: none; -webkit-appearance: none; /*去除系统默认的样式*/ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /* 点击高亮的颜色*/ }
用户1437675
2018/08/20
9580
【CSS】盒子模型阴影 ( box-shadow: 水平阴影 垂直阴影 模糊距离 阴影尺寸 阴影颜色 内外阴影; )
只有 前两个阴影 , 水平阴影 和 垂直阴影 必须写 , 后面的四个值可以省略 ;
韩曙亮
2023/03/25
1.2K0
【CSS】盒子模型阴影 ( box-shadow: 水平阴影 垂直阴影 模糊距离 阴影尺寸 阴影颜色 内外阴影; )
Service Broker 无法工作的问题修复
数据库的Service Broker在通过备份/还原方式恢复数据库后,通过SELECT * FROM sys.transmission_queue 查到的错误信息: An exception occurred while enqueueing a message in the target queue. Error: 15517, State: 1. Cannot execute as the database principal because the principal "dbo" does not e
张善友
2018/01/19
1K0
文本阴影和边框阴影
    box-shadow:left top 模糊距离 阴影尺寸 阴影颜色 inset(内阴影);
十月梦想
2018/08/29
9760
SVG 动画精髓(上)
本文作者:ivweb villainthr TL;DR 本文主要是讲解关于 SVG 的一些高级动画特效,比如 SVG 动画标签,图形渐变,路径动画,线条动画,SVG 裁剪等。 例如:路径动画 图形
腾讯IVWEB团队
2017/07/06
3.7K0
SVG 动画精髓(上)
IOS UITableViewCell 选中 选择
1 import UIKit 2 3 class ViewController:UIViewController, UITableViewDataSource, UITableViewDelegate{ 4 5 let diablo3Level = [“普通模式”, “困难模式”, “高手模式”, “大师模式”, “痛苦模式”] 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 // Do any additional
用户5760343
2019/07/08
1.1K0
IOS UITableViewCell 选中 选择
iOS开发-UITableViewCell的创建方式
被static修饰的成员变量,全局只有一份内存 static的后面只可以放一个定值,这是在编译阶段就确定的
孙寅
2020/06/02
1.3K0
uniswap的工作原理(上)
你吃过天上掉下的馅饼吗?只要你在2020年的9月1号之前在uniswap交易所进行过任何一笔操作,就可以获得400的uni币。这个消息刚出的时候uni价值3美元,后续最高峰涨到了8.7美元。也就是说只要你进行了一笔交易,就能获得8k~2w人民币不等的奖励。
用户7976544
2020/11/14
1.7K0
uniswap的工作原理(上)
iOS UITableViewCell使用详解
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier;
珲少
2018/08/15
1.1K0
UITableViewCell中添加复制逻辑
@interface ICUserInfoCell(){ UIMenuItem * _copyMenuItem; } @end @implementation ICUserInfoCell - (id)initWithStyle:(UITableViewCellStyle)cell reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:cell reuseIdentifier:reuseIdent
程序员不务正业
2018/06/14
7760
制作高大上的Canvas粒子动画
制作粒子动画效果要解决两个问题:一个是粒子动画轨迹,另外一个是粒子执行动画的时机。 首先来看下我们准备要做的粒子动画效果是怎么样的~ 是这样(粒子漂浮): 或者这样(粒子轨迹动画): 甚至是这样
练小习
2017/12/29
2.5K0

相似问题

UITableViewCell上的动画

20

UITableViewCell阴影

20

UITableViewCell阴影

11

在UITableviewCell高度设置动画时同时设置CALayer阴影动画

44

滚动时UITableViewCell上的阴影消失

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文