iOS实战
文章平均质量分 76
Shicuf
兵贵神速!
展开
-
iOS之loadView/viewDidLoad/initWithNibName/awakeFromNib/initWithCoder的使用
每个ios开发者对loadView和viewDidLoad肯定都很熟悉,虽然这两个函数使用上真的是非常简单,但是和类似的initWithNibName/awakeFromNib/initWithCoder放在一起还是非常容易让人混淆的. 大前提是UIViewController有一个UIView.同时,需要理清两个概念,一、实例化一个类.二、创建一个类。在XCo原创 2015-01-25 21:05:57 · 358 阅读 · 0 评论 -
iOS 之从影片中获取每一帧图片
1. iphone ios取出视频的每一帧图片 [mImageGenerator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:CMTimeMakeWithSeconds(time, NSEC_PER_SEC)]] completionH转载 2014-12-24 13:55:10 · 3416 阅读 · 0 评论 -
iOS 之HTTP状态
在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于404状态页面设置不正常,导致了google管理员工具无法验证的情况,当然,影响的不仅仅是这一方面,影响的更是网站的整体浏览效果。因此,比较清楚详细的了解http状态码的具体含义,对于一个网站站长来说转载 2014-12-24 13:57:39 · 258 阅读 · 0 评论 -
CornerStone破解
CornerStone是个人非常喜欢的mac上的一款SVN客户端工具,官方提供了14天的免费试用(trail)版本。我们可以在此基础上提供无限期试用版本。方法一:如果你从来没有安装过这个trail版本,直接把当前系统时间改成未来的某个时间,比如2020年,然后安装,运行一次。之后退出程序,将系统时间还原。恭喜你,你已经破解完成了。方法二:如果你不幸已经安装并运行过软件,那就需要找到转载 2014-12-24 14:01:49 · 298 阅读 · 0 评论 -
iOS 之获取地图经纬度
//不太精确-(void)getPositionLatitudeAndLongitude:(NSString*)addr{// NSString*address = @"tokyo"; NSString*address = @"beijing"; //查詢經緯度 NSString*output = @"csv转载 2014-12-24 11:19:31 · 353 阅读 · 0 评论 -
iOS 之播放音频
在 iPhone 应用或者是游戏的开发过程中,对声音的支持是必不可少的。在我做过的几个应用中,每个都涉及到音效,所以在这里做个简单的归纳,很多都是引用自《iPhone Application Programming Guide》(需要有 Apple ID 才能打开链接),加了一些实际使用的经验。iPhone OS 主要提供以下了几种播放音频的方法:System Sound Services转载 2014-12-24 11:37:43 · 306 阅读 · 0 评论 -
iOS 之播放系统音效、自定义音效
需求大致分为三种:1.震动2.系统音效(无需提供音频文件)3.自定义音效(需提供音频文件) #import #import @interface WQPlaySound : NSObject { SystemSoundID soundID; } -(id)initFor转载 2014-12-24 11:43:17 · 352 阅读 · 0 评论 -
iOS 之消息推送原理和实现
一、消息推送原理:在实现消息推送之前先提及几个于推送相关概念,如下图:1、 Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]);2、 APNS:Apple Push Notification Service[苹果消息推送服务器];3、 iPhone:用来接收APN转载 2014-12-24 13:02:37 · 282 阅读 · 0 评论 -
iOS 之ASIHTTPRequest官方文档
1.创建并运行一个请求1.1 创建一个同步请求创建一个同步请求是使用ASIHTTPRequest的最简单的方式。发送消息startSynchronous会在同一个线程中执行这个请求,并且当请求结束的时候会返回控制权(成功或者其它的情况)。通过error属性检查问题。调用方法responseString从返回结果中获取字符串,不要使用这个方法获取二进制数据,使用方法r转载 2014-12-24 13:27:56 · 254 阅读 · 0 评论 -
iOS 之MKNetWorkKit使用
常用框架比如:AFNetworking,ASIHttpRequest,SDWebImage,MKNetWorkKit等。iOS5已出来这么久了,而ASIHttpRequest的作者已经申明不更新了,在iOS5环境下,其实还是有些问题的。现在MKNetWorkKi吸取了ASIHttpRequest与AFNetWorking的优点,并加入了自己特有的功能。下载:gitH转载 2014-12-24 13:50:05 · 381 阅读 · 0 评论 -
iOS 之开发中的几个小技巧
1、Xcode调试技巧—在系统抛出异常处设置断点有时候我们的程序不知道跑到哪个地方就 crash 了,而 crash 又很难重现。保守的做法是在系统抛出异常之前设置断点,具体来说是在 objc_exception_throw处设置断点。设置步骤为:首先在 XCode 按 CMD + 6,进入断点管理窗口;然后点击右下方的 +,增加新的 Symbolic Breakpoint。在转载 2014-12-24 11:10:59 · 388 阅读 · 0 评论 -
iOS 开发之常用框架
iPhoneOS(现在叫iOS)是iPhone, iPod touch 和 iPad 设备的操作系统. 1,CoreOS: 是用FreeBSD和Mach所改写的Darwin,是开源、符合POSIX标准的一个Unix核心。这一层包含或者说是提供了整个iPhone OS的一些基础功能,比如:硬件驱动,内存管理,程序管理,线程管理(POSIX),文件系统,网络(BSDS原创 2015-02-06 23:15:29 · 533 阅读 · 0 评论 -
iOS 之AutoReleasePool陷阱
一、项目需求在实际项目中,用户在上传图片时,有时会一次性上传大量的图片。在上传图片前,我们要进行一系列操作,比如:旋转图片为正确方向,压缩图片等,这些操作需要将图片加载到内存中,下面对内存的使用做详细分析.二、内存分析,非优化我在测试项目中,重复加载了一张图片1000次,首先加载图片到内存,然后进行压缩操作,释放内存 [cpp] view原创 2015-02-09 20:22:05 · 454 阅读 · 0 评论 -
iOS 之通过反射机制获得变量名
一、使用介绍 项目有的时候,会遇到一些特殊的处理,想要根据一个实例的引用,获取这个实例在代码中的名称。比如在处理View的坐标的时候,我们将UIView的坐标信息配置到plist文件中,我们可以设置一个key,再通过这个key来获取配置文件中的坐标等信息。有没有更简单的方法呢,或者我只想简单的用实例变量的变量名做为key。下面就介绍一种简单的,根据实例变量的引用获取实例变原创 2015-02-09 20:27:57 · 594 阅读 · 0 评论 -
iOS 之UITapGestureRecognizer活学活用
一、从零开始创建项目1.为了大家方便理解,我们从一个空项目开始创建2.项目的配置情况如下,可以根据自己随意调整3. 因为我们创建的是新项目,除了一个ILAppDelegate什么都没有4.正常情况下我们会创建一个根RootViewController,然后通过Controller控制视图的显示逻辑,这里只是一个练习,我们尝试一下新原创 2015-02-09 20:30:26 · 639 阅读 · 0 评论 -
iOS 之公共wifi解决方案
一、公共WIFI综述现在很多公司都在做免费WIFI,车站、公交、地铁、餐厅,只要是人员密集流动的地方就有WIFI,免费WIFI从最初的网页认证方式也逐渐向客户端认证方式偏移。本文主要讨论IOS认证上网的解决方案。 IOS端WIFI应用的相关开发,主要存在以下问题1.IOS系统WIFI相关的接口很少,大部分接口都是私有接口2.在设备连接上WIFI,没有通过路由器认证前,如果关闭IO原创 2015-02-09 20:14:32 · 627 阅读 · 0 评论 -
iOS 之MKNetWorkKit简介
ASIHTTPRequest (作者:BenCopsey) 是一个使用简单,可用于各种从简单到复杂的 HTTP 请求,或者可用于处理 Amazon S3、Rackspace 等REST 服务的强大框架。不幸的是,Ben 早在 2011 年 9 月 21 日就已经声明停止开发和支持该框架(见http://allseeing-i.com/%5Brequest_release%5D; )。转载 2014-12-24 13:48:54 · 284 阅读 · 0 评论 -
iOS 之视频压缩
最近在做视频上传的时候遇到了个问题,就是当上传自己录制的视频的时候尺寸过大,尤其是录制720p视频的时候尺寸更是不可想象,但是从iPad Library或者相册里面选择视频的时候系统会做一个压缩,不知道这是什么方式压缩的 ,求助论坛之后果。后来发现其实IOS里面是提供了几个API可以压缩视频的(准确的说应该是reEncode)。这几个API在AVFoundation里面。写出来希望能给遇到相同转载 2014-12-24 13:32:26 · 919 阅读 · 0 评论 -
iOS 之视频拍摄和压缩
最近在学习使用iOS自带的API进行视频压缩,所以就从视频拍摄开始学起,因为曾经想直接对已有视频进行压缩,无奈总是失败,经研究发现不可以直接调用PC中的视频文件进行压缩,否则直接AVAssetExportSessionStatusFailed。所以只可以用真机测试并调用不iPhone中的视频。废话不多说,上代码:使用UIImagePickerController即可完成视频的拍摄,并存入自转载 2014-12-24 13:30:28 · 373 阅读 · 0 评论 -
iOS端极光推送遇到的问题
前段时间提了一个推送的需求,经过调研,选择了激光推送JPush。JPush有什么优势?全面的 Push 能力,随时到达你的用户客户端 SDK 资源占用少,流量占用少经过考验的大规模用户 Push 平台简单易用的 Portal,可以用来发送通知,统计分析推送效果 在集成后发现了一个问题,后台出现一大堆错误提醒,基本上都是“别名未注册“,这问题对于初级用户来说可能会经原创 2014-12-20 14:05:38 · 1850 阅读 · 0 评论 -
iOS 开发之音频视频后台播放
当应用程序挂起,而不是彻底退出时,此应用程序的所有有效性将被暂停,这时候如果需要播放音频或者是视频,就需要激活播放“单例程”,以确保播放模块不会被挂起。让音频或者是视频继续在后台播放,而不因为程序的挂起而终止。只需要在程序中的相应位置加如下代码:NSError *myErr; BOOL bAudioInputAvailable = FALSE; AVAu转载 2014-12-24 00:19:21 · 2650 阅读 · 1 评论 -
iOS 之电影播放器
PMoviePlayerController 与AVAudioPlayer有点类似,前者播放视频,后者播放音频,不过也有很大不同,MPMoviePlayerController 可以直接通过远程URL初始化,而AVAudioPlayer则不可以。不过大体上用起来感觉差不多。废话少说进入体验。格式支持:MOV、MP4、M4V、与3GP等格式,还支持多种音频格式。首先你得引入 MediaPla转载 2014-12-24 11:44:31 · 1047 阅读 · 0 评论 -
iOS 之GPS
1 iOS定位服务 iOS中有三个定位服务组件: Wifi定位,通过查询一个Wifi路由器的地理位置的信息。比较省电,iPod touch和iPad也可以采用。 蜂窝基站定位,通过移动运用商基站定位。也适合有3G版本的iPod touch和iPad。 GPS卫星定位,通过3-4颗GPS定位位置定位,最为准确,但是耗电量大,不能遮挡。 Core Location转载 2014-12-24 11:45:51 · 329 阅读 · 0 评论 -
iOS 之位置信息管理
iOS管理位置信息iPhone SDK提供了三个类来管理位置信息:CLLocation CLLocationManager 和 CLLHeading(不常用)。除了使用GPS来获取当前的位置信息外,iPhone也可以基于WiFi基站和无线发射塔来获得位置信息。GPS的精度最高,可以精确到米级别,但是也最耗电。------------CLLocationCLLoc转载 2014-12-24 11:48:50 · 345 阅读 · 0 评论 -
iOS 之XMPP原理
XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。 XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;转载 2014-12-24 13:01:23 · 391 阅读 · 0 评论 -
iOS 之基于XMPP的iphone聊天客户端(一)
先看一下我们完成的效果图首先下载xmppframework这个框架,下载点ZIP下载接下来,用Xcode新建一个工程将以下这些文件拖入新建工程中加入framework并设置到这里我们就全部设好了,跑一下试试,看有没有错呢如果没有错的话,我们的xmppfr转载 2014-12-24 13:09:05 · 357 阅读 · 0 评论 -
iOS 之基于XMPP的iphone聊天客户端(二)
接上一章的,这一章我们着重介绍XMPP为了方便程序调用,我们把XMPP的一些主要方法写在AppDelegate中在AppDelegate.m下这几个方法为:[java] view plaincopy-(void)setupStream{ //初始化XMPPStream转载 2014-12-24 13:10:44 · 501 阅读 · 0 评论 -
iOS 之基于XMPP的iphone聊天客户端(三)
前两篇介绍了如何通过XMPP来发送消息和接收消息,这一篇我们主要介绍如何来美化我们的聊天程序,看一下最终效果呢,当然源程序也会在最后放出好了,我们来看一下我们写的程序这里我们自定义了TableViewCell一行是显示发布日期,一行是显示发送的消息,还有一个是背景[java] view plaincopy转载 2014-12-24 13:11:37 · 376 阅读 · 0 评论 -
iOS 之基于XMPP的iphone聊天服务器端
最近看了关于XMPP的框架,以文本聊天为例,需要发送的消息为:[html] view plaincopymessage type="chat" from="kang@server.com" to="test@server.com"> body>helloWordbody> message> 基转载 2014-12-24 13:12:45 · 463 阅读 · 0 评论 -
Xcode svn import项目 上传.a文件(静态库)
在终端使用命令touch 项目所在文件夹 svn import 项目文件夹 https://服务器地址 -m "iPad import"这样就把项目上传到服务器上了!但是不能把.a文件上传到服务器。上传.a文件(静态库),首先进入.a文件所在的文件夹,使用命令svn add 文件名.a然后在使用命令svn comm转载 2014-12-24 13:16:43 · 290 阅读 · 0 评论 -
iOS 之AipArchive压缩和解压
在本教程中,我将演示如何在iOS程序中压缩和解压缩文件。我们将使用一个叫做ZipArchive的第三方库来实现。尽管压缩和解压缩有许多其他的方案可选,但是我觉得ZipArchive库是最快捷、最简单的解决方案。let’s go。为什么我需要解压缩文件有许多原因能解释为什么我要在工程中使用压缩和解压缩功能,下面是几个常见的原因:苹果App Store的50M下载限制转载 2014-12-24 13:18:13 · 415 阅读 · 0 评论 -
iOS 之沙盒
一、 每个iOS应用SDK都被限制在“沙盒”中,“沙盒”相当于一个加了仅主人可见权限的文件夹,苹果对沙盒有以下几条限制。 (1)、应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用程序的沙盒。 (2)、应用程序间不能共享数据,沙盒里的文件不能被复制到其他应用程序文件夹中,也不能把其他应用程序文件夹中的文件复制到沙盒里。 (3)、苹果禁止任何读、写转载 2014-12-24 13:19:24 · 281 阅读 · 0 评论 -
iOS 之Autorelease
本篇将给您介绍”Autorelease Pools”(自动释放池)在应用中的使用技巧。1,Autorelease Pools概要一个”Autorelease Pool”实例中“包含”其它各种调用了”autorelease”方法的对象。当它释放时,其中所有被管理对象都会收到”relrease”的消信。注意,同一个对象可以被多次调用”autorelease”方法,并可以放到同一个”Au转载 2014-12-24 13:20:31 · 300 阅读 · 0 评论 -
iOS 开发之Xcode6添加PCH文件
在Xcode6之前,新建一个工程的时候,系统会帮我们自动新建一个以工程名为名字的pch (precompile header)文件,在开发过程中,可以将那些整个工程都广泛使用的头文件包含在该文件下,编译器就会自动的将pch文件中的头文件添加到所有的源文件中去,这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上带来了编程的便利性,但潜在的也带来了一些问题,这也是原创 2015-01-22 22:52:19 · 394 阅读 · 0 评论