ios之一些流程

遵守苹果的规则一直是ios开发的常识。苹果的流程有时还是挺让人不可捉摸的,总会出现些莫名其妙的问题。

开发者账号流程(个人,公司,企业):个人账号升级公司账号的流程。
公司开发者账号申请

APP发布上架流程:
个人发布流程
企业发布流程

APP推送流程:
推送配置指南

APP内购流程:
苹果应用内购实现流程
内购常见问题解答
转1
转2
转3

最近在写内购流程,就把操作过的流程临时找了下。这些也都是百度的结果。关键词搜索的重要性。然后就是在熟悉的那几个技术论坛网站进行对比尝试。
当然也需要在github上下载demo对代码的优化。

ios之导航栏显隐手势

苹果返回手势的操作是提升体验的重要一步

FDFullscreenPopGesture 无需添加额外代码就可以实现所有界面的返回手势

系统导航栏手势返回后就涉及到透明度问题 WRNavigationBar

ios某些系统(如9.0会出现妖孽的position位置偏移)

建议:
1、设置CGRectZero从导航栏下开始计算
self.edgesForExtendedLayout = UIRectEdgeNone;
2、自定义导航栏(隐藏系统导航栏)

iPhoneX 导航的高度有所变化 安全区域的边缘距离

ios之抓取手机APP数据

最近一直在翻稀土掘金的老黄历,错过了很多技术文章。

最近接到外包任务,需要模仿一些app,就尝试着抓取相应类的APP数据。

推荐一篇文章十分钟学会Charles抓包(iOS的http/https请求)
步骤就是按照这个完成的,没什么难度。
1、安装Charles
2、设置手机http代理,IP地址和电脑同步 端口:8888
3、安装SSL证书 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device 打开手机浏览器chls.pro/ssl

亲测要(1)设置好手机HTTP代理 (2)电脑上Charles要开着

注意:iOS 10.3系统,需要在 设置→通用→关于本机→证书信任设置 里面启用完全信任Charles证书

4、浏览手机APP开始抓取数据

抓取数据 可以发现很多APP数据上的处理除了HTTPS加密一层,还会有个ID随机标示符进行加密处理,每一次的请求这个唯一参数是不同的。

在线解密

抓取了几个APP后,无奈的举措是得到的数据json串放到本地进行处理。

有个难点是获取到的web网址会带有相应APP的标示,需要我们通过webView与JavaScript 对相应的标签类型进行隐藏。

ios之runtime的认识

http://www.imlifengfeng.com/ 没事多看看博客,常回味基础的概念。

Objc Runtime其实是一个Runtime库,它基本上是用C和汇编写的,这个库使得C语言有了面向对象的能力。

Objective-C 封装:隐藏属性方法、继承:点语法、多态:动态类型、动态加载、动态绑定

动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。

指针 和 数据结构(struct)
SEL方法选择器 id参数指针 Class类 Method方法 Ivar变量
IMP函数指针 Cache为方法调用的性能进行优化 Property属性

消息传递 在方法的运行时实现被调用后才会返回数据。

关键字 self -> receiver

APP生命周期
打开程序 -> 入口:main函数 -> UIApplicationMain -> 创建app对象,设置代理 -> 开启主线程RunLoop(事件循环) -> 结束程序

UIApplicationDelegate 可以处理的事件包括应用程序的生命周期事件(比如程序启动和关闭)、系统事件(比如来电、记事项警 告)

每条线程都有唯一的一个与之对应的RunLoop对象
CFRunLoopModeRef 保证界面滑动时不受其他Mode影响

界面刷新并不一定是在setNeedsLayout相关的代码执行后立刻进行的

在loadView之前,是没有view的(容器)-> viewDidLoad

android studio 初步学习

在学习react-native时虽然搭建了android studio环境,但是对于安卓开发的认知少之又少。最近转而学习一下,在gank上android的干货更多一些。iOS与Android的功能设计效果是相互促进的,web应用的语言特性也是在不断影响交错。

基于react-native搭建的android studio
android studio官网

环境初步搭建后,从github上寻到一些demo资源,运行起来,当然新建空项目运行也是必要的。 android studio会友好的提示运行结果,并会给予便利的插件工具修复提示。更多的针对版本兼容。多多尝试使项目跑起来,可以更加完善编辑器的内容。

Android资源大全 android开发者文档

根据开发者文档对语言和编辑器环境的熟悉。跟随着搭建简单的界面。
类对比ios的认识。应用的生命周期。

Android开发的经典入门教材和学习路线?
这篇文章推荐的内容值得我们去深入参考。

android-open-project

通过brew安装gradle 学习android要着重认识一下gradle! 打包和链接第三方库

打包apk测试 Perfect

AndroidManifest.xml 主函数 权限配置 多渠道配置
Activity.java 活动界面 对应一个layout.xml
Adapter.java 类VM 绑定数据
Intent 数据传递
build.gradle 第三方库 签名