随笔分类 -  ios

iphone ipad
CocoaPod问题
摘要:CocoaPod问题 升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法 字数91阅读10946评论24喜欢27 升级10.11后,运行pod命令出现: -bash: pod: command not found 解决办法: sudo gem install -n /usr/local/bin cocoapods ... 阅读全文

posted @ 2016-10-27 15:21 ①块腹肌 阅读(340) 评论(0) 推荐(0)

iOS app 程序启动原理
摘要:iOS app 程序启动原理 Info.plist: 常见设置 建立一个工程后,会在Supporting files文件夹下看到一个"工程名-Info.plist"的文件,该文件对工程做一些运行期的配置,非常重要,不能删除. 在旧版Xcode创建的工程中,这个配置文件的名字叫做"Info.plist". 项目中的其他plist文件不能带有"In... 阅读全文

posted @ 2016-10-27 15:21 ①块腹肌 阅读(645) 评论(1) 推荐(0)

Android 推送通知指南(转载)
摘要:在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对比较麻烦,最近利用几天的时间对Android的推送通知服务进行初步的研究。在Android手机平台上,Google提供了C2DM(Cloudto Device Messaging)服务,起初我就是准备采用这个服务来实现自己手机上的推送功能。Android Cloud to Device Messaging (C2DM)是一个用来帮助开发者从服务器向Android应用程序发送数据的服务。该服务提供 阅读全文

posted @ 2012-09-13 10:20 ①块腹肌 阅读(1706) 评论(0) 推荐(1)

语音编码的WAVE文件头格式剖析
摘要:WAVE文件头作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个字节便是“RIFF”。合理利用WAVE文件头可以更有效地进行语音解码。 通常意义上说的语音编码都是指将8KHz采样、16比特量化的线性PCM语音信号压缩成其它格式的语音信号,解码时就将其它格式的语音信号变换成8KHz采样、16比特量化的线性PCM语音信号。一般说来,这个转换过程比较复杂,费时费力。如果对其它格式的语音信号直接加上对应的WAVE文件头就不用这个转换过程,用微软自带的录音机就可解码语音。 下面.. 阅读全文

posted @ 2012-08-16 10:39 ①块腹肌 阅读(2424) 评论(0) 推荐(0)

cmwap联网失败与移动的推送页
摘要:我在用j2me和android访问我们自己的服务器时,如果选用cmwap连接是有时候会返回这样的信息(抓包抓的): <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml><card><p><do... 阅读全文

posted @ 2012-03-15 19:23 ①块腹肌 阅读(1385) 评论(0) 推荐(0)

Cocoa 编码规范
摘要:> Code Naming Basics 代码命名基础 在面向对象软件库的设计过程中,开发人员经常忽视对类,方法,函数,常量以及其他编程接口元素的命名。本节讨论大多数Cocoa接口的一些命名约定。 >> General Principles 一般性原则 >>> Clarity 清晰性 ● 最好是既清晰又简短,但不要为简短而丧失清晰性 代码 点评 insertObject:atInde... 阅读全文

posted @ 2012-02-27 13:40 ①块腹肌 阅读(1015) 评论(0) 推荐(0)

Objective C 类方法
摘要:一,Objective C 的类方法(class method),即 static 方法,是用 + 修饰的方法。类方法是属于类对象的,所以无需创建类的实例对象我们就可以直接使用它们。使用形式为:[ClassName classMethod];在这里 ClassName 代表的就是一个类对象,而不是作为一种类型。类名只有出现在接收消息的表达式中才代表一个类对象,其他情况下都表示一种类型。二,类方法可以继承自基类,就像普通的类成员方法一样。有一个特别的类方法 + (void) initialize,在类接收到任何消息之前,运行时系统会向类对象发送这个消息,因此我们可以在这个函数里对类对象做一些初始 阅读全文

posted @ 2012-02-27 13:36 ①块腹肌 阅读(6649) 评论(0) 推荐(0)

ios音频播放
摘要:在 iPhone 应用或者是游戏的开发过程中,对声音的支持是必不可少的。在我做过的几个应用中,每个都涉及到音效,所以在这里做个简单的归纳,很多都是引用自《iPhone Application Programming Guide》(需要有 Apple ID 才能打开链接),加了一些实际使用的经验。iPhone OS 主要提供以下了几种播放音频的方法:System Sound ServicesAVAudioPlayer 类Audio Queue ServicesOpenAL1. System Sound ServicesSystem Sound Services 是最底层也是最简单的声音播放服务, 阅读全文

posted @ 2012-02-11 17:43 ①块腹肌 阅读(10377) 评论(0) 推荐(3)

delegate和protocol
摘要:iOS开发上对delegate使用广泛。记在这里,如果有新人Google到了,希望能有点帮助。protocol和delegate完全不是一回事,放在一起说,只是因为我们经常在同一个头文件里看到这两个word。protocol和java里interface的概念类似,是Objective-C语法的一部分。定义protocol如下@protocol ClassADelegate- (void)methodA;- (void)methodB;@end那么就是定义了一组函数,这组函数放在一起叫作一个protocol,也就是协议。函数是需要被实现的,所以如果对于class如下@interface Cla 阅读全文

posted @ 2012-02-11 14:25 ①块腹肌 阅读(831) 评论(0) 推荐(1)

iOS中NSArray的过滤
摘要://找出一个数组NSFileManager*fileManager=[NSFileManagerdefaultManager];NSString*defaultPath=[[NSBundlemainBundle]resourcePath];NSError*error;NSArray*directoryContents=[fileManagercontentsOfDirectoryAtPath:defaultPatherror:&error]//匹配字符串,反回结果,SELF==表示数组中每一个元素NSString*match=@"imagexyz-999.png"; 阅读全文

posted @ 2012-02-08 17:23 ①块腹肌 阅读(2140) 评论(0) 推荐(1)

iOS 开发之EXC_BAD_ACCESS异常分析(转)
摘要:一:EXC_BAD_ACCESS异常介绍在调试objective-c程序的过程中,程序crash的现象在所难免,但大部分的错误都能够通过显示的错误原因结合NSLog的方式来解决,比如NSInvalidArgumentException(名字就能看出来是什么错误)等,实在搞不定还有debug这个杀手锏。但唯独EXC_BAD_ACCESS这个异常太难处理了,名字看不出来是什么原因,其他提示也没有,debug都搞不定。先来介绍下EXC_BAD_ACCES:这个异常基本上是内存使用不当造成的,而且90%的错误来源在于对一个已经释放的对象进行release操作。二:分析方法为工程运行时加入 NSZomb 阅读全文

posted @ 2012-02-03 16:59 ①块腹肌 阅读(4505) 评论(0) 推荐(0)

ios iphone开发-内存管理
摘要:关于所有权所有权是iPhone内存管理的核心思想,对象的所有者负责在使用完对象后进行释放。一个对象可以有多个所有者,当它没有所有者时将被设置为取消分配(deallocation)。创建对象时,所有权通过alloc、new、或者copy的方式建立,之后通过调用retain或者通过Cocoa函数来分配和复制对象的所有权。内存释放有两种方式,一种方法是明确地请求释放对象的所有权,另一种方法则是使用自动释放池(auto-release pool)。所有权的背后是一个和引用有关的运算系统,iPhone SDK的大多数对象使用这个系统,彼此之间建立着很强的引用和参照。当你创建一个对象时,引用值为1,调用一 阅读全文

posted @ 2012-02-03 13:04 ①块腹肌 阅读(2902) 评论(0) 推荐(0)

NSString字符串常用方法
摘要:/*******************************************************************************************NSString*******************************************************************************************///一、NSString/*----------------创建字符串的方法----------------*///1、创建常量字符串。NSString *astring = @"This is a Str 阅读全文

posted @ 2012-02-02 15:32 ①块腹肌 阅读(13154) 评论(0) 推荐(1)

#import与@class的区别
摘要:1.import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑,后面会再告诉你。2.在头文件中, 一般只需要知道被引用的类的名称就可以了。 不需要知道其内部的实体变量和方法,所以在头文件中一般使用@class来声明这个名称是类的名称。 而在实现类里面,因为会用到这个引用类的内部的实体变量和方法,所以需要使用#import来包含这个被引用类的头文件。3.在编译效率方面考虑,如果你有100个头文件都#import了同一个头文件,或者这些文件是依次引用的,如A–>B, B–>C, C–>D这 阅读全文

posted @ 2012-01-13 15:38 ①块腹肌 阅读(19941) 评论(1) 推荐(4)

IOS上的socket通信
摘要:客户端:导入头文件:#import <sys/socket.h>#import <netinet/in.h>#import <arpa/inet.h>#import <unistd.h>1. 创建连接CFSocketContext sockContext = {0, // 结构体的版本,必须为0self, // 一个任意指针的数据,可以用在创建时CFSocket对象相关联。这个指针被传递给所有的上下文中定义的回调。 NULL, // 一个定义在上面指针中的retain的回调, 可以为NULL NULL, NULL};CFSocketRef _so 阅读全文

posted @ 2012-01-02 11:20 ①块腹肌 阅读(48903) 评论(2) 推荐(0)

使用UIActivityIndicatorView
摘要:UIActivityIndicatorView可以通过动画的效果展示延时等待提示。这里通过线程休眠3秒钟模拟可能造成延时的操作:[NSThread sleepForTimeInterval:3];如果碰到这种延时操作,应该单独使用线程来执行,而不是用主线程。在对应的头文件中加入一个操作队列:NSOperationQueue *operationQueue;在控制器的viewDidLoad方法中初始化这个队列实例:- (void)viewDidLoad { operationQueue = [[NSOperationQueue alloc] init]; [operationQueue setM 阅读全文

posted @ 2012-01-02 11:16 ①块腹肌 阅读(610) 评论(0) 推荐(0)

Object-C 入门
摘要:大部分有一点其他平台开发基础的初学者看到XCode,第一感想是磨拳擦掌,看到 Interface Builder之后,第一感想是跃跃欲试,而看到Objective-C的语法,第一感想就变成就望而却步了。好吧,我是在说我自己。如果你和我一样,对苹果相关的开发:Mac OS X或是iPhone有兴趣,但是第一时间看到Objective-C就会头疼并伴有发烧症状的话,疗效比较好的快速治疗方法是阅读本文。大概花二十分钟左右,而且绝不无聊的时间,你就会对Objective-C有那么一点点了解,至少读读例子不会那么头疼了。不过假定你要有那么一点点c++、c#或是java的基础,至少能看到c++、c#或是 阅读全文

posted @ 2011-12-05 22:19 ①块腹肌 阅读(645) 评论(0) 推荐(0)

导航