iOS thirdKeyboard Develop (APP Extension)

如果需要开发第三方键盘 首先得了解一下苹果官方文档  https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html

然后建议看一下 APPExtension

http://www.cocoachina.com/ios/20140918/9677.html

键盘应用属于你的hostAPP 所以如果你要了解appGroups来做到两个应用间信息传输

使用方法

NSUserDefaults *keyboarddefaults = [[NSUserDefaults alloc] initWithSuiteName:appGroups];

appGroups是我们设置的字段 与添加appGroup的字段一致

xcode会给我们生成keyboard的类 在这个类 我们可以做第三方键盘

1.这个类中建议用autolayout做约束

2.

CGFloat _expandedHeight = 256;

NSLayoutConstraint *_heightConstraint = [NSLayoutConstraint constraintWithItem:self.view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute   multiplier:0 constant: _expandedHeight];

[self.view addConstraint: _heightConstraint];

该方法可以设置键盘高度

我遇到的问题:在updateContraint 中调用无效

3. 输入文字:调用协议方法 textDocumentProxy.

- (BOOL)hasText;

- (void)insertText:(NSString *)text; //输入文字

- (void)deleteBackward;//删除文字

我们的键盘如果要通过审核 就必须要有一个下一个输入法的按钮 参照原生的那个地球按钮

调用

- (void)advanceToNextInputMode

这个方法就可以完成

apple开放的API较少 自己看文档是个很好的选择

4 还遇到一个问题:暂时无法做到从自己的键盘端跳转到mainApp

以前使用webview是可以做到 但是apple更新之后禁用这个方法  stackOverflow上的建议也无效

希望有解决这个问题的人可以告诉我

5  我们的组织 QQ群248458280 期待大家的光临 一起学习 一起成长

时间: 2024-10-15 10:07:14

iOS thirdKeyboard Develop (APP Extension)的相关文章

揭秘 iOS App Extension 开发 —— Today 篇

转自:http://www.cocoachina.com/ios/20160619/16760.html 本文授权转载,作者:Cyandev(简书) 从 iOS 8 开始,苹果引入了全新的 App Extension,涉及到方方面面,例如今日面板.键盘.内容拦截器.分享动作等.但是官方对于 App Extension 的开发指南少之又少,入门起来会有很多坑.所以我准备写一系列文章来帮助大家更好入门 App Extension 的开发,也能少走弯路. 何为 App Extension? 顾名思义,

iOS App Extension入门

转自简书:http://www.jianshu.com/p/8cf08db29356 iOS 10推出了很多新功能,其中有几个高调的变化:通知栏更加实用,电话可以防骚扰,iMessage变得更加有趣和强大,还有就是新一轮的Siri调戏.这 些重大功能让我们更加期待iOS10正式上线!作为开发者,我们也需要不断为自己充电,想把握先机?让我们先来看看它们的基本-App Extension 介绍 应用扩展(App Extension)从iOS 8正式登录iOS平台,开发者可以通过应用扩展为用户提供系统

iOS开发日记55-通知栏扩展(App Extension)

今天博主有一个App Extension的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. 总览 扩展 (Extension) 是 iOS 8 和 OSX 10.10 加入的一个非常大的功能点,开发者可以通过系统提供给我们的扩展接入点 (Extension point) 来为系统特定的服务提供某些附加的功能.对于 iOS 来说,可以使用的扩展接入点有以下几个: Today 扩展 - 在下拉的通知中心的 "今天" 的面板中添加一个 widget 分享扩展 - 点击分享按钮后将网

App Extension编程指南(iOS8/OS X v10.10):常见问题的处理方案

本节由CocoaChina翻译组成员DevTalking (博客)翻译自苹果官方文档App Extension Programming Guide--Handling Common Scenarios一节,敬请勘误.欢迎加入我们的翻译小组,详情请参看:CocoaChina编辑和译者招募! 当编写自定义代码以执行app扩展任务时,你可能需要处理一些其他多种类型扩展也会出现的情况.在这一章节中,我们将帮助你如何应对和处理这些常见的问题. 使用内嵌框架共享代码 你可以创建一个内嵌框架,用于在应用扩展和

App Extension的脱壳办法

App Extension的脱壳办法 从app store下载的app和app extension是加过密的,可以通过otool查看: $ otool -l binary_name | grep crypt cryptoff 16384 cryptsize 294912 cryptid 1 iPhone applications的解密办法 dumpdecrypted 是个出色的app脱壳开源工具,它的原理是:将应用程序运行起来(iOS系统会先解密程序再启动),然后将内存中的解密结果dump写入文

iOS开发------Widget(Today Extension)插件化开发

iOS10.0发布啦(貌似过去有点时间了吧 - -),在宏观带给我们使用体验的提升之外,更多的是带给iOS开发者一定的欣喜. 因为我们又要学习新东西来适配10啦. 博文所说的Widget(以下称之为拓展应用)并不是iOS10系统新推出的插件化应用(其实早在iOS8上就已经出现啦,只不过楼主是在iOS10发布之后才算真正的关注它,实在是惭愧呀).iOS10之前它仅仅是存在于通知那一栏中,至于多隐蔽我就不说了吧.但在iOS10之后获得重生,地位获得了巨大的提升,从这点也不难看出苹果增加了对它的重视.

iOS开发 之 Action Extension

上一篇<iOS开发 之 Share Extension>介绍了分享扩展的开发与使用,本篇主要还是讲述在系统分享菜单中最底下一栏的功能扩展:Action Extension,该扩展跟Share Extension实现比较类似只是在使用场景上进行了区分,Share Extension主要用于将Host应用中的内容分享到Container应用中,而Action Extension则主要用于将Host应用中的内容进行对应处理,原则上来说作用范围比Share Extension要广. 那么,下面将详细讲

ios俩个APP之间跳转、传值

两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个APP的url地址 3.需要跳转的时候 NSString *urlString = [NSString stringWithFormat:@"AppJumpSecond://%@",textField.text]; [[UIApplication sharedApplication] open

IOS研究之App转让流程须知详细介绍

 网络上有很多开发者提问怎么转让App并想知道具体的流程.实际上Appstore的App转让流程还是比较简单的,下面特酷吧根据自己的实际操作总结下iOS Appstore中App的转让流程,供大家参考.对网络开发不明白的朋友可以看IOS研究之网络编程Cocoa Streams使用详解 一,App的转让 (1)App转让的条件 至少有在Appstore上发售的版本,即应用状态为:"ready for sale".其他一些条件参考itunes connect中应用详情页面点击"