- 博客(31)
- 资源 (15)
- 收藏
- 关注
原创 UITextField中secureTextEntry的潜在BUG
背景UITextField用的也够多了,这两天改一个“修改密码”的bug,结果发现一旦设置了secureTextEntry之后,会有很多的坑,这里简单总结下:第一天更新:// 说明:以下所有的问题点都是New Password这个UITextField1. keyboard type会改变背景:设置当前New Password的keyboardtype是UIKe
2016-08-30 18:48:29 4487
翻译 iOS App热修复的设计方案及简单实践
iOS App热修复的设计方案及简单实践iOS应用审核时间之长,只叫人不堪忍受;但是更让人捶胸的是,App好不容易上线了,结果发现上线的APP有明显的bug。哎,真他*的cd。于是呼,想加入线上热修复的功能。于是搜索了下网上的现成的设计方案。果然早已经有人想到并实现了,经过选择就用JSPatch了,果断下载并验证。经验证可以,所以热修复的核心问题就解决了。剩下的就是如何在工程中应用起来。初
2016-08-30 18:17:45 545
原创 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 1982
翻译 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 806
原创 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 434
原创 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 4749
原创 iOS开发集成第三方微信支付和分享问题
前言直入主题有关微信支付问题在这里就不再介绍有关微信支付申请的流程了,小白可以参看微信开放平台和微信服务号也可申请微信支付接口。这里是微信官方给的微信支付接入指南(然而并没有太大用处)1. APP支付1.业务流程:(这个很重要)APP支付时序图这个图需要看懂:为了各种原因,下单、请求支付、结果回调等一般安排公司后台完成大致流程如下:【
2016-08-29 20:17:49 4977 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 3728
翻译 让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 10201 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 23592 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 25045
原创 Android在一个APP中通过包名或类名启动另一个APP
开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用。一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动:[java] view plain copy Intent intent = new Intent(Intent.ACTION_MAIN); int
2016-08-21 19:38:47 877
原创 iOS App 唤醒另一个App
iOS App 唤醒另一个App网上也有讲这块的,感觉讲得都不是很好。而且有一些细节根本没有讲清楚。这里重写整理一下相关知识点。主要内容URL Scheme 是什么?项目中关键的配置注意事项URL Scheme 是什么?iOS有个特性就是应用将其自身”绑定”到一个自定义 URL scheme 上,该 scheme用于从浏览器或其他应用中启动本应用。常见的分享
2016-08-21 17:55:23 5578
原创 IPv6 and App Review。app上线IPV6审核不通过
六月以后陆续有一些软件提交市场的时候被拒了,症状基本就是无法登陆啥的。我们公司的应用也未能幸免。很多同学也想了不少办法,申诉、拍视频啥的都有,有人成功有人失败。但是如果苹果不能再自己的测试环境下测试成功,基本就还是要被拒的。先分析一下情况,很多开发者抱怨自己按照苹果给出的方法,在自己电脑上搭了 IPv6 的环境测试了,没有问题,为啥一提交审核就不行了呢?这里就要看一下本机搭的这个 IP
2016-08-20 13:38:25 3793
原创 从安卓的Looper到iOS的RunLoop
从安卓的Looper到iOS的RunLoop-简介一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程能随时处理事件但并不退出,通常的设计大概是这样: do { handle message; }while(!quit);这种模型通常被称作 Event Loop。 E
2016-08-17 13:41:22 721
转载 APP加急审核
申请加急网址:https://developer.apple.com/appstore/contact/appreviewteam/index.html提交加急审核需要理由,一般涉及到银行信息,或者崩溃打不开这种的比较容易通过。反正苹果很苛刻,一般不给处理。如果处理第二天就可以下载最新了,省去了漫漫的等待。一个成功加急审核的借口--
2016-08-16 12:26:28 475
翻译 AppStore上线规则
作者:Fang链接:https://www.zhihu.com/question/20216099/answer/31799782来源:知乎著作权归作者所有,转载请联系作者获得授权。目录 提交应用之前的检查列表 1.安全1.1 不当内容1.2 用户生成的内容1.3 儿童分类1.4 人身伤害1.5 开发者信息2.性能2.1 应用程序的完整性2.
2016-08-14 20:03:01 6218
原创 过滤UILable的特殊文字,重写setText
#import//重写initialize+ (void)initialize{ //获取到UILabel中setText对应的method Method setText =class_getInstanceMethod([UILabel class], @selector(setText:)); Method setTextMySelf =c
2016-08-13 17:54:41 1696
原创 NATAPP 之 测试利器
功能:1,快速Demo演示,快速把本地应用放到公网上,共别人通过外网访问2,微信本地开发调试3,手机APP开发调试 使用方法:首页到官网下载你需要的版本:http://natapp.cn/ 然后解压到指定文件,并在cmd里执行:或者修改run.batngrok -config ngrok.cfg -subdomain myapp 8080myapp
2016-08-11 16:36:36 4866 3
翻译 Hybrid移动应用:用网页技术提供Native体验
移动app可以大致被分为三种,native、hybrid和web app。如果使用native app,你可以使用设备和操作系统的所有能力,同时,平台的性能负荷最小。然而,构建web app可以让你的代码跨平台,使得开发时间和成本大大减少。而hybrid app把这两者的优点都结合起来,使用一套共同代码,在许多不同的平台上部署类似原生的app。有两种构建hybrid app的方法:
2016-08-11 13:50:04 1460
原创 iOS修改生成的APP名称
在创建项目的时候,会设置一个项目名,以后生成的APP名字也就是这个了,但由于某种原因,我想修改APP名字,也就是屏幕程序图标下面显示的那个,这该怎么办呢?下面有三种方法都可以:修改Product Name比如我想把“BugrptSDKDemo” 修改为 “测试” 问题:这里有时遇到了一个问题:下次重新打开这个工程Build的时候,出现以下的错误,提示原来的名
2016-08-09 10:34:10 12305
原创 IOS从相册获取裁剪的照片
晒晒以前的知识,如何获取一个裁剪后的照片picker_library_ = [[UIImagePickerController alloc] init]; picker_library_.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; picker_library_.allowsEditing =
2016-08-02 18:53:56 1723
原创 iOS App图标和启动画面尺寸
iOS App图标和启动画面尺寸注意:iOS所有图标的圆角效果由系统生成,给到的图标本身不能是圆角的。1. 桌面图标 (app icon)for iPhone6 plus(@3x) : 180 x 180for iPhone 6/5s/5/4s/4(@2x) : 120 x 1202. 系统搜索框图标 (Spotlight search results icon)
2016-08-02 13:26:36 3424
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关注的人