野火🔥

野火🔥

生命如野火,骄傲而顽强

在iOS下为他人App开发自动化操作插件,实现挂机操作(1)
在iOS下为他人App开发自动化操作插件,实现挂机操作(1)手机上经常会有一些需要我们重复操作的事情,做这些事情为的仅仅是一些利益结果,而并不关心过程,例如游戏打怪升级的固定关口,微信抢红包,或者一些别的什么商品的抢购流程。这时候如果能够有自动化插件就是最美妙的了。 一般我们可以采用2种方法模拟这些重复操作: 一种是模拟网络请求,因为本质上这些行为最终都会以某一种数据格式和顺序通过网络发送到服务端。例如微信抢红包,在过去的版本就是一个https的网络请求,请求中携带个人信息的token,所以如果我们知道个人的token并知道网络加密方法,我们就很容易完成批量操作; 另一种就是直接造一个机...
iOS数据的磁盘缓存实现
虽然第三方框架AFNetworking SDWebImage都有自己的内存缓存和数据缓存,但有时候app内部有一些数据(json、image等)可能有必要单独缓存进行管理,本文就根据最近的需求设计了一个比较简单磁盘缓存工具。 代码前根据需求进行一些分析设计 缓存管理的全局性,使得该类应由单例管理 因为磁盘缓存,所以有必要在子线程处理,避免卡IO 缓存应该有过期时间管理,有默认值、也可以自定义 能够具备 增、删、查的操作 因为要根据url和params缓存返回的json数据,所以要有对url为key的处理 根据设计,定义h文件的public方法和public的成员变量 @inter...
otto源码解析及探索修改
本人之前在微信做iOS开发时,曾使用微信自己开发的 ExtensionCenter 框架来做事件的订阅和发布,使得代码各个层级完美解耦,当时就希望能将该思想应用于 Android开发领域。在进行现有项目调研的过程中,发现了Android上的开源工程EventBus 和 otto,这两个工程和我想实现的ExtensionCenter思想非常类似,在具体应用上使用了java特有的特性,但也有一些不足。本文将首先针对otto的架构设计和源码进行分析,之后介绍个人融合 微信iOS版中ExtensionCenter思想的修改版otto的框架。 otto源码解析otto是最早完整阅读过源码的开源工程...
自己动手在xcode6下编写dylib动态库文件
WWDC2014上发布的Xcode6在iOS上开放了动态库,可以直接通过xcode6*版本进行构建自己的framework动态库,具体可以参见New Features in Xcode 6至于具体能不能通过Appstore的审核,尚不清楚。 本文着重描述如何生成打包dylib动态库文件,对于生成dynamic framework请参见blog WWDC2014之iOS使用动态库。 XCode默认的动态库打包格式是.framework,我需要打包.dylib格式用于在越狱机器上向其它app动态注入动态库,以完成一些比较好玩的事情,默认的方式显然不能满足要求。 感谢万能的google,让我...
使用iOS UI分析工具reveal和FLEX查看任意app
对于iOS开发,reveal和FLEX应该都不陌生,相比于reveal,FLEX堪称单机版reveal,虽然没有reveal直观,但更加方便,最新版本的FLEX增加了很多网络调试的功能,使得不仅仅应用于UI部分。 在使用上,reveal只需把framework动态库放到工程中,然后在同一wifi下的Mac下查看即可。 FLEX是需要将代码集成到工程中,通过某种启动方式,调出其FLEX-Explore,因此使用来耦合行较高,添加较复杂。 本文将一方面介绍将FLEX也打包成为framework,采用和reveal相同的引入方式进行插件化的添加;另一方面,介绍如何采用reveal和FLEX在越...
使用sublime来写markdown
sublime是一款非常NB的编辑器,同时兼容Mac、linux和Windows,通过插件化可以将其变得非常强大,无所不能。这两天看到身后的domick非常熟练的使用sublime text,感觉非常羡慕,遂学了一点简单的使用,但愿能够长期使用下去。 1、增加包管理工具 package control我在sublime text3下使用网上找的没有成功,遂只贴出来sublime text2的安装方式。 打开控制台『ctrl+`』,然后在console中输入 import urllib2,os;pf='Package Control.sublime-package';i...
【转载】UML类图绘制指南
写在最前(独创)各个平台下画类图、流程图,强烈建议chrome app的gliffy,强大,跨平台、免费,简单。很难想象这么多优点能够集中于一款软件上。 UML类图与类的关系详解(转载)在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。 基本概念类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,...
MAC 设置环境变量path的几种方法
原文 http://www.flakor.cn/2014-09-14-714.html mac 一般使用bash作为默认shell Mac系统的环境变量,加载顺序为: /etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc 当然/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。 后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,才...
在OSX10.10上的Xcode6免证书真机调试图文教程
所需设备:越狱后的iPhone一台,并且安装AppSync插件10.10Yosemete,Xcode6.1,iOS6.1上测试通过,可完美调试无报错 第一步:制作证书1)打开 Finder->应用程序->实用工具 -> 钥匙串访问 2)单击:”钥匙串访问”选择 “证书” 再选择”创建证书”注意:证书名称必须填写为 iPhone Developer(注意大小写),并且勾选”让我覆盖这些默认值” 接下来的步骤一直继续使用默认参数即可. 第二步:修改XCode配置文件注:如遇到文件无法解锁没有权限不能修改,右键复制,然后修改副本文件,修改好更改名字再替换原来的 ...
从开发角度,比较三种iOS图标矢量化方案
1、SVG转Obj-C code2、PDF vector该矢量方案为xcode6的新特性,具体使用方法为 1 将图片保存成.pdf,图片尺寸就使用@1x时的大小2 在Images.xcassets中新建该矢量图Image Set,在“attributes inspector”栏中,将Types设为Vectors,这是,@1x、@2x、@3x的位置变成一个“Universal”3 将.pdf的矢量图拖拽到“Universal”位置4 其它地方即可以直接使用该Image Set,使用方法和其它的PNG文件一样。 该方法优点:1、使用和PNG一致,具有和使用PNG文件相同的读取速度和内存占...
Bill Chai
互联网从业人员