ios
eqera
6年软件开发经验,4年项目管理经验,2年移动开发经验,6年不算长也不算短,我的青春就这样给了中国的软件行业。
展开
-
WWDC 2012 Session笔记——AutoLayout(自动布局)入门
AutoLayout是什么?使用一句Apple的官方定义的话AutoLayout是一种基于约束的,描述性的布局系统。Auto Layout Is a Constraint-Based, Descriptive Layout System.关键词:基于约束 - 和以往定义frame的位置和尺寸不同,AutoLayout的位置确定是以所谓相对位置的约束来定义的,比如转载 2012-11-01 16:01:04 · 2501 阅读 · 0 评论 -
Objective-C中的Block
技术是需要沉淀的。接触iOS开发也有大半年时间了,从一开始的纯白到现在自我感觉略懂一点,其实进步是明显的。无数牛人表示技术博是完成菜鸟到高手蜕变的途径之一,虽然这个博客并非是为技术而生,但是也许作为工科背景下的我来说,每天都写文艺的东西显然并不现实。于是就有了这个集子:能工巧匠集。用这篇开篇,写一些在开发过程中的积累和感悟,大部分应该是Objectiv-C和XCode的内容,包括基本语法特转载 2012-11-01 16:07:41 · 6150 阅读 · 0 评论 -
iOS平台的应用程序调试与分析
本文阐述如何在iOS平台上对应用程序进行调试与分析,旨在指导新手分析iOS程序,高手请无视。内容包括软件硬件的准备、代码的解密、符号信息的获取、用gdb调试等,最后以京东LeBook为例子进行演示。1.为什么要进行调试与分析研究iOS程序有很多用处,比如:找bug或者漏洞,想知道某程序有没有漏洞或者bug。某程序能实现某功能,我想知道如何实现,如ios6发短信功能,还有比较时髦的i转载 2014-02-04 23:38:53 · 2500 阅读 · 0 评论 -
IDA + GDBServer实现iPhone程序远程调试
在早期的IDA中包含了一个iphoneserver的程序,这个程序就是配合IDA实现远程调试的。但是在最新版的IDA中这个东西已经不复存在了,因而下载的破解版的IDA中没有那个文件并不是被删除掉了,而是本来就没有,*^_^*。所以一直以来调试iPhone上的二进制程序只能悲催的使用ssh+gdb进行调试,虽然调试器的功能还算可以,但是每次调试都需要设置显示,只能使用命令进行控制,因而用起来还是不是转载 2014-02-05 00:26:26 · 7399 阅读 · 0 评论 -
从零开始学习OpenGL ES之三 – 透视
现在你已经知道OpenGL是怎样绘图的了,让我们回头谈谈一个很重要的概念:OpenGL视口(viewport)。 许多人对3D编程还很陌生,那些使用过像Maya, Blender, 或 Lightwave之类3D图形程序的人都试图在OpenGL虚拟世界中找到“摄像机”。但OpenGL并不存在这样的东西。它所有的是在3D空间中定义可见的物体。虚拟世界是没有边界的,但计算机不可能处理无限的空间,所以O转载 2014-02-05 13:02:16 · 1807 阅读 · 0 评论 -
从零开始学习OpenGL ES之二 – 简单绘图概述
还有许多理论知识需要讨论,但与其花许多时间在复杂的数学公式或难以理解的概念上,还不如让我们开始熟悉OpenGL ES的基本绘图功能。请下载OpenGL Xcode项目模板。我们使用此模板而不是Apple提供的模板。你可以解压到下面目录来安装它:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project转载 2014-02-05 12:52:56 · 4341 阅读 · 1 评论 -
iOS5下手工解密应用软件
按以往资料解密iOS5应用软件会遇到两个问题:nm出来的符号里,没有start了,因此不知道在哪里下断点,即便下到常规的0×2000处,也会断不下来;找到合适的断点后,gdb只要run就出现奇怪的错误,还是断不下来。下面以Douban.fm.ipa的解密为例,解决这两个问题,为了保持完整性,从头开始说明步骤。注意有的指令在Mac上运行,也有的指令在iOS上运行,根据命令提示转载 2014-02-04 23:42:27 · 1090 阅读 · 0 评论 -
从零开始学习OpenGL ES之一 – 基本概念
我曾写过一些文章介绍iPhone OpenGL ES编程,但大部分针对的是已经至少懂得一些3D编程知识的人。作为起点,请下载我的点击打开链接 OpenGL Xcode项目模板,而不要使用Apple提供的模板。你可以解压到下面位置安装此模板:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templ转载 2014-02-05 12:47:07 · 2864 阅读 · 0 评论 -
ARC基础
IOS5 中最具颠覆性的变化当属自动引用计数(Automatic Reference Counting)的引入,缩写为 ARC。ARC 是新的 LLVM 3.0 编译器具备的特性之一,这项技术完全摒弃了让所有 IOS 开发者由爱生恨的手动内存管理。在你的工程中使用 ARC非常简单。你还像往常一样编程,只是不再调用 retain,release 和 autorelease 了。这基本上就是 AR转载 2014-02-17 14:58:21 · 1227 阅读 · 0 评论 -
block使用小结、在arc中使用block、如何防止循环引用
引言使用block已经有一段时间了,感觉自己了解的还行,但是几天前看到CocoaChina上一个关于block的小测试主题 : 【小测试】你真的知道blocks在Objective-C中是怎么工作的吗?,发现竟然做错了几道, 才知道自己想当然的理解是错误的,所以抽时间学习了下,并且通过一些测试代码进行测试,产生这篇博客。Block简介(copy一段)Block作为C语言转载 2014-02-17 15:16:25 · 4132 阅读 · 0 评论 -
xcode 生成 framework
1、首先新建两个项目,分别为FrameworkHome 和 FrameworkDemo,其中FrameworkHome为framework制作项目,FrameworkDemo为framework测试项目。(1)建立FrameworkHome(选择静态库模版)a、选择工程模版b、清理工程无用文件( Target 、 FrameworkHome、 FrameworkHom转载 2014-03-20 17:16:20 · 8365 阅读 · 0 评论 -
xcode 常见编译参数
-ObjC 一般分类需要使用该编译参数才可以识别-all_load 如果分类在静态库中那么就需要该参数-force_load 类库名 由于引用多个静态哭 可能会应为重名问题发生错误,这个时候如果使用-all_load就不是用了,可以使用-force_load有选择的加载$ xcodebuild -project myProj.xcodeproj -原创 2014-03-20 17:48:35 · 2994 阅读 · 0 评论 -
cocospod 安装和使用
一 ruby 安装 要安装转载 2014-09-16 08:41:37 · 49658 阅读 · 0 评论 -
WWDC 2012 Session笔记——219 Advanced Collection Views and Building Custom Layouts
UICollectionViewLayoutAttributesUICollectionViewLayoutAttributes是一个非常重要的类,先来看看property列表:@property (nonatomic) CGRect frame@property (nonatomic) CGPoint center@property (nonatomic) CGSize size转载 2012-11-01 16:23:07 · 4315 阅读 · 0 评论 -
iOS6新特征:UICollectionView介绍
1.1. Collection View全家福:UICollectionView, UITableView, NSCollectionViewn 不直接等效于NSCollectionViewn 也不替代UITableView----亲兄弟 为什么要使用Collection Views呢?n 可以高度定制内容的展现n 管理数据最佳的做法n 即使是处理转载 2012-11-01 07:51:02 · 160259 阅读 · 16 评论 -
WWDC 2012 Session笔记——205 Introducing Collection Views
什么是UICollectionViewUICollectionView是一种新的数据展示方式,简单来说可以把他理解成多列的UITableView(请一定注意这是UICollectionView的最最简单的形式)。如果你用过iBooks的话,可能你还对书架布局有一定印象:一个虚拟书架上放着你下载和购买的各类图书,整齐排列。其实这就是一个UICollectionView的表现形式,或者iPad的i转载 2012-11-01 16:38:41 · 2607 阅读 · 0 评论 -
WWDC 2012 Session笔记——405 Modern Objective-C
方法顺序 如果有以下代码:01 @interface SongPlayer : NSObject02 - (void)playSong:(Song *)song;03 @end04 05 @implementation SongPlayer06 - (void)playSong:(Song *)song {07 NSError *error;0转载 2012-11-01 15:51:48 · 1330 阅读 · 0 评论 -
iOS6新特征:PassKit编程指南
第一章 介绍 1.1.关于Pass Kit Pass(通行证)是用数字化表示的信息,这些信息可能需要被打印在小纸片或者塑料上。在现实世界中,pass让用户像使用登机牌、会员卡、优惠卷一样的方式在使用。pass库包含了用户的通行证。用户可以使用Passbook应用程序来浏览和管理他们的通行证。 【注:便于理解,下面红色部分是译者根据下图表达的意思,增加进去的】从下图,我们可以转载 2012-11-01 15:25:29 · 7820 阅读 · 0 评论 -
iOS6新特征:UICollectionView高级使用示例之CircleLayout
DEMO下面再看看Demo运行的效果图,通过这样的一个Demo,我们可以看出,使用UICollectionView可以很方便的制作出照片浏览等应用。并且需要开发者写的代码也不多。程序刚刚启动时,已经默认加载了20个cell当点击程序的非cell位置,程序会自动的添加图片到UICollectionView中当点击UICollec转载 2012-11-01 08:02:39 · 32044 阅读 · 6 评论 -
iOS 6 Auto Layout NSLayoutConstraint 界面布局
终于ios 6推出了正式版本,同时也随之iphone5的面试,对于ios开发者来说,也许会感觉到一些苦恼。那就是原本开发的程序,需要大量的修改了。为了适应最新的iphone5的屏幕。在WWDC2012里苹果推出了,Auto Layout的概念。我们可以通过Auto Layout来适应屏幕的改变。比如我们要做一个如下的界面。如果按照以前的frame的方式的话,大概代码如下转载 2012-11-01 16:44:47 · 36728 阅读 · 2 评论 -
iOS6新特征:地图MapKit与MKMapItem简介
MapKitiOS6抛弃了一直用的google map,而使用了自家的地图服务。相应地,MapKit框架也自然变成和Apple自家的地图服务绑定了。随之而来的好处是因为都是自家的内容,所以整合和开放会更进一步,第三方app现在有机会和地图应用进行交互了。也就是说,不使用自身搭载地图信息的app现在可以打开地图应用,并且显示一些感兴趣的路线和地点,这对于路线规划和记录类的应用来说这是个好转载 2012-11-01 15:41:34 · 7725 阅读 · 0 评论 -
iOS6新特征:UIActivityViewController使用示例
DEMO1、运行示例程序,会看到如下画面2、点击测试按钮,会看到如下画面,以模态的方式,展现出指定的服务。可以看到,mail图标没有,这是模拟器的一个bug。其中我们可以看到有Twitter,Facebook,新浪微博等服务。这里显示的内容会根据你指定的对象来进行限定。3、我们点击新浪微博,会看到如下画面,这个画面调用了SLCompose转载 2012-11-01 08:44:29 · 12607 阅读 · 0 评论 -
iOS6新特征:UIActivityViewController类参考
1.1.UIActivityViewController 类参考继承自UIViewController : UIResponder : NSObject符合NSCoding (UIViewController)UIAppearanceContainer (UIViewController)NSObject (NSObject)转载 2012-11-01 08:35:09 · 5481 阅读 · 0 评论 -
iOS6新特征:Social Framework 参考之SLRequest
1.1.SLComposeViewController 类参考说明:关于 SLComposeViewController 的详细使用说明,请参考下面的链接iOS6新特征:Social Framework 参考之SLComposeViewControlleriOS6新特征:SLComposeViewController[新浪微博]使用示例 1.2. SLRequest类参考转载 2012-11-01 08:30:48 · 3532 阅读 · 0 评论 -
iOS6新特征:SLComposeViewController [新浪微博] 使用示例
下图中可以输入文字,url,图片(注,这里图片只给出了一个路径,在实际app中,图片来源可能是图片拾取器或者照相机)当点击发送至新浪微博按钮时,会看到下面的画面效果下面大致介绍一下SLComposeViewController的使用1、使用范围目前只能以模态的方式显示2、如何使用 a)添加Social.fra转载 2012-11-01 08:26:42 · 11955 阅读 · 0 评论 -
iOS6新特征:Social Framework 参考之SLComposeViewController
1.1.SLComposeViewController 类参考继承自UIViewController : UIResponder : NSObject符合NSCoding (UIViewController)UIAppearanceContainer (UIViewController)NSObject (NSObject)转载 2012-11-01 08:07:34 · 5475 阅读 · 0 评论 -
iOS6新特征:UIRefreshControl[下拉刷新]使用示例
下面大致介绍一下UIRefreshControl的使用1、使用范围如果你装了xcode_4.5_developer_preview,那么在UITableViewController.h文件中你会看到,UITableViewController里面有如下声明,说明UITableViewController已经内置了UIRefreshControl控件1 @property转载 2012-11-01 02:18:33 · 12777 阅读 · 1 评论 -
IOS6新特征
1、地图 iOS6抛弃了一直用的google map,而使用了自家的地图服务。相应地,MapKit框架也自然变成和Apple自家的地图服务绑定了。随之而来的好处是因为都是自家的内容,所以整合和开放会更进一步,第三方app现在有机会和地图应用进行交互了。也就是说,不使用自身搭载地图信息的app现在可以打开地图应用,并且显示一些感兴趣的路线和地点,这对于路线规划和记录类的应用来说这是个好消息转载 2012-11-01 02:08:04 · 1998 阅读 · 0 评论 -
在 Xcode 7 中安装 Alcatraz
安装Xcode7后,继续采用官方方法安装Alcatraz,发现不成功。单独安装XVim也不成功。看了一下Alcatraz的issues,找到了解决方法,记录如下,希望能帮助到需要的人。第一步:关闭 Xcode。第二步:如果你之前安装过Alcatraz,卸载它。运行命令: rm -rf ~/Library/Application\ Support/Developer/Shared/Xco转载 2016-05-05 06:10:50 · 618 阅读 · 0 评论