自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 iCloud开发实践

iCloud开发实践写在前面准备工作Key-value同步文档数据同步本地数据库(CoreData)同步CloudKit使用写在前面最近在一直在研究iCloud开发相关的东西,觉得是有必要写篇总结来整理一下近段时间的一些学习成果。之前一直听说iCloud服务不友好也不完善,开发难度也相对较大,其实个人觉得貌似也没说错,iCloud在客户端提供的框架相比于其他的功能框架来说,他是被分散到各个框架...

2018-11-07 11:18:15 2602

原创 LocalAuthentication开发实践

LocalAuthentication开发实践基础用法最佳实践(仅iOS 9及以上)Face ID的验证过程实践控制Keychain访问权限复用设备解锁授权更加灵活的访问控制其他属性方法说明在iPhone 5s加入Touch ID后,指纹识别的功能在App中逐渐受到青睐,特别是对于本地安全较高的应用(如带支付的App)指纹识别是必备的功能,它既能解决在验证过程中输入密码的繁琐过程,同时指纹识的安...

2018-11-07 11:14:10 612

原创 仿微信标签备注UI实现

最近看到微信的标签备注界面的操作体验挺好的,所以自己也想着实现一下,最终实现效果与微信的基本一致,还算是比较满意的_,所以在这里共享给大家,有需要的同学可以到这里下载。效果如下:当然,这个实现的过程也不是一帆风顺的,之前的想法是使用UICollectionView来实现这样的效果,这样就可以不需要考虑排版和复用问题。都是做到一半的时候,进行不下去了(还是太菜了。。。T_T),主要是 UITex...

2018-11-07 11:09:32 610

原创 解决JNI调试报错:No symbol directories found

项目从AS 2.3迁移到AS 3.0编译后,发现无法进行调试。在控制台中输出下面信息:Attention! No symbol directories found - please check your native debug configuration在网上搜了一下资料,有人提出了下面的解决方案:打开app/build.gradle文件在dependencies标签中加入下面的设...

2018-11-07 11:08:08 1447

原创 Lua面向对象编程

Lua面向对象编程1. 元表方式1.1 关于元表(metatable)1.2 类型声明1.3 添加属性声明1.4 类型继承1.5 方法重载1.6 优化工作1.6.1 类型的字符串描述转换1.6.2 简化构造函数2. LuaScriptCore方式2.1 Object类型2.2 子类化2.3 方法重载在lua原生语法特性中是不具备面向对象设计的特性。因此,要想在lua上像其他高级语言一样使用面向对...

2018-11-07 11:05:59 391

原创 解决JNI在Windows环境下因长路径导致编译失败问题

之前听一个朋友反馈LuaScriptoCore在Windows下编译会报错,今天特意跑到Windows环境下测试了一番,果然是存在问题。得到了下面的编译报错信息:Build command failed.Error while executing process C:\Users\vimfung\AppData\Local\Android\Sdk\ndk-bundle\ndk-build.c...

2018-11-07 10:56:41 1528

原创 关于iOS9中的App Transport Security相关说明及适配(更新于2016.7.1)

@[toc](关于iOS9中的App Transport Security相关说明及适配(更新于2016.7.1))修订时间内容2016.7.1根据苹果官方文档的修改做出文档的调整,并加入对诊断ATS的命令行工具nscurl进行说明。2015.8.19解决在iOS9下基于ATS对HTTP的请求的说明及适配进行说明iOS9中新增App Transport Sec...

2018-11-07 10:53:59 298

原创 Unity3D与iOS的交互

Unity3D与iOS的交互1. 关于Unity3D2. From U3D to iOS2.1 实现原理2.2 实现步骤3. From iOS to U3D3.1 UnitySendMessage3.2 非托管方法4. 类型传递4.1 关于Marshal5. 返回值1. 关于Unity3DUnity3D(以下简称U3D)是由Unity Technologies开发的一个让玩家轻松创建诸如三维视...

2018-11-06 10:25:38 471

原创 iOS 11新特性与适配

iOS 11新特性与适配1. UIView变化1.1. 更加方便的RTL边距设置1.2. 安全区域2. UIViewController变化2.1. 废除API2.1.1. `automaticallyAdjustsScrollViewInsets`方法2.1.2. `topLayoutGuide`和`bottomLayoutGuide`属性2.2. 排版2.2.1. `additionalSaf...

2018-11-06 10:20:10 459

原创 我眼中的架构设计

我眼中的架构设计1. 架构与设计2. 没有最好,只有最适合3. 架构设计 != 设计模式4. 设计思维的养成5. 事例实践5.1. 需求分析5.2. 规范与约束5.3. 细化与评估5.4. 技术选型5.5. 框架搭建5.6. 推进与支持6. 架构设计对我的影响1. 架构与设计架构是什么?我个人想得很简单,其实就是架子的结构,譬如动物都有属于自己的骨架,房子也有自己的结构框架等,这些都属于现实物...

2018-11-06 10:16:02 208

原创 【程序员觉醒】五大基础属性修行

在我所认知的程序世界里面,除了学习新的技术和知识外,还存在着五大基础属性,它们分别是:看、听、读、写、说。在日常的工作和学习中这些属性占据着重要位置,就好像RPG游戏一样,人物的属性值越高,能力就越强,学习到的技能就越多越高级。所以,在日常生活中不能忽略了这些能力的提升,打怪升级靠的就是它们。看这里说的“看”不是指看代码的能力,是指观察事物并对其进行分析和转化成代码语言描述的能力。它是属于一种...

2018-11-06 10:11:28 315

原创 【iOS扩展开发攻略】Action Extension

【iOS扩展开发攻略】Action Extension1. 创建Action Extension扩展Target2. 分析扩展例子代码2.1 与Safari中的网页进行交互2.2 为扩展配置JS文件3. 改写例子:选中网页名词解释4. 带UI的Action Extension5. 改写例子:获取网页中的所有图片6. 相关文章上一篇《iOS扩展开发攻略:Share Extension》介绍了分享扩...

2018-11-06 10:08:51 946

原创 【iOS扩展开发攻略】Share Extension

【iOS扩展开发攻略】Share Extension1. 什么是扩展?2. 转入正题 - Share Extension2.1 创建Share Extension扩展Target2.2. 配置Share Extension2.3 处理Share Extension中的数据2.3.1 从inputItems中获取数据2.3.2 将分享数据传递给容器程序2.3.3 做好分享插件的提示操作2.4 容器程...

2018-11-06 10:03:34 2266

原创 【选择恐惧症】需不需要通用设计?

【选择恐惧症】需不需要通用设计?症前兆症分析症解决症前兆经常会遇到这样的问题:一份需求下来,在做设计的时候就会开始纠结了:到底需不需要先抽象公共元素进行通用设计,再来进行功能的细化设计呢?还是直接根据需求为每个功能进行设计?症分析出现这种情况通常是因为需求中存在着一些相似的地方,但是结合需求分析又感觉没有什么通用的东西可设计,抽象不出功能点。但是如果直接就进行具体设计又感觉可能无法满足日后...

2018-11-06 09:57:26 295

原创 【程序员觉醒】提高效率,增加输出

【程序员觉醒】提高效率,增加输出1. 提升专注力2. 有效拆解和规划任务3. 管理好时间4. 善于总结,累积经验5. 学习新知识,拓展知识面6. 适当的休息和充足的睡眠一直都觉得自己的程序员之路犹如打怪升级,不断地完成任务不断地成长,自我也感觉到自己进步了不少。但最近两年感觉精力不断地下降,也许是年龄的增大,也许是生活琐事的增多,感觉投入开发的精力不太够用。细细地回想之前的打怪升级之路,都是主...

2018-11-06 09:50:31 165

原创 解决使用CoreData时报duplicate symbol错误问题

也不知道是那个XCode版本后对CoreData这块做了调整,我用的是XCode8,按照原来的步骤添加了实体,然后通过菜单Editor->Create NSManagedObject Subclass…来生成实体类后,编译就报“duplicate symbol”的错误。乍一看,没发现有重复引用的类型,莫名其妙地就出来这个错误。后来还是通过Stackoverflow找到了解决方法(感谢里面的高...

2018-11-06 09:47:22 288

原创 使用Xcode开发iOS语法检查的Clang插件

使用Xcode开发iOS语法检查的Clang插件1. 前言2. 获取Clang源码3. 编译LLVM4. 添加一个简单的插件项目5. 开发插件6. 配置调用插件的Xcode项目7. 抽象语法树AST8. 实现编译时语法检测8.1 检测ObjC中的类声明8.2 检测ObjC中的方法声明8.3 检测ObjC中的属性声明8.4 检测常量/变量声明9. Clang的应用范围讨论10. 推荐链接1. 前言...

2018-11-06 09:30:51 539

原创 Lua与ObjC的交互

在这里,我想跟大家分享另外一种脚本语言的交互方式,就是使用Lua与原生的ObjC语言进行交互。

2016-12-21 18:15:19 5100 1

原创 使用LuaScriptCore来让Lua与iOS进行交互

Lua的C Api相对来说不容易理解和掌握,需要投入一定的时间去学习和累积这方面的经验。而**[LuaScriptCore](https://github.com/vimfung/LuaScriptCore)**就是为了解决这些问题而诞生,他简化了扩展Lua的难度,让开发者可以通过自己熟悉的语言来扩展Lua,完美解决Lua与原生代码之间的通讯问题

2016-12-13 11:55:08 1220

原创 【选择恐惧症】接口?虚基类?

记得有个朋友跟我讨论过这样的一个问题,说到他刚刚学习接口和虚基类的相关知识时觉得很迷茫,不知道什么时候该用接口,什么时候该使用虚基类。后来慢慢地发现接口能做的事情,虚基类也能够实现,甚至有更多的特点。再后来就慢慢地放弃了接口,把所有的设计和实现都采用虚基类来替代。不能说我这个朋友这样的处理有错,但是就我个人对接口和虚基类的理解来说,这样的做法是有不妥的地方。

2016-11-16 10:15:42 1634

原创 iOS下将照片保存到相册的三种方法

iOS上三种保存照片到相册的方法,分别用了三个不同的系统框架实现。

2016-11-15 19:30:58 799

原创 Android Studio对于外部引用的设置

在一般的开发当中,项目的所有内容(包括App、Moudle、库目录等)都是放在同一个项目目录底下的,这样Android Studio才能够正常地识别这些内容。但是对于一些公共模块来说,如果在每个项目下面都拷贝一份,那面公共模块就会变得难以维护。其实Android Studio是允许我们做一些外部引用的,下面就是我对这方面的一些整理。

2016-11-13 17:22:00 2368

原创 使用Android Studio进行JNI开发 - Mac篇

对于入门级Android菜鸟的我来说,从配置到开发JNI是一个煎熬的过程,但还是取得了最终的成功。这里主要是整个过程进行了整理,让其他跟我一样受煎熬的人尽早跳出来,继续向光明迈进…环境配置开发JNI项目前提是需要有NDK(Native Development Kit)的支持。因此,在开发前需要先安装和配置NDK。步骤如下:点击菜单”Tools” -> “Android” -> “SDK Mana

2016-11-13 17:19:43 1009 7

原创 我眼中的面向对象分析

面向对象似乎我也没学过其他的编程思维方式了,面向对象是我编程时常用的思维方式,因为我觉得它更加贴近于我们的生活,更加容易地去理解和定义程序想要表达的内容。正是因为如此,每当项目要开启的时候,我都会使用该种思维来分析和设计程序。多年下来发现它确实有着它的魅力,帮助我解决了很多设计中的问题。

2016-11-13 16:29:02 2755 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除