示例: 接下来就以我之前写的UIActivityViewController系统原生分享-仿简书分享和iOS开源小项目-WSL两个Demo为例,让我们看下怎么可以让UIActivityViewController...,处理完成之后,我们需要自动返回主应用UIActivityViewController系统原生分享,同时传递数据处理的结果。...给UIActivityViewController系统原生分享也添加Url Scheme 重写UIActivityViewController系统原生分享中AppDelegate中的openUrl方法,...在返回UIActivityViewController系统原生分享应用时根据从WSL返回的数据处理结果做出反应。...重写UIActivityViewController系统原生分享的openUrl方法 以上就是通过Url Scheme实现APP间相互跳转、传递数据、通信、分享功能的过程。
利用UIActivityViewController实现系统原生分享,不需要三方SDK,支持自定义分享,可以分享到微博、微信、QQ、信息、邮件、备忘录、通讯录、剪贴板、FaceBook.....等等...效果2.gif 接下来介绍UIActivityViewController:Demo里也注释的很清楚 1. 创建要分享的数据内容,加在一个数组 ActivityItems里。...//创建分享视图控制器,初始化UIActivityViewController ActivityItems 在执行activity中用到的数据对象数组。...数组中的对象类型是可变的,并依赖于应用程序管理的数据。例如,数据可能是由一个或者多个字符串/图像对象,代表了当前选中的内容。...*/ UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:activityItems
,随手玩了下最新出来的iPhone6s,看下它新出来的功能3D Touch,简单的使用了下挺难按出来的?...shortcutItem.type isEqualToString:@"-11.UITouchText.share"]){ NSArray *arr = @[@"hello 3D Touch"]; UIActivityViewController...*vc = [[UIActivityViewController alloc]initWithActivityItems:arr applicationActivities:nil];...UITouchText.share": let items = ["hello 3D Touch"] let activityVC = UIActivityViewController...share.png 好文推荐:Bison教你3分钟集成支付宝好友分享 技术交流群:511040024 推荐一款学习iOS开发的app_____|______| | 传送门 更多经验请点击
[fileManager fileExistsAtPath:fileName]) { // 获得数据库文件在工程中的路径——源路径。...} } //获取路径文件url NSURL*fileUrl = [NSURL fileURLWithPath:fileName]; // 初始化UIActivityViewController...NSArray *activityItems = @[fileUrl]; UIActivityViewController *activityVC = [[UIActivityViewController...UIActivityTypeSaveToCameraRoll]; [self presentViewController:activityVC animated:YES completion:nil]; // 分享之后的回调
WSL是一款拥有 音乐播放,新闻,壁纸,画板,简易地图,计时器等等功能的小项目,是我自己早期学习时做着玩的,并没上架;UI是自己设计,所以挺吃藕的,粗糙的,没做适配,是在6尺寸下开发的 ,还希望不要嫌弃了...(gif有点大,有的压缩的失真了,,,,) 0 、启动界面 第一次安装运行会有APP的介绍页面,对于启动的动画,是一个小视频,根据当前的系统时间,会有春夏秋冬四种不同的启动画面。...壁纸2.gif 壁纸这块主要是通过应用直接更改系统桌面壁纸和锁屏壁纸,调用的是私有API,iOS10以下才会起作用!...iOS 音乐播放器之锁屏效果+歌词解析 ?...锁屏歌词.PNG 详情可以参考我之前的文章: iOS 音乐播放器之锁屏效果+歌词解析 仿简书分享-UIActivityViewController系统原生分享 iOS技术网站和常用软件 iOS
米米图床 AppStore 跟盆友一起搞的小博客有兴趣的可以看看,此文也会同步过去,也包含一些服务器相关的内容。...个人站博客 本文主要代码使用 RAC+MVVM 以及其他一些第三方库,做的比较急,虽说是MVVM+RAC但使用的还是比较拙劣的,不喜勿喷。...上传完成后可以选择copy的内容,顺便再加个分享 历史 :上传的历史记录,直接就使用iCloud来保存数据。同样有首页copy和分享功能 关于 :一些免责声明,例如严禁上传小黄图啦之类的。...withSiteUrl:homeModel.url withVC:self]; } forControlEvents:UIControlEventTouchUpInside]; } //ios...scaleHeight(10)); make.centerX.equalTo(closeImg.superview); }]; return successView; } //ios
活动 活动表示系统提供的或自定义的任务——通过一个活动视图控制器来实现——其可以和当前的内容互动。...创建一个精简的模板图片来表示你的任务。精简的图片是iOS用来作为创建用户看到的最终图标的覆盖图的。为了创建在最终图标中看起来不错的模板图片,要遵循下面的指南: 使用合适透明度的黑色或白色图片。...短标题是最好的,因为它在屏幕上看起来更好而且易于本地化。当标题太长时,iOS首先会收缩文本,然后——如果标题依然太长的话——截断它。一般来说,不要在活动标题中包含你的公司或产品的名字。...API NOTE 查看UIActivityViewController Class Reference学习更多关于在你的代码中定义活动视图控制器的内容;查看Activity学习如何设计一个提供了自定义任务的活动...人们习惯于在点击动作按钮时获取系统提供的任务。你会想要得益于这个被学会的行为并且避免提供一个做相同事情的替换的方式来使用户疑惑。 确保清单中的任务是适用于当前的环境的。
不管是在iOS还是Android开发过程中,我们都经常性地需要存储一些状态和数据,比如用户对于App的相关设置、需要在本地缓存的数据等等。...根据要存储的的数据的大小、存储性质以及存储类型,在iOS和Android中哪个都有多种存储方式。...iOS程序默认情况下只能访问程序自己的目录,这个目录被称为“沙盒”,即沙盒其实就是一个App特有的一个文件夹,iOS下每个App都有自己特有的一个沙盒,其结构和目录特性都是一样的。...归档在iOS中是另一种形式的序列化,只要遵循了NSCoding协议的对象都可以通过它实现序列化。...关于SQLite的详细使用方法详见:iOS开发数据库篇—SQLite的应用
2018年结束的时候,跟组内成员讨论新年的工作规划。其中探讨了一个比较有意思的话题:怎么紧跟iOS系统变化?...automaticallyAdjustsScrollViewInsets 从比较久远的iOS6升级到iOS7,设计风格从拟物化到平面化的过渡,引领了智能手机行业的一次UI变革。...,这是iOS系统从6到7因为坐标系改变做适配的最优雅的方法。...2013年,很多iOS同行开始讨论iOS开发应用那种方式效率高,是纯代码还是xib,亦或是storyBoard?在我看来,效率是经验积累后的产物,那种方式因人而异。...10887362-4975b4de764714cf.png 保持敏感性 以上是几个简单的示例,想强调的是iOS开发,需要优雅的跟紧iOS系统变化。
前言 最近iOS卡审严重,很多小伙伴都被拒了,也有很多小伙伴收到4.3礼包,这里就说说4.3吧!...规避4.3的重心,切断当前马甲包与以往马甲包的所有相似性关联; 相似关联 a. ipa包特征; b. 开发者帐号; c. 打包电脑; d....适当添加一些无用的资源; c.修改资源文件的HASH值; 翻新工程: a.修改工程名; b.修改工程目录结构; 2. 开发者帐号 两个马甲包不要关联到同一个开发者帐号的信息;比如打包时关联。 3....打包电脑 有条件的最好用不同的MAC来打包(每台MAC上最好打包马甲包不要超过5个) 4. 上传IP地址 上传马甲包时,IP不要跟其他马甲包的IP相同; 5....混淆相关 最重要的就是代码混淆了,混淆相关的可以移步看我的另一篇博客: 《Python-iOS代码混淆-马甲包混淆工具(Python脚本混淆iOS工程)》
,减少代码冗余 OC中一个类可以继承另一个类 被继承的类称为父类或超类(基类) 继承的类称为子类或派生类 子类可以直接拥有父类中所有允许子类继承的属性和方法 继承关系是可以传递的,子类除了可以调用父类的方法...,也可以调用父类的父类的方法,也就是说继承可以确保某个父类型之下的所有类都会有父类型所持有的全部方法 子类可以有自己的成员变量、属性和方法 单一继承性,OC不支持多继承 继承中方法调用的流程: 首先到子类去找...适用继承的场合 父类只是给子类提供服务,并不涉及子类的业务逻辑 层级关系明显,功能划分清晰,父类和子类各做各的。...父类的所有变化,都需要在子类中体现,也就是说此时耦合已经成为需求 我们不能脱离cocoa框架开发,所以我们可以继承cocoa的类,以达到快速开发的目的,但是如果没有特殊原因我们写的代码要控制在继承链不超过两层...不适合继承的场景 当你发现你的继承超过2层的时候,你就要好好考虑是否这个继承的方案了 不满足上面一些条件时候 优缺点 优点: 提高代码复用性 可以让类与类之间产生关系,正是因为继承让类与类之间产生了关系所以才有了多态
当UIWebView播放视频时,可以看到view hierarchy里有FigPluginView的身影。...与WebKit.framework有耦合,或者说就是为了封装视频播放控件来给WebKit.framework用的。...当然,视频只是PluginView的一种,UIWebPlugInView还会管理别的种类的plugin。...注意这个“添加”是通过好多层CALayer间接实现的,UIWebPlugInView还会创建一个hostLayer作为MediaLayer。...总之可以更确定,WAKView就是替代了NSView,以求和Mac的WebView共用代码,但iOS application是单进程程序,只能用CALayer树来代替NSView树做组合了。
示例: 接下来就以我之前写的UIActivityViewController系统原生分享-仿简书分享和iOS开源小项目-WSL两个Demo为例,让我们看下怎么可以让UIActivityViewController...,处理完成之后,我们需要自动返回主应用UIActivityViewController系统原生分享,同时传递数据处理的结果。...[给UIActivityViewController系统原生分享也添加Url Scheme] 重写UIActivityViewController系统原生分享中AppDelegate中的openUrl方法...,在返回UIActivityViewController系统原生分享应用时根据从WSL返回的数据处理结果做出反应。...[重写UIActivityViewController系统原生分享的openUrl方法] 以上就是通过Url Scheme实现APP间相互跳转、传递数据、通信、分享功能的过程。
iOS开发中活动视图控制器UIActivityViewController的应用 在iOS开发中,UIActivityViewController常用来弹出分享面板,其实除了用来社会化分享,UIActivityViewController...:@"https://www.baidu.com"]; //活动的图片 UIImage * image = [UIImage imageNamed:@"ios"]; UIActivityViewController...> *excludedActivityTypes; //下面这些方法在iOS8后被弃用 在iOS6-iOS8之前可用 //设置活动行为结束后回调的block /* typedef void (^UIActivityViewControllerCompletionHandler...UIActivityViewController进行初始化: NSString * content = @"活动的内容"; NSURL * url = [NSURL URLWithString...= [[CustomActivity alloc]init]; UIActivityViewController * con = [[UIActivityViewController alloc
在 iOS 应用中选择最佳邮件发送方式 (Choosing the Best Way to Send Emails in an iOS App)[11] 在 iOS 上,开发者可以选用多种方式在应用中发送邮件...Hill 的建议如下: ShareLink/UIActivityViewController:适合通用分享场景,支持多种分享方式(如邮件、消息应用等),但不适合需要发送到特定地址的场景。...mailto 链接:适合需要预填收件人、主题和正文的场景,跨平台支持(iOS、macOS、visionOS)且支持用户默认的邮件应用,但不支持附件。...MFMailComposeViewController:适合需要发送附件或预填邮件内容的场景,但仅限于 iOS 设备且依赖 Apple Mail。...)[13] 作为PhotonCam[14]的开发者,Weichao Deng[15]在本文中深入探讨了 PhotosKit 的工作原理,并结合其 Android 开发经历,对比了 Android 和 iOS
基本思路 在项目开发过程中,iOS系统自带的字体库可能不适应需求,需要导入其他的字体库。...下面是iOS项目增加新的字体的基本思路,基本上分为三步: 将字体库添加到项目中 在info.plist中添加所需新字体, 同时也在target-->Build Phases-->Copy Bundle...Resources中将info.plist中添加的字体添加上(确保能找到资源) 找到真实可用的fontName, 代码中使用fontWithName: size: ....配置有两步 第一是需要在info.plist中添加所需新字体,在 info.plist文件中添加一组键值对,Fonts provided by application,然后在下面的item对应的值填写就是我们添加的字体库文件的名称...,并且可以获取到我们添加的字体的名称。
传统跳转跟路由的简单对比 Native的跳转方式: iOS: TestViewController *vc = [[TestViewController alloc] init]; [self.navigationController...统一iOS,Android端的跳转逻辑。 App复杂后组件化后,组件间解耦。 统计埋点可以通过路由进行,因为路由是一个中间件,所以对路由进行AOP就行。...iOS端的路由库 读了一些github上的开源路由库的代码,实现的原理都是一样的,用一个集合类缓存路由跟处理闭包的对应关系,在app启动的时候,注册好支持的URL,当调用openURL的时候,根据给定的...)(模块内部传对象可以用,模块间的话不应该传对象,会造成耦合) HHRouter Routable 三种iOS路由注册处理方案 第一种:模块自己注册的路由自己处理 在注册url的时候,自己处理openUrl...如:web网页要打开一个原生页面,如果要iOS跟Android用同一个url的话,他们都得用我们的类名。耦合太大。 第三种:URL跟ViewController一一对应,同时统一处理跳转。
问题 在iOS 11以下系统,WKWebView出现 An instance of class WKWebView was deallocated while key value observers were...以上崩溃问题,经发现是没有removeObserver或者delegate没有设置为nil产生 解决方法 在dealloc中: - (void)dealloc{ //防止iOS11以下奔溃
答案是肯定的,本文就主要来学习一下在iOS开发过程中如何获取到设备的各种状态信息。 在iOS中要获取设备的状态信息,主要涉及到三个类:UIDevice、NSbundle和NSlocale。...因此,在这种情况下,获取设备上是否安装了特定的App以及设备上安装了那些App则显得比较重要了。 那么如何判断我们的iOS设备上是否安装了特定的App呢?...有两种方案: 直接判断是否安装了特定的App 先获取到iOS设备上安装的所有App的清单,然后判断是否有特定的App 2.1 直接判断iOS设备是否安装了特定的app 这个方法其实是比较简单的,但是你需要知道该软件的...扩展iOS软件之间的调用:IOS的软件之间的调用(URL Schemes) 方法很简单,但是问题了,我们要如何获取到特定App的URL Schemes呢?...设备上安装的所有App清单 要获取iOS设备上安装所有App清单以及一些必要信息,实际上这一个是不允许的,因为涉及到个人隐私问题。
一.SQLite的使用 采用SQLite数据库来存储数据。SQLite作为一中小型数据库,应用ios中,跟前三种保存方式相比,相对比较复杂一些。还是一步步来吧!...第一步:导入头文件 需要添加SQLite相关的库以及头文件:在项目文件的Build Phases下,找到Link Binary Library(ies),添加libsqlite3.0.dylib(libsqlite3...使用前注意:如果不往数据库里面添加任何的表,这个数据库等于没有建立,不会在硬盘上产生任何文件,如果数据库已经存在,则会打开这个数据库。...所以要想正确从数据库中取出中文,需要用NSString来接收从数据库取出的字符串。...二.FMDB的使用 github地址是https://github.com/ccgus/fmdb // 继承 # pod 'FMDB/SQLCipher' 1.FMDB的创建: NSString
领取专属 10元无门槛券
手把手带您无忧上云