- 博客(366)
- 资源 (18)
- 收藏
- 关注
翻译 二维码的生成细节和原理
二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。关于QR Code Specification,可参看这
2016-09-18 15:12:14 1071
转载 AR 开发
看到一个不错帖子,整理放这里啦:背景前段时间合伙人想做一个早教类的 AR 项目,并且扔给了我一个小册子:大概的功能是:iPad 扫瞄识别右侧的积木屏幕上出现主角按照顺序执行操作最后显示运行结果,闯关是否成功折腾了一段时间,基本做完了上述功能,可以在这里看到演示的效果。整个项目从第一次提交代码,到最后出演示效果,花了两天的时间,看了下 git commit 累
2016-09-18 15:07:03 1501
转载 Auto Layout 设计美学
基础概念Auto Layout 是一种通过约束规定页面组件的依赖关系后自动布局的 UI 编写方式。本质上, Auto Layout 是规定了两个组件属性的线性关系。y = ax + b关于 Auto Layout 的基础知识本文不再赘述,请参考阅读:Auto Layout GuideBeginning Auto Layout Tutorial
2016-09-18 14:52:30 818 2
原创 如何动态调用 C 函数
JSPatch 支持了动态调用 C 函数,无需在编译前桥接每个要调用的 C 函数,只需要在 JS 里调用前声明下这个函数,就可以直接调用:123require('JPEngine').addExtensions(['JPCFunction'])defineCFunction("malloc", "void *, size_t")malloc(10)
2016-09-18 14:38:33 897
转载 iOS 启动连续闪退保护方案
最近看到一些高质量的文章,整理之后,展示如下:引言“如果某个实体表现出以下任何一种特性,它就具备自主性:自我修复、自我保护、自我维护、对目标的自我控制、自我改进。” —— 凯文·凯利 iOS App 有时可能遇到启动必 crash 的绝境:每次打开 App 都闪退,无法正常使用App。为了尝试解决这个问题,微信读书开发了 iOS 连续闪退保护工具:GYBoo
2016-09-18 14:36:38 1793
转载 微信读书排版引擎自动化测试方案
引言在 微信读书 App 中,排版引擎负责解析 EPUB 或 TXT 格式的书籍源文件,将排版后的书籍内容如文字、图像、注解等元素渲染至屏幕上,是最常用、最复杂的组件之一。而开发同学对排版引擎的日常修改,可能影响了海量书籍的排版结果。对排版引擎代码变更的测试,往往耗时多、难度大、容易漏测。本文介绍了为解决测试的难题,如何逐步将人工测试步骤自动化,最终构建了一套微信读书排版引擎自动化测试流程
2016-09-18 14:31:58 1958
转载 Xcode 8新特性和iOS 10开发技术
xcode 8.0的新特性总结如下,供大家参考哦~~3.png2.Xcode 新建项目的细节2.1.在Xcode 创建项目的时候新增了iMessage 信息应用程序 和 sticker 表情包应用程序,并且将开发者账号的管理提到 创建项目参数配置中4.png5.png2.2.在Xcode general 配置中更是有比较大的变化
2016-09-18 09:05:06 1392
原创 从appstore快速安装Xcode 8.0_如何解决xcode8安装慢的问题
1、如何从appstore快速安装Xcode 8.0 ? 2、如何彻底解决xcode8安装慢的问题 ? 很多朋友们在从appstore里面现在安装正式版的Xcode8.0时,总会遇到各种的问题,导致安装失败。其实有一个很简单的方法保证顺利安装:那就是卸载旧的Xcode,然后安装新的Xcode这个方法我使用多年,屡试不爽啊。强烈推荐没有经验的伙伴
2016-09-18 08:30:15 9012 2
翻译 Swift 适配系列<-1->同时兼容 Xcode7 和 Xcode8。
作为一名 iOS 开发者,你一定对 iOS 10 带来的新特性感到无比兴奋,并迫不及待地想要在应用中实践。虽然你想马上就动手以便第一时间就能“上车”。但 iOS 10 正式上线却是几个月以后的事情,在那之前,你不得不保持每几周就为应用发布一个新版本的频率。这个情况听起来是不是跟你现在的处境很像呢?当然,目前你还不能用 Xcode 8 来编译需要发布的应用——因为它无法通过 App Store
2016-09-18 08:19:28 7312
原创 IOS 10 适配系列_4_ 权限Crash问题
之前的系列文章里面有描述过,这里详细解说下。之前写了一个扫描插件,最近调用扫扫描相机,崩了。试试看调用相册,又特么崩了。然后看到控制台输出了以下信息:This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's
2016-09-11 10:02:03 3600
原创 IOS 10 适配系列 _3_ Xcode 8 GM seed
准备工作更新Xcode 8beta在Mac上下载最新的Xcode 8 beta版安装iOS 10 beta描述文件在你要升级的iOS 10的设备上,打开Safari,打开网址https://beta.apple.com/profile下载iOS 10的描述文件。安装完描述文件之后,进入“设置”>“通用”>“软件更新”来安装iOS beta版。iOS 10适配项目转化
2016-09-11 09:55:10 3410
原创 IOS 10 适配系列_2_ IOS10 适配汇总:ATS、隐私数据、UserNotifications、UICollectionView汇总
随着iOS10已经发布,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出.1.系统判断方法失效:在你的项目中,当需要判断系统版本的话,不要使用下面的方法:#define isiOS10 ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]>
2016-09-11 09:52:00 4535
原创 IOS 10 适配系列_1_ iOS10 SDK 新特性
总览距离 iPhone 横空出世已经过去了 9 个年头,iOS 的版本号也跨入了两位数。在我们回顾过去四五年 iOS 系统的发展的时候,不免感叹变化速度之快,迭代周期之短。iOS 7 翻天覆地的全新设计,iOS 8 中 Size Classes 的出现,应用扩展,以及 Cloud Kit 的加入,iOS 9 里的分屏多任务特性等等。Apple 近年都是在 WWDC 发布新的系统和软件,然后
2016-09-11 09:42:01 2399 1
转载 IOS 10 适配 系列_0_ iOS10 UserNotifications 框架解析
iOS 10 中以前杂乱的和通知相关的 API 都被统一了,现在开发者可以使用独立的 UserNotifications.framework 来集中管理和使用 iOS 系统中通知的功能。在此基础上,Apple 还增加了撤回单条通知,更新已展示通知,中途修改通知内容,在通知中展示图片视频,自定义通知 UI 等一系列新功能,非常强大。对于开发者来说,相较于之前版本,iOS 10 提供了一套非常易用
2016-09-11 09:38:52 8187
转载 从贝叶斯方法谈到贝叶斯网络
0 引言 事实上,介绍贝叶斯定理、贝叶斯方法、贝叶斯推断的资料、书籍不少,比如《数理统计学简史》,以及《统计决策论及贝叶斯分析 James O.Berger著》等等,然介绍贝叶斯网络的中文资料则非常少,中文书籍总共也没几本,有的多是英文资料,但初学者一上来就扔给他一堆英文论文,因无基础和语言的障碍而读得异常吃力导致无法继续读下去则是非常可惜的(当然,有了一定的基础后,便可阅读更多的英文资
2016-09-10 00:40:13 1270
翻译 算法-贝叶斯算法
简介学过概率理论的人都知道条件概率的公式:P(AB)=P(A)P(B|A)=P(B)P(A|B);即事件A和事件B同时发生的概率等于在发生A的条件下B发生的概率乘以A的概率。由条件概率公式推导出贝叶斯公式:P(B|A)=P(A|B)P(B)/P(A);即,已知P(A|B),P(A)和P(B)可以计算出P(B|A)。假设B是由相互独立的事件组成的概率空间{B1,b2,...bn}。则P(A)
2016-09-10 00:29:31 1489
转载 App打造自定义的统计SDK
前言谈到移动APP开发的优化方案,开发者第一时间会想到关于GPU渲染和CPU优化问题,而这两大方案确实是优化app的两把尖刀,使APP提升用户量和体验度有较高的推动力。然而我们却会忽视一个比较简单而又难记住的方面,是对用户潜在行为的预估和把控,其实也属于APP业务优化范畴。在无法预估的就是用户的实用操作欲望的情况下,针对已经发出去的版本,我们很难知道用户喜欢什么功能,和想要怎样的功能,包括
2016-09-07 11:23:26 3798 1
原创 __bridge_retained 引起的内存泄漏
最近一个项目上线,检测内存泄漏的时候,又发现一个老生常谈的问题,__bridge_retained引起的内存泄漏。如下:需要用 CFRelease()来进行release。如下:#import @interface KeyChain : NSObject+ (NSMutableDictionary *)getKeychainQuery:(NSStrin
2016-09-02 11:44:43 1648
原创 一步步调试解决iOS内存泄漏
虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode 4.5.21、运行Demo先下载一个实现准备好的内存泄露的D
2016-09-02 11:40:52 2270
原创 UIAlertController:supportedInterfaceOrientations was invoked recursively
在使用UIAlertController *sheet = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:(UIAlertControllerStyleActionSheet)];时候,或者使用UIActionSheet *sheet = [[UIActionSheet alloc] ini
2016-09-01 20:03:02 2994
原创 支付宝之私钥签名公钥验签
RSA公钥加密算法简介非对称加密算法。只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布)。因此可以认为,1024位的RSA密钥基本安全,2048位的密钥极
2016-09-01 14:16:38 11058
原创 UITextField中secureTextEntry的潜在BUG
背景UITextField用的也够多了,这两天改一个“修改密码”的bug,结果发现一旦设置了secureTextEntry之后,会有很多的坑,这里简单总结下:第一天更新:// 说明:以下所有的问题点都是New Password这个UITextField1. keyboard type会改变背景:设置当前New Password的keyboardtype是UIKe
2016-08-30 18:48:29 4482
翻译 iOS App热修复的设计方案及简单实践
iOS App热修复的设计方案及简单实践iOS应用审核时间之长,只叫人不堪忍受;但是更让人捶胸的是,App好不容易上线了,结果发现上线的APP有明显的bug。哎,真他*的cd。于是呼,想加入线上热修复的功能。于是搜索了下网上的现成的设计方案。果然早已经有人想到并实现了,经过选择就用JSPatch了,果断下载并验证。经验证可以,所以热修复的核心问题就解决了。剩下的就是如何在工程中应用起来。初
2016-08-30 18:17:45 544
原创 React Native通信机制详解
React Native是facebook刚开源的框架,可以用javascript直接开发原生APP,先不说这个框架后续是否能得到大众认可,单从源码来说,这个框架源码里有非常多的设计思想和实现方式值得学习,本篇先来看看它最基础的JavaScript-ObjectC通信机制(以下简称JS/OC)。概览React Native用iOS自带的JavaScriptCore作为JS的解析引擎,但并没
2016-08-30 18:10:48 810
转载 XCode 代码补全插件 – JSPatchX 原理解析
JSPatchX 是 JSPatch Xcode 代码自动补全插件,目前在 github 开源,效果见图:做完一个开源项目照例写篇文章说明下实现原理,主要目的是让想对这个项目做贡献改进的人可以通过文章更容易地了解这个项目的由来,思路,核心原理和流程,降低参与这个项目开发的门槛。由来写 JSPatch 脚本一个不爽的地方就是没有代码补全,而调用 OC 方法时方法名又死长,写起来很
2016-08-30 18:08:58 1678
转载 如何动态调用 C 函数
JSPatch 支持了动态调用 C 函数,无需在编译前桥接每个要调用的 C 函数,只需要在 JS 里调用前声明下这个函数,就可以直接调用:require('JPEngine').addExtensions(['JPCFunction'])defineCFunction("malloc", "void *, size_t")malloc(10)我们一步步来看看怎样可以做到动态调用 C
2016-08-30 18:07:03 1981
翻译 iOS 动态更新方案对比:JSPatch vs React Native
JSPatch 是 iOS 平台上的一个开源库,只需接入极小的三个引擎文件,即可以用 JS 调用和替换任意 OC 方法,也就是说可以在 APP 上线后通过下发 JS 脚本,实时修改任意 OC 方法的实现,达到修复 bug 或动态运营的目的。目前 JSPatch 被大规模应用于热修复(hotfix),已有超过2500 个 APP 接入。虽然 JSPatch 目前大部分只用于热修复,但因为 J
2016-08-30 18:03:00 805
原创 JSPatch 近期新特性解析
JSPatch 在社区的推动下不断在优化改善,这篇文章总结下这几个月以来 JSPatch 的一些新特性,以及它们的实现原理。包括脱离锁的 performSelectorInOC 接口,支持可变参数方法调用,给新增方法指定类型的 defineProtocol 接口,支持重写 dealloc 方法,以及两个扩展 JPCleaner 和 JPLoader。performSelectorInOCJ
2016-08-30 17:56:58 1093
转载 基于Nuwa实现Android自动化HotFix
What--什么是HotFixHotFix是针对某一个具体的系统漏洞或安全问题而发布的专门解决该漏洞或安全问题的小程序,通常称为修补程序Why--为什么我们要用HotFix试想这样一个场景:当Android发布App之后,如果突然发现了一个严重bug,而这个bug需要进行紧急修复这时候我们通常的处理流程是:解决bug、重新打包App、测试、向各个应用市场和渠道换包、提示用户升级、用
2016-08-30 17:54:31 433
原创 ios 微信支付开发
微信支付有很多坑的,官方提供的文档一点都不全面,而且demo也比较”羞涩”难懂。很多注意的细节都没有体现出来,走了很多弯路。于是,系统的开发流程如下。(完整的demo附在博客最后面)这里面包括微信支付开发和支付宝开发调用客户端的兼容处理。(两次签名放在移动端,博客中没提到没安装微信客户端的情况,也很简单[WXApi sendReq:request]调用这个方法的返回值为0即可判断。)一、环
2016-08-30 13:59:03 1221
原创 iOS微信第三方登录实现
一、接入微信第三方登录准备工作。移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的移动应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。(注意)1、下载iOS微信SDK。下载地址ziyuan.png
2016-08-30 10:19:51 1438
原创 独立集成QQ和微信分享的回调冲突问题
QQ登录认证后会触发appDelegate 的 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotationQQ分享后,微信登录成功,微信分享成功后均会触发该方法。
2016-08-30 10:15:05 4747
原创 iOS开发集成第三方微信支付和分享问题
前言直入主题有关微信支付问题在这里就不再介绍有关微信支付申请的流程了,小白可以参看微信开放平台和微信服务号也可申请微信支付接口。这里是微信官方给的微信支付接入指南(然而并没有太大用处)1. APP支付1.业务流程:(这个很重要)APP支付时序图这个图需要看懂:为了各种原因,下单、请求支付、结果回调等一般安排公司后台完成大致流程如下:【
2016-08-29 20:17:49 4976 1
原创 避免在类别(category)中定义属性(@property)
property 是包装数据的一种办法.尽管技术上可以实现在category里面声明一个property,但是应该尽量避免这样做.理由是,除了class延续类别外,是不可能用一个category对class添加一个实例变量.因此对于category同样也不可能合成一个实例变量去支持property.我们来切割下本来是实现person的class.你可能需要一个关于友谊的category声明方法,来
2016-08-29 18:08:02 6736
翻译 Kerberos安全体系详解---Kerberos的简单实现
1. Kerberos简介1.1. 功能一个安全认证协议用tickets验证避免本地保存密码和在互联网上传输密码包含一个可信任的第三方使用对称加密客户端与服务器(非KDC)之间能够相互验证Kerberos只提供一种功能——在网络上安全的完成用户的身份验证。它并不提供授权功能或者审计功能。1.2. 概念首次请求,三次通信方
2016-08-29 10:23:07 3726
翻译 让UILabel的文字顶部对齐
默认UILabel是垂直居中对齐的,如果你的UILabel高度有多行,当内容少的时候,会自动垂直居中。如下图所示(图片来自stackoverflow):比较郁闷的是,UILabel并不提供设置其垂直对齐方式的选项。所以如果你想让你的文字顶部对齐,那么就需要自己想办法了。 stackoverflow.com 上提供了几种方法来达到顶部对齐的效果。方法一在显示文字时,首先计算显示当
2016-08-22 13:35:56 4475
原创 从浏览器或者Webview 中唤醒APP
移动互联时代,很多互联网服务都会同时具备网站以及移动客户端,很多人认为APP的能帮助建立更稳固的用户关系,于是经常会接到各种从浏览器、webview中唤醒APP的需求,显然,这对于前端开发人员来说,是一件很纠结的事。唤醒APP目前常见的主动唤醒APP方式有几种:Url schemeUrl scheme是iOS,Android平台都支持,只需要原生APP开发时注册scheme, 那么
2016-08-21 22:02:28 10199 1
原创 h5唤起app
h5唤起app这种需求是常见的。在移动为王的时代,h5在app导流上发挥着重要的作用。目前我们采用的唤起方式是url scheme(iOS,Android平台都支持),只需原生APP开发时注册scheme, 那么用户点击到此类链接时,会自动跳到APP。三种唤起方案iframevar last = Date.now(), doc = window.document,
2016-08-21 22:01:21 23590 9
原创 H5页面如何唤醒app改进篇
看说明分为直接唤醒和点击唤醒。html xmlns=http://www.w3.org/1999/xhtml>head>meta http-equiv=Content-Type content="text/html;charset=utf-8">head>script src="http://libs.baidu.com/jquery/1.9.0/jquery.js">script>t
2016-08-21 22:00:12 6703 2
转载 支付宝H5唤醒APP
html class="normal "> head> meta charset="UTF-8"> title>支付宝title> meta name="apple-mobile-web-app-capable" content="yes"> meta name="apple-mobile-web-app-status-bar-styl
2016-08-21 21:51:06 25029
MachOView.pkg - 修复闪退、没有string文件、增加拖拽功能、其他修复
2019-08-15
React Native 跨平台移动应用开发 原版扫描
2017-12-28
React Native 开发指南_中文扫描完整版
2017-12-28
React Native 入门与实战 中文扫描版.pdf
2017-12-28
Reveal1.5.x-1.6.x
2017-11-04
计算机网络(第5版)谢希仁pdf高清下载完整版
2017-10-13
Swift3.0.1文档_The Swift Programming Language
2017-01-06
The Swift Programming Language
2016-05-26
封装版_小白点_类似于 AssistiveTouch 的漂浮按钮
2016-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人