![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS开发
文章平均质量分 80
西瓜入归未有时
慈不带兵
义不养财
善不为官
情不立事
仁不从政
业-精于勤而荒于嬉
展开
-
深度解析~iOS应用程序~生命周期
摘要:iOS应用程序一般都是由自己编写的代码和系统框架组成,系统框架提供一些基本infrastructure给App来运行,而开发者则自己编写代码定制App的外观和行为,了解iOS Infrastructure及其如何工作对编写App很有帮助。iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统框架提供一些基本infrastructure给所转载 2015-06-29 15:52:07 · 394 阅读 · 0 评论 -
如何让IOS应用从容地崩溃
虽然大家都不愿意看到程序崩溃,但可能崩溃是每个应用必须面对的现实,既然崩溃已经发生,无法阻挡了,那我们就让它崩也崩得淡定点吧。IOS SDK中提供了一个现成的函数 NSSetUncaughtExceptionHandler 用来做异常处理,但功能非常有限,而引起崩溃的大多数原因如:内存访问错误,重复释放等错误就无能为力了,因为这种错误它抛出的是Signal,所以必须要专门做Signal处理转载 2015-06-29 15:14:32 · 558 阅读 · 0 评论 -
IAP相关资源收集及开发总结,帮助你快速实现IAP功能
先说明一下,在苹果自身对IAP销售管理中,实行三七开的收入分成(黑吧),所以苹果推荐IAP中销售的是虚拟物品。注意,如果时间紧迫的话,第1,2个说明部分是可以跳过的,直接进入到第3个说明,但是注意红字的部分必须已经阅读!1.在开始IAP开发前,先要对IAP有个大概的了解,下面这片文章就是给你预备的: 苹果的官方文档:Store Kit Guide(In App Pur原创 2015-06-29 15:11:11 · 642 阅读 · 0 评论 -
UIScrollView的属性总结
属性 作用CGPoint contentOffSet 监控目前滚动的位置CGSize contentSize原创 2015-06-29 15:29:42 · 377 阅读 · 0 评论 -
一个很有用的iPhone文件处理代码库(低内存XMLParser,低内存下载文件等等,内详)
代码下载:http://github.com/AlanQuatermain/aqtoolkit/tree/master如有需要的请自取,包括:- 写Log- 低内存占用 XML Parser优化- 加密解密文件- NSData+Base64- NSError+CFStreamError- NSObject+Properties- NSString+Prope原创 2015-06-29 15:13:11 · 476 阅读 · 0 评论 -
runtime 运行时机制
在最开始听到runtime的时候,我是感到恐惧的,多么高大上的东西啊!!!后来,开始在网上查一些资料,可是就是只有那么几篇,看了好久,还不知所云,所以就更加恐惧了!!!!后来经过查看documents 以及一些国外大牛的blogs,终于对runtime有了更深刻的了解!于是就想写下这些东西,希望对读者们有帮助……首先,第一个问题, runtime实现的机制是什么,怎么用,一原创 2015-06-29 15:12:03 · 489 阅读 · 0 评论 -
跳出手掌心--如何立即触发UIButton边界事件
最近在使用UIButton的过程中遇到一个问题,我想要获得手指拖动button并离开button边界时的回调,于是监听UIControlEventTouchDragExit事件,如文档所述:1An event where a finger is dragged from within a control to outside its boun转载 2015-06-29 15:10:14 · 748 阅读 · 0 评论 -
App自动化测试工具总结
无线客户端的发展很快,特别针对是android和ios两款无线操作系统的客户端应用,相应的测试工具也应运而生,这里主要给大家介绍一些针对iPhone App的自动化测试工具。 首先,我们把这些测试框架分为三大类:接口测试工具、注入式UI测试工具、录放式UI测试工具。 一、接口测试工具,主要在iphone SDK提供的单元测试框架的基础上,完成代码的接口功能测试。 这类原创 2015-06-29 15:09:13 · 2838 阅读 · 0 评论 -
iOS的查询、过滤(NSPredicate)
原文:http://www.2cto.com/kf/201208/150608.html参考:http://blog.csdn.net/iscape/article/details/7318021参考:http://blog.csdn.net/zhulei1018/article/details/6777220首先举一个例子:匹配9-15个由字母/数字组成的原创 2015-06-29 15:07:43 · 481 阅读 · 0 评论 -
IOS广告移动的类(封装好了,所有页面共用一个广告)
// // BannerViewController.h // #import #import #import #define kUp 1 #define kDown (-1) #define bannerView_h 50 #define kBannerFrameUnderNav CGRectMake(0, -50,转载 2015-07-07 15:41:13 · 739 阅读 · 0 评论 -
常用开源整理
1、开源控件 1)首页: 1.1)首先是下拉刷新数据的 SwipeRefreshLayout 地址:https://github.com/hanks-zyh/SwipeRefreshLayout 1.2)首页轮播的Tab样式,这个网上也是很多例子 PagerSlidingTab 地址:https://github.com/astuetz/Page原创 2015-08-12 11:56:37 · 472 阅读 · 0 评论 -
NavigationViewController 返回到根视图
(一)使用NavigationViewController进行页面跳转时,应该使用pushViewController方法来跳转至下一页面,这样的话,下一页面同样在NavigationViewController容器中。1、跳转到下一页面:PowerViewController *power = [[PowerViewController alloc] init];原创 2015-08-12 12:54:06 · 784 阅读 · 0 评论 -
iOS开发之沙盒机制(SandBox)
iOSAPP可以在自己的沙盒里读写文件,但是,不可以访问其他APP的沙盒。每一个APP都是一个信息孤岛,相互是不可以进行通信的,唯独可以通过URLScheme。沙盒里面的文件可以是照片、声音文件、文本、属性列表等。沙盒机制简介沙盒简述:1,每一个APP都有一个存储空间,就是沙盒。2,APP之间不能相互通信。3,沙盒根目录结构:Documents、Library、temp。简原创 2015-07-21 11:13:05 · 421 阅读 · 0 评论 -
CoreData的使用
一、CoreData的简单使用准备工作创建数据库新建文件,选择CoreData -> DataModel添加实体(表),Add Entity给表中添加属性,点击Attributes下方的‘+’号创建模型文件新建文件,选择CoreData -> NSManaged Object subclass根据提示,选择实体通过代码,关联数据库原创 2015-07-22 17:30:20 · 391 阅读 · 0 评论 -
iOS中几种数据持久化方案:我要永远地记住你!
概论所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案:plist文件(属性列表)preference(偏好设置)NSKeyedArchiver(归档)SQLite 3CoreData沙盒在原创 2015-07-22 17:33:39 · 446 阅读 · 0 评论 -
iOS开发中手势识别
iOS开发中手势识别有六种:轻击手势(TapGestureRecognizer),轻扫手势(SwipeGestureRecognizer),长按手势(LongPressGestureRecognizer),拖动手势(PanGestureRecognizer),捏合手势(PinchGestureRecognizer),旋转手势(RotationGestureRecog原创 2015-07-23 11:39:09 · 257 阅读 · 0 评论 -
如何高效地使用Launcher,如果你还没删的话
如果你不了解Launch Center Pro 这款软件,也不太了解URL Schemes在iOS 设备上的应用的话。这篇文章你可能会看得一头雾水。这篇文章不算是Launcher 的从基础开始的测评,而是我对Luancher使用上的理解。如果你不喜欢看使用情境部分,可以直接跳转到具体功能部分。URL Schemes 不只是“跳”Launcher 在一开始刚出现的时候我不喜欢原创 2015-08-06 16:13:45 · 6082 阅读 · 0 评论 -
【Launcher 教程】从 URL Schemes 入门到用 Launcher 调用各效率软件
如果你刚接触 URL Schemes,请从头开始看,会有收获。如果你对 URL Schemes 有基本了解,但是刚接触 Launcher,可以从基本使用开始看如果你以前用过和买过 Launcher,不知道新版有什么区别,可以从高级功能开始看。如果你对上述内容都有了解,但对 Launcher 的使用思路上有些不清晰,可以从使用思路开始看。URL Schemes 是在 iOS 设备原创 2015-08-06 16:15:11 · 1542 阅读 · 0 评论 -
iOS开源App整理
收集一些社区iPhone客户端源码,都已appstore上线,完整项目。开源中国开源中国社区iPhone客户端。Appstore 下载地址:https://itunes.apple.com/cn/app/kai-yuan-zhong-guo/id524298520Git@OSC源码下载地址: http://git.oschina.net/oschina/ip原创 2015-09-09 15:29:29 · 465 阅读 · 0 评论 -
开源 iOS 项目分类索引大全
mattt大神的发布程序:https://github.com/nomad/shenzhen----------------Mac完整项目----------电台:https://github.com/myoula/sostart----------------iOS完整项目----------------1,豆瓣相册https://github.com/TonnyTa原创 2015-11-03 19:26:57 · 1846 阅读 · 0 评论 -
Objective - C 面向对象高级特性 - 包装类 | 类处理 | 类别 | 扩展 | 协议 | 委托 | 异常处理 | 反射
一. Objective-C 对象简单处理1. 包装类(1) 包装类简介NSValue 和 NSNumber : -- 通用包装类 NSValue : NSValue 包装单个 short, int, long, float, char, id, 指针 等转载 2015-10-08 16:14:53 · 936 阅读 · 0 评论 -
iOS 9:快速让你的APP支持spotlight搜索
iOS9中支持为app中的内容做索引以支持spotlight搜索,感觉是个很有心意的功能。需要提到的是这些索引是存在本地设备中的,不会同步到icoloud中,更换了设备就没有了。效果就是这样:创建支持搜索的内容支持搜索的内容的类是CSSearchableItem。可以展示的属性有标题,一段描述文字,还有缩略图。这里建议给每个item设置一个过期时间(原创 2015-10-09 11:02:25 · 873 阅读 · 0 评论 -
iOS9联系人保存详解
苹果在iOS9的SDK中废除了AddressBookUI.framework的一些功能(是不是这个库都废除了,有待验证),具体和保存联系人相关的几个系统界面如下:联系人选择:AddressBookUI/ABPeoplePickerNavigationController.h联系人详情:AddressBookUI/ABPersonViewController.h未知联系人:Address原创 2015-10-09 11:04:45 · 3545 阅读 · 4 评论 -
iOS 9多任务分屏要点
iOS 9 多任务综述iOS 9 中最引人注目的新特性就是多任务了,在很久以前的越狱开发里就已经出现过类似的插件,而像是 Windows Surface 系列上也已经有分屏多任务的特性,可以让用户同时使用两个或多个 app。iOS 9 中也新加入类似的特性。iOS 9 中的多任务有三种表现形式,临时出现和交互的滑动覆盖 (Slide Over),真正的分屏同时操作两个 app 的分割视图原创 2015-10-09 11:18:29 · 1224 阅读 · 0 评论 -
MobileCoreServices--LSApplicationWorkspace.h
@interface LSApplicationWorkspace : NSObject { } + (id)defaultWorkspace; - (id)URLOverrideForURL:(id)arg1; - (void)_LSClearSchemaCaches; - (bool)_LSPrivateRebuildApplica原创 2015-10-10 12:38:51 · 2385 阅读 · 0 评论 -
iOS Provisioning Profile(Certificate)与Code Signing详解(转)
目录(?)[-]引言写在前面一App IDbundle identifier二设备Device三开发证书Certificates证书的概念数字证书的概念iOS开发证书iOS开发证书的根证书申请证书CSRCertificate Signing Request四供应配置文件Provisioning ProfilesProvisioning Profile的概念Provisi转载 2015-09-22 11:17:05 · 1780 阅读 · 0 评论 -
iOS程序完成后如何生成ipa进行真机测试,签名
1.identifier com.for.ever(自定义,与证书相同)2.build setting -code signing 全选证书3.clean project4.iOS device -build5.生成app6.app-show in finder7.itunes-拖进来(iPad应用程序)-show in fi转载 2015-09-22 11:24:04 · 2186 阅读 · 0 评论 -
ios9:Search API
介绍在WWDC 2015会议上,苹果官方公布了iOS9。除开许多新的特性和增强功能,这次升级也给了开发者们一个机会让他们的app里的内容能通过Spotlight搜索功能被发现和使用。在iOS9中可用的新APIs允许你去索引APP里面的内容或者界面状态,通过Spotlight来让用户使用。 这些新的搜索APIs的三大组件为:NSUserActivity 类, 它是为可被看见的原创 2015-10-09 11:26:05 · 575 阅读 · 0 评论 -
iOS Code Signing: 解惑详解
Iphone开发的代码签名 英文版链接:http://developer.apple.com/iphone/gettingstarted/docs/signingcodeforiphonedev.action 代码签名确保代码的真实以及明确识别代码的来源。在代码运行在一个开发系统以前,以及在代码提交到Apple发布以前,Apple要求所有的的应用程序都必须进转载 2015-09-22 11:20:55 · 438 阅读 · 0 评论 -
ios实现热更新(无需发新版本实现app添加新功能)
目前能够实现热更新的方法,总结起来有以下三种1. 使用FaceBook 的开源框架 reactive native,使用js写原生的ios应用ios app可以在运行时从服务器拉取最新的js文件到本地,然后执行,因为js是一门动态的脚本语言,所以可以在运行时直接读取js文件执行,也因此能够实现ios的热更新 2. 使用lua 脚本。lua脚本如同js 一样,原创 2015-11-18 17:27:34 · 915 阅读 · 0 评论 -
JSPatch库, 一个Apple官方支持的实现在线更新iOS应用的库
JSPatch 可以让你用 JavaScript 书写原生 iOS APP。只需在项目引入极小的引擎,就可以使用 JavaScript 调用任何 Objective-C 的原生接口,获得脚本语言的优势:为项目动态添加模块,或替换项目原生代码动态修复 bug。简介项目主页: https://github.com/bang590/JSPatch示例下载: https://git原创 2015-12-10 11:57:49 · 376 阅读 · 0 评论 -
获取当前安装app列表
转载自:http://www.mamicode.com/info-detail-470456.htmlios 5 6 7 可以通过解析"/private/var/mobile/Library/Caches/com.app.mobile.installation.plist" 文件获取当前安装app的列表了.ios8 请使用下面这个plist文件."/var/mobile/L原创 2015-11-18 17:21:03 · 718 阅读 · 0 评论 -
iOS9企业部署分发问题深入了解与解决
1. iOS9以后,企业级分发ipa包将遭到与Mac上dmg安装包一样的待遇:默认不能安装,也不再出现“信任按钮”解决办法2. iOS9以后,企业分发时可能存在:下载的ipa包与网页两者的 bundle ID 无法匹配而导致下载失败的情况 解决办法※本文主要针对问题二进行问题的深入了解与解决。我们都知道iOS8企业分发有个bug,就是当因为某种原因更改manifest文件(p原创 2015-11-18 18:48:37 · 647 阅读 · 0 评论 -
ALAssetsGroup详解
ALAssetsGroup类是系统用于映射相册资源中的每个相册,可以通过该类获取相册中的资源文件,并且能向相册中添加资源文件 //保存图片到系统默认的相册中,使用cgimageref的形式,并且选择图片以什么旋转方向的形式保存,并返回照片的url地址 /* typedef enum { ALAssetOrientation转载 2015-11-18 18:52:33 · 390 阅读 · 0 评论 -
提高iOS性能的建议和技巧
当我们开发iOS应用时,好的性能对我们的App来说是很重要的。你的用户也希望如此,但是如果你的app表现的反应迟钝或者很慢就会让你得到不好的评论。 然而,由于IOS设备的限制有时很难工作得很正确。我们开发时有很多需要我们记住这些容易忘记的决定对性能的影响。 这是为什么我写这篇文章的原因。这篇文章用备忘录的形式集合了25个技巧和诀窍可以用来提高你的app性能。所以耐心原创 2015-11-18 17:47:47 · 484 阅读 · 0 评论 -
基于JSPatch的iOS应用线上Bug的即时修复方案,附源码.
限于iOS AppStore的审核机制,一些新的功能的添加或者bug的修复,想做些节日专属的活动等,几乎都是不太可能的.从已有的经验来看,也是有了一些比较常用的解决方案.本文先是会简单说明对比大部分方案,然后会注重阐述基于JSPatch的在线更新机制的设计和实现.对于任何一家有一定用户基础的iOS应用来说,在线更新技术所产生的直接和间接价值都将远远超过100W.理解,并掌握它;实在没有时间,就记住转载 2015-12-11 11:19:14 · 713 阅读 · 0 评论 -
Kiwi,BDD行为测试框架–iOS攻城狮进阶必备技能
Kiwi,BDD行为测试框架–iOS攻城狮进阶必备技能http://www.ios122.com/简介Kiwi 是一个适用于iOS开发的行为驱动测试框架,旨在提供一个足够简单易用的BDD库.项目主页: https://github.com/kiwi-bdd/Kiwi示例下载: https://github.com/ios122/ios122使转载 2015-12-11 11:07:39 · 913 阅读 · 0 评论 -
适合iOS的15大网站推荐
iOS开发者若想使技艺达到炉火纯青的地步,就要不断借鉴他人的有益经验,紧跟新兴科技和工具的步伐。除了Apple的开发者中心,其他网站上的文章和资源也具备参考价值,若能学得一二,必能锦上添花。不过,时间宝贵,开发者应具备取精华、去糟粕的眼力,这样才能事半功倍。本文推荐的博客和网站都是经过作者James Tang详细了解的,绝对不容错过。 1. objc.ioobjc.io的文章质量上原创 2015-11-18 16:53:23 · 2537 阅读 · 0 评论 -
iphone SprintBoard部分私有API总结
本文介绍iOS SrpintBoard框架的部分私有API,具体包括:获取ios上当前正在运行的所有App的bundle id(不管当前程序是在前台还是后台都可以)获取ios上当前前台运行的App的bundle id(不管当前程序是在前台还是后台都可以)根据ios app的bundle id得到其App名称、图标(不管当前程序是在前台还是后台都可以)直接通过App 的bundle id来运原创 2015-11-18 17:49:43 · 982 阅读 · 0 评论 -
通过Safari与mobileconfig获取iOS设备UDID(设备唯一标识符)
科普:UDID 是由子母和数字组成的40个字符串的序号,用来区别每一个唯一的iOS设备,包括 iPhones, iPads, 以及 iPod touches随着苹果对程序内获取UDID封杀的越来越严格,私有api已经获取不到UDID,Mac地址等信息,继而出现了使用钥匙串配合uuid等等方法变相实现由于近期项目需求是设备授权的形式使用软件,使用钥匙串等方法不完全能解决问题,因为重置转载 2015-11-18 18:35:36 · 15037 阅读 · 2 评论