金田 (github示例源码) 在之前的Blog中有介绍了关于Safari Extensibility的 Content Blocking部分,详情可以看这里 --- iOS 9之Safari广告拦截器(Content Blocker),今天我们就来看看关于 Safari的另一个扩展点(插件)- Shared Links. 好,先来看一下如何使用该功能: 打开Safari,点击书签按钮 (像一本打开的书一样的按钮) 图1 书签按钮 选择 “@”共享分栏,就可以看到当前设备中的所有Shared L…
iOS桌面小插件 Widget Extension 这个插件时iOS14以后才出现的,基于SwiftUI 旧项目新建时可能一堆错误,其中一个时要把插件target 开发sdk版本设置为14.0以上 新建target File - Target - Widget Extension 项目结构 @main 这里是主入口,这里可以设置小组件的 Provider以及 WidgetEntryView,以及长按后弹出框的 APP 信息设置. Provider:控制器,这里可以用来做小组件的刷新操作 Simp…
ios8 的Extension给我们提供了非常多奇妙的功能.以后分享内容再也不用进入app了,让我们的手机更安全,以下我们以在safari 浏览器中分享一个web url 来讲述Share Extension的工作原理 1 新建一个Share Extension target 參考http://blog.csdn.net/wjsxiaoweige/article/details/39524291phone Extension的建立 watermark/2/text/aHR0cDovL2Jsb2c…
http://blog.csdn.net/haishu_zheng/article/details/12873151   category和extension用来做类扩展的,可以对现有类扩展功能或者修改其功能. 在iOS中category应用是非常广泛的,系统自带的很多类都有多个category扩展功能.   一般category中可以定义新的方法.重写类原来的方法和添加readonly属性   而extension可以认为是匿名的category,但是这个extension相对于categor…
苹果的官方文档 Category在iOS开发中使用非常频繁.尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最大程度的体现了Objective-C的动态语言特性. #import @interface NSObject (Category) - (void)myMethod; @end 这是一个最简单的Category,作用于NSObject类,给NSObject添加了一个方法. 使用Category需要注意的点: (1) Category的方法不一定非要在@imp…
前段时间和朋友(@品味生活)一起搞 iOS9的通用链接,我主要做了前面官方文档翻译工作,后面的一些东西都是他在搞,整理也是他整理的. 他的博客原文地址:http://pinwei.blog.51cto.com/5452359/1734167 转载请注明 地址 一. 通用链接介绍 Apple 推出通用链接:一种能够方便的通过传统 HTTP 链接来启动 APP, 使 用相同的网址打开网站和 APP. 当你的应用支持通用链接,iOS9 之后 , 用户可以点击一个链接跳转到你的网站,并获得无缝重定向到您…
Category在iOS在开发常用. 特别是对于系统扩展上课时间.我们不能继承系统类.直接添加到系统类方法,最大程度上体现Objective-C动态语言特征. #import @interface NSObject (Category) - (void)myMethod; @end 这是一个最简单的Category,作用于NSObject类.给NSObject加入了一个方法. 使用Category须要注意的点: (1) Category的方法不一定非要在@implementation中实现.也能…
1.从app跳转到Safari NSString* strIdentifier = @"http://www.ybyb.com"; BOOL isExsit = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:strIdentifier]]; if(isExsit) { NSLog(@"App %@ installed", strIdentifier); [[UIApplicati…
背景: 在大型项目,企业级开发中多人同时维护同一个类,此时程序员A因为某项需求只想给当前类currentClass添加一个方法newMethod,那该怎么办呢? 最简单粗暴的方式是把newMethod添加到currentClass中,然后直接实现该方法就OK了. 但考虑到OC是单继承的,子类可以拥有父类的方法和属性. 如果把newMethod写到currentClass中,那么currentClass的子类也会拥有newMethod.但真正的需求是只需要currentClass拥有newMeth…
一.App Extension的介绍 App Extension可以让你扩展你APP的自定义功能和内容,使用户可以在与其他应用或者系统进行互动的时候去使用它.app extension即为本文所说的extension.extension并不是一个独立的app,它有一个包含在app bundle中的独立bundle,extension的bundle后缀名是.appex.其生命周期也和普通app不同,这些后文将会详述.extension不能单独存在,必须有一个包含它的containing app.扩…
iOS 新特性总结(since iOS6) iOS 6 1.废除viewDidUnLoad 收到内存警告须要到didReceiveMemoryWarning中处理 [小技巧] -(void)didReceiveMemoryWarning { [super didReceiveMemoryWarning];//即使没有显示在window上.也不会自己主动的将self.view释放. // Add code to clean up any of your own resources that are…
转载请注明出处:http://www.cnblogs.com/zhanggui/p/7119572.html 1.前言 这里主要是对App Extension的一些介绍以及详细给大家介绍一下Share Extension,后期会添加其他的Extension介绍. 2.开始 主要对App Extension和Share Extension进行介绍.请继续往下看: 2.1: App Extension的介绍 官方给的说法是:App Extension可以让你扩展你的APP的自定义功能和内容,使用户可…
What's New in iOS9 This article summarizes the key developer-related features introduced in iOS 9, which runs on currently shipping iOS devices. The article also lists the documents that describe new features in more detail. For late-breaking news an…
1. 学 Share Extension 之前 先了解一下iOS的App Extension 2.1 创建Share Extension扩展Target ** 注:扩展不能单独创建,必须依赖于应用工程项目,因此如果你还没有创建一个应用工程,先去创建一个.** 1.打开项目设置,在TARGETS侧栏地下点击“+”号来创建一个新的Target,如图:   添加Target 2.然后选择”iOS” -> “Application Extension” -> “Share Extension”,点击“…
作者:Panda Fang 出处:http://www.cnblogs.com/lonkiss/p/6492385.html 原创文章,转载请注明作者和出处,未经允许不可用于商业营利活动 去年到今年做了几个 iOS上的 AIR Native Extension (简称 ANE), 痛苦不堪.  ANE 的开发方式早已被前辈吐槽多多 效率低下 浪费生命 严重压低kpi .体验过Unity的插件开发, 相比之下真的是爽快多了,效率飙升. 言归正传, 痛苦之一就是难以实现AppDelegate 生命周…
macOS系统升级之后,可能会导致Safari开发选项中没有iOS设备,进而无法运行Safari Web 调试器. 此问题的解决办法: 请转到设置>常规>重置>重置位置和隐私.现在,当您连接到以前受信任的计算机时,“信任”警报将询问您是否信任该计算机. 等待手机重置完成之后,连接mac重新信任,这个时候开发下有有iOS设备了. 在safari中:开发>设备名称>'用于开发'. 到此就可以运行Safari Web 调试器了.…
html, body {overflow-x: initial !important;}html { font-size: 14px; } body { margin: 0px; padding: 0px; height: auto; bottom: 0px; top: 0px; left: 0px; right: 0px; font-family: 'Helvetica Neue', helvetica, arial, sans-serif; font-size: 1rem; line-hei…
2015 年 9 月,Apple 重磅发布了全新的 iPhone 6s/6s Plus.iPad Pro 与全新的操作系统 watchOS 2 与 tvOS 9(是的,这货居然是第 9 版),加上已经发布的 iOS 9,它们都为前端世界带来了哪些变化呢?作为一个 web 开发者,是时候站在我们的角度来说一说了! 注! 该译文存在大量英文术语,笔者将默认读者知晓 ES6.viewport.native app.webview 等常用前端术语,并不对这些已知术语进行汉语翻译 对于新发布或较新的产品名…
 App Extensions 是iOS8新开放的扩展机制,之后不断增加功能.App Extension Programming Guide: Today   不喜欢废话,直接上干货!   一:重要概念: extension point 系统中支持extension的区域,extension的类别也是据此区分的,iOS上共有Today.Share.Action.Photo Editing.Storage Provider.Custom keyboard等等种类,其中Today中的extensio…
Notifications have gotten more than a visual refresh in iOS 10. As part of the new UserNotifications framework, Apple has given us the ability to make notifications that contain images, sound, video, or even custom content generated on the device. Mu…
虽然现在Xcode8已经开始使用WKWebView这个框架进行网页展示,但是UIWebView也有一些常用的方法需要知道,下面就简单展示一下,仅供大家参考 相关知识:1.设置背景透明:2.加载本地HTML页面:3.移除滚动后的外边阴影:4.在Safari中打开链接地址:5.禁用页面滚动弹跳:6.scalesPageToFit属性:7.调用javascript代码:8.javascript调用native代码:9.让UIWebView更加接近native 设置背景透明 设置webview的back…
Send Push Notifications to iOS Devices using Xcode 8 and Swift 3 OCT 6, 2016 Push notifications are a great way to ensure your users re-engage with your app every once in a while, but implementing them on iOS can be challenging, especially with all o…
写的非常不错,读完后,基本的extension的套路就清楚了,也是我们的园友写的,感谢他: http://www.cnblogs.com/xdream86/p/3855932.html 下面这个教程是shared link extension的教程,不错 http://www.liuhaihua.cn/archives/124342.html…
*本文转自CocoaChina 原文:11 Insanely Great iOS Developers Sites永不止步地向他人学习 我相信,要想从一个"还不错"的人变成一个卓越的人,我们需要不停地向他人学习,同时还得尽早地适应最新的技术和工具.除了苹果官方文档网站之外,我列举了一些能获取有价值的文章和资源的网站,这些网站能够帮助我们更上一个台阶. 让我们先看一些原创内容博客: objc.io 这个网站由世界级的iOS工程师每月进行更新.上面可以看到关于某些话题的高质量文章和深度评论…
UIWebView是iOS开发中常用的一个视图控件,多数情况下,它被用来显示HTML格式的内容. 支持的文档格式 除了HTML以外,UIWebView还支持iWork, Office等文档格式: Excel (.xls) Keynote (.key.zip) Numbers (.numbers.zip) Pages (.pages.zip) PDF (.pdf) Powerpoint (.ppt) Word (.doc) Rich Text Format (.rtf) Rich Text For…
ios runtime swizzle @implementation NSObject(Extension) + (void)swizzleClassMethod:(Class)class originSelector:(SEL)originSelector otherSelector:(SEL)otherSelector { Method otherMehtod = class_getClassMethod(class, otherSelector); Method originMehtod…
iOS类别(Category)与扩展(Extension) 苹果的官方文档 Category在iOS开发中使用非常频繁.尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最大程度的体现了Objective-C的动态语言特性. #import @interface NSObject (Category) - (void)myMethod; @end 这是一个最简单的Category,作用于NSObject类,给NSObject添加了一个方法. 使用Category需要注…
1.属性传值 前向后传值. 记住: /* 1: 属性传值第一步需要用到什么类型就定义什么样的属性 2: 从上一个页面到一个页面的选中方法里面将要传的值传到来(上一个页面)备注:这种方法只适用于上一个页面推到下一个页面 */ MainViewController与SecondViewController两个视图 控制器 ,点击MainViewController中的按钮将跳转到SecondViewController视图,同时想要传递一个值过去.这时可以利用属性传值. 首先SecondViewCo…
一.遇到的问题 移动端开发中,iOS的微信浏览器也好.Safari也好在浏览网页的时候会出现橡皮筋效果.就是当页面拉到尽头的时候还能再继续拉动,露出浏览器的底色,松手会回弹回去. 微信浏览器: Safari: 只有iOS有这个效果,android没有这个问题. 二.解决办法 首先想到event.preventDefault();但是如果直接添加到body上,整个页面就不会滚动了.机智的你立刻想到,只有到达临界值的时候在阻止事件默认行为不就行啦!是这样的,我们只需要判断,页面是否滚动到了顶端和底部…
原文:11 Insanely Great iOS Developers Sites 永不止步地向他人学习 我相信,要想从一个"还不错"的人变成一个卓越的人,我们需要不停地向他人学习,同时还得尽早地适应最新的技术和工具.除了苹果官方文档网站之外,我列举了一些能获取有价值的文章和资源的网站,这些网站能够帮助我们更上一个台阶. 让我们先看一些原创内容博客: objc.io 这个网站由世界级的iOS工程师每月进行更新.上面可以看到关于某些话题的高质量文章和深度评论,同时他们还提供了基于订阅的杂…