随笔分类 -  iOS学习

作为iOS编程菜鸟,只有不断的学习,才能展翅翱翔
摘要:简单描述一下这个问题:我们项目中使用了Google大神开发的LevelDB键值对数据库,在Xcode6,iOS8的环境下,编译好的.a静态库是可以正常使用的。但是升级后,发现在模拟器上无法link成功,真机上依然可以link成功。再延伸一下LevelDB的介绍:Leveldb是一个google实现的... 阅读全文
posted @ 2015-10-09 17:23 Hey_Chris 阅读(1568) 评论(0) 推荐(0) 编辑
摘要:Xcode是iOS开发主要的工具、IDE。关于Xcode的细枝末节,可以参考苹果的官方文档或者众多的说明。此文档主要涉及常用开发和调试注意事项,参考版本为Xcode 5.1.1。目标设置: 在此,我就不区分Project和Target了,这两方面有很多共同的设置,所以只需要了解需要设置哪些子项就可以... 阅读全文
posted @ 2014-04-29 15:01 Hey_Chris 阅读(824) 评论(0) 推荐(0) 编辑
摘要:iOS证书深究iOS的系列证书很令人头痛,但是也提供了完整的保护。在开发过程中,遇到的基本的证书有Xcode真机调试或者打包用证书,也有消息推送证书等;每种证书分为开发版(development)和发布版(distribute)。除了证书,还有概要配置文件。众多的分类和配置,很容易混淆,接下来详细描... 阅读全文
posted @ 2014-04-28 17:56 Hey_Chris 阅读(269) 评论(0) 推荐(0) 编辑
摘要:终于开始自己这个“聚水成洋”的路程了。经过近一年的iOS学习和开发,遇到很多困难,一开始的陌生和畏惧,中途的困惑和纠结,解决问题后的豁然开朗和总结提升,自己就在这样一个不断的循环中逐渐成长起来了。很难说一个人接下来的路会是怎样,就如自己跌跌撞撞就开始了iOS开发一样,但是,只要坚持和不断总结提升,现在看起来陌生困难的事,也会被我们的倔强磨平坦。为了不让自己迷失,所以我选择不断回头和总结,时刻认清自己的过去和现在的位置,继续走在梦想的道路上。好了,我开始总结第一个知识点了。何为分类。OC语言真的是一门优雅的编程语言,如同自然语言一样,让编程者着迷。那我也希望自己的总结是自然的,而不是代码的堆砌, 阅读全文
posted @ 2014-04-10 14:44 Hey_Chris 阅读(475) 评论(0) 推荐(0) 编辑
摘要:UIWebView 说到iOS的UIWebView,应该会很快回忆起常用委托方法,异步loadRequest、stopLoading、reload方法等。 在此我总结一些容易忽略的属性和方法:1、 判断webView状态,采用属性:@property(nonatomic, readonly, getter=isLoading) BOOL loading2、 判断webView当前是否可以前进或者后退:@property(nonatomic,readonly,getter=canGoBack)BOOLcanGoBack@property(nonatomic,readonly,getter=can 阅读全文
posted @ 2014-03-24 17:44 Hey_Chris 阅读(198) 评论(0) 推荐(0) 编辑
摘要:NSDateFormatter在获取sugarsync网盘的accessToken时候,得到了过期时间。但是这里的过期时间采用的是世界标准时间UTC,而该网盘是国外的,所以在国内显示的时间就不对了,需要转换为当地时间。这就涉及到NSDateFormatter类。经常看到在取时间的时候,往往要通过NSDateFormatter转换一下,因为[NSDate date]得到的时间是世界标准时间(格林尼治时间),与本地时间存在时差。所以需要用如下方式来转换得到本地时间字符串:NSDate* date = [NSDate date];NSDateFormatter* formatter = [[NSDa 阅读全文
posted @ 2014-03-24 17:43 Hey_Chris 阅读(268) 评论(0) 推荐(0) 编辑
摘要:iOS的XML解析刚在应用里支持了SugarSync网盘。其实也是第一次听说这个网盘,不过在国外貌似还蛮有名,这些都不是重点,重点是借此来总结一下iOS的XML解析。Xml想必也不陌生了,但是在iOS中如何解析,还是第一次接触,故总结分享一下。在iOS平台,用于解析xml的框架还是很多的,主要分为SAX和DOM类型。SAX类型的特点是只能读,且基于时间驱动模式,解析速度很快;DOM类型可以写,便于转换信息为xml,但是消耗内存大。这次的项目中只需要解析网络请求得到的xml信息,故采用了iOS自带的NSXMLParserDelegate解析委托。用法也比较直观和便捷。1、在interface中继 阅读全文
posted @ 2014-03-24 17:42 Hey_Chris 阅读(172) 评论(0) 推荐(0) 编辑
摘要:SugarSync APIApp支持SugarSync网盘的前提:1、AccessKeyID:xxx2、Private Access Key:xxx3、AppID:xxx详细的API总结如下:Creating a Refresh TokenHTTP Request ExamplePOST https://api.sugarsync.com/app-authorization HTTP/1.1User-Agent: Jakarta Commons-HttpClient/3.1Host: api.sugarsync.comContent-Length: 364Content-Type: appli 阅读全文
posted @ 2014-03-24 17:40 Hey_Chris 阅读(460) 评论(0) 推荐(0) 编辑
摘要:iOS推送服务细节回顾 之前在做推送功能时候,就总结过一系列证书的制作,OC代码实现和服务器搭建等经验。又过了一段时间了,前前后后对推送服务做了多次的完善和优化,有iOS客户端的,还有本地服务器端的。现在就一些细节再回顾一下,也是对此前总结的补充。一、远程消息推送的注册提示。第一次安装需要注册远程推送服务的App,都会收到设备的征询许可提示。但是以后无论是升级还是卸载后重新安装App,都是不会收到提示的,只能进入隐私设置里面关闭或者打开。想要彻底删除接收通知的设置?那需要卸载App至少一天,iOS会自己清楚用户该App的隐私中通知设置。二、远程消息推送内容格式。这是容易忽略的地方。一般来说,A 阅读全文
posted @ 2014-03-06 16:31 Hey_Chris 阅读(440) 评论(0) 推荐(0) 编辑
摘要:从邮件用自己的应用程序打开关联文件的思路总结(iOS 7)1、 在Info.plist文件中找到Document types键,若不存在,则自己新建2、 找到字典item ,其中包含的键:a) Document Type Name:指定文档类型名称b) CFBundleTypeIconFiles:是一个数组,包含多个图片文件名,用于作为文档图标c) Role:是本应用作为的角色d) Handler rank:表示应用程序是“拥有”还是仅仅“打开”这种类型的文件e) Document Content Type UTIs:是一个数组,包含多个UTI类型的字符串。UTI类型是本文档类型(组)所包含的 阅读全文
posted @ 2014-02-07 17:34 Hey_Chris 阅读(768) 评论(0) 推荐(0) 编辑
摘要:够快网盘支持与iOS-ASIHTTPRequest框架学习 前段时间在公司的产品中支持了够快网盘,用于云盘存储。 在这个过程中,学习到了很多新的知识,也遇到了很多问题,在此记录一下。 首先就够快的API总结一下。 一、请求参数中的签名。第一点是生成字符串,例如”2\n3\n1”,在C#中是不需要加上@前置符号的,这是我一个同事犯过的错误。第二点是签名算法,按照原文提示:将生成的字符利用client_secret作为key进行hmac-sha1加密,然后再进行base64 encode,最后对结果进行rfc3986 URL编码,即:encodeURI(base64_encode(hmac-sha 阅读全文
posted @ 2014-02-07 16:45 Hey_Chris 阅读(572) 评论(0) 推荐(0) 编辑
摘要:Push Notification系列概括:1.Push Notification简介和证书说明及生成配置2.Push Notification的iOS处理代码和Provider详解3.Push Notification的移动客户端定位服务正文:Push Notification的移动客户端定位服务 继上一篇文档后,消息推送功能基本可以实现了。这篇的内容主要是总结一下iOS的定位服务功能,再与消息推送功能结合,满足更丰富的推送体验。 先啰嗦一点定位服务的基础: iOS设备提供了3种不同的途径进行定位:Wi-Fi、蜂窝式移动电话基站和GPS卫星。GPS定位的优点是准确和覆盖面广,但是在建筑物里面 阅读全文
posted @ 2013-12-04 16:49 Hey_Chris 阅读(1152) 评论(0) 推荐(1) 编辑
摘要:Push Notification系列概括:1.Push Notification简介和证书说明及生成配置2.Push Notification的iOS处理代码和Provider详解3.Push Notification的移动客户端定位服务正文:Push Notification的iOS处理代码和Provider详解 这一篇文档主要描述代码实现推送通知,在最后补充一些自己在整个过程中遇到的一些问题,供以后参考,也给其他朋友一个提醒。一、应用程序的处理代码这里就假定已经创建了一个iOS的App,名称就暂设为MyPushNotification吧。。。处理推送通知的代码,主要在AppDelegat 阅读全文
posted @ 2013-12-04 12:35 Hey_Chris 阅读(645) 评论(0) 推荐(0) 编辑
摘要:Notification系列概括:1.Push Notification简介和证书说明及生成配置2.Push Notification的iOS处理代码和Provider详解3.Push Notification的移动客户端定位服务正文:PushNotification简介和证书说明及生成配置一、推送通知,个人理解,指的是苹果公司通过服务器向设备终端推送信息的一种通知服务和功能。整个推送过程涉及的对象和流程如下图(借用了一张广为流传的图):简要说明:(1)对象:整个过程涉及四个对象,Your App(开发的应用),iOS(设备系统),APNS Server(Apple Push Notifica 阅读全文
posted @ 2013-12-03 19:46 Hey_Chris 阅读(1237) 评论(0) 推荐(1) 编辑
摘要:刚才发了两篇几个月前写的文档,觉得太敷衍了,想了想,还是来一发实在的。再者,刚好上周研究了苹果的推送通知服务Push Notification,还是很有心得的,赶紧趁热打铁,记录一下,望与大家谈论下,及时纠正不足之处。由于推送通知涉及的面还比较广,鉴于一篇文章说明太繁琐,于是准备先概括一番,然后分为多篇描述,作为一个系列吧,望包涵。Push Notification系列概括:1.Push Notification简介和证书说明及生成配置2.Push Notification的iOS处理代码和Provider详解3.Push Notification的移动客户端定位服务后续正文,写好以后,会逐一 阅读全文
posted @ 2013-12-03 11:53 Hey_Chris 阅读(459) 评论(0) 推荐(0) 编辑
摘要:继上一篇虚拟机环境下的安装,这篇文档主要描述硬盘和光盘引导安装Mac OS X,并可实现多操作系统。 硬盘安装: 首先介绍下硬盘安装需要用到的软件。Java虚拟机。作为HFSExplorer的运行前提环境。HFSExplorer。这款软件用来剥离dmg、cdr格式的OS X的安装程序的引导层。HD Install Helper。其实就是Leopard硬盘安装助手。用来将HFSExplorer生成的操作系统镜像文件写入自己分配好的硬盘引导区域。MacDrive。该软件可让Windows用户查看苹果的HFS+磁盘的文件。DGFree。也就是DiskGenius。用来查看和管理磁盘的工具... 阅读全文
posted @ 2013-12-03 11:00 Hey_Chris 阅读(3508) 评论(2) 推荐(7) 编辑
摘要:最近一直忙着公司iOS Touch的新版发布,终于忙过了。现在,又开始了新的阶段,不过算是轻松了很多。回来一看,自己的博客空空如也,实在受不了了。于是,开始更一下吧,哈哈。这个文档是我几个月前,开始配置苹果虚拟机时候,记录的资料,现在拿出,一方面是为了开始记录自己的学习和开发心得,另一方面也给刚开始学习iOS开发的朋友提供一点参考,如有不足,望指正^_^图片是从我的空间链接的,如果无法看到,请链接到这里:http://user.qzone.qq.com/370381830/2正文:一周以来,我都在摸索Mac OS X操作系统在非苹果机上的安装,由于是公司的组装机,存在与苹果操作系统的兼容性问题 阅读全文
posted @ 2013-12-03 10:43 Hey_Chris 阅读(2460) 评论(5) 推荐(1) 编辑