IOS开发
文章平均质量分 55
sandy_shell
这个作者很懒,什么都没留下…
展开
-
iphone开发 音频播放
最近写了个小程序,用来播放本地音乐(ipone,itouch,ipod)。先记录一下。需要导入库MediaPlayer.framework播放本地的音乐MPMusicPlayerController *player = [MPMusicPlayerControllerapplicationMusicPlayer];[playersetQueueWithQue原创 2012-11-12 10:17:37 · 1574 阅读 · 1 评论 -
IOS7权限检测
ios7开始,用户可以在设置->隐私->中开启或关闭某些系统权限,比如原创 2014-08-22 16:33:46 · 1981 阅读 · 0 评论 -
关于Xcode无法查看到内存情况.
在xcode6 上运行旧的项目,发现无法查看到内存。后面发现新的项目上可以查看到内存使用情况.后面对比了一下两个的设置配置。终于发现,原来是在项目的scheme 设置中,Diagnostics 下的一个Enable Zommbie Object 这个选项给勾上了。把这个选项去掉,就可以查看到内存使用情况了。Xcode6 应该是在僵尸模式下查看不了内存。原创 2014-12-15 15:30:40 · 1243 阅读 · 0 评论 -
lipo 指令
查看lib所支持的指令集:lipo -info *.lib合成指令集: lipo -create XXXX_V7.a XXXX_V7s.a -output XXXX_all.a 合成他们成为新的.a文件。解压指令集:lipo IOTCamera -thin armv7s -output IOTCamera_armv7s把库文件的.o 文件解压出来ar -x原创 2014-12-08 17:47:11 · 2443 阅读 · 0 评论 -
app 首次启动
在AppdidFinishLaunched中添加 if (![[NSUserDefaultsstandardUserDefaults] boolForKey:@"everLaunched"]) { [[NSUserDefaultsstandardUserDefaults] setBool:YESforKey:@"everLaunched"]转载 2015-02-04 15:18:31 · 584 阅读 · 0 评论 -
解决IOS8上无法创建同名删除相册的问题
在IOS上,如果用ALAssertLibrary创建相册,如果该相册被删除过了,则再次创建,会创建成功,但是group为nil[selfaddAssetsGroupAlbumWithName:albumName resultBlock:^(ALAssetsGroup转载 2015-09-07 17:47:08 · 1075 阅读 · 0 评论 -
Xcode7 使用动态链接库
在xcode7中,动态链接库.dylib 都改成tbd文件。在普通的工程中直接引入tbd文件,然后像导入.dylib一样使用即可。但是如果制作静态库framework,则不能在公开的头文件中导入动态库的头文件,否则会报错:include modular header inside framework module原创 2015-10-19 10:48:30 · 4837 阅读 · 0 评论 -
字符串与16进制的转换
//把字符串转换成十六进制字符串+ (NSString *)hexStringFromString:(NSString *)string{ NSData *myD = [stringdataUsingEncoding:NSUTF8StringEncoding]; Byte *bytes = (Byte *)[myDbytes]; //下面是Byte转换原创 2015-12-10 16:00:40 · 3744 阅读 · 0 评论 -
输入文本校验
if (isChinese){ strRegex = @"^([\\u4e00-\\u9fa5])+|(^([\\u4e00-\\u9fa5])+[0-9]+)+"; //只能中文加数字,且数字必须在后面 }else{ strRegex = @"[A-Za-z\\s]+|([A-Za-z\\s]+[0-9]+)+"; }邮箱校验:原创 2015-12-11 16:55:47 · 423 阅读 · 0 评论 -
关于今天扩展界面不显示出来的问题
在项目中加了扩展,在ios9上显示的好好的,可是跑ios8上就界面显示不出来。扩展中有我的项目,可是就是没界面,看了下布局,没有任何警告。折腾了好久,后面在viewDidLoad的时候设置了下preferredContentSize的大小,然后立马就出来了。self.preferredContentSize =CGSizeMake([[UIScreenmainScreen] bou原创 2015-12-18 09:45:46 · 1166 阅读 · 0 评论 -
Ruby安装
想使用cocopods,从网上找了下,需要安装ruby。以下是我安装ruby的过程步骤1:安装RVM在终端执行命令:$ curl -L https://get.rvm.io | bash -s stable直接执行这条命令,可能几分钟之后就会提示你timeout,没有任何响应,稍好一点的就是提示无法连接到git上的某个地址。不论试多少次都是一样。其实 只要登录git账号即可。登录g原创 2015-12-19 16:12:09 · 529 阅读 · 0 评论 -
cocopods的安装和使用
上篇文章已经安装好cocopods所需的ruby环境了现在开始安装cocopods。安装cocopods很简单,一条命令即可:sudo gem install cocoapods 等安装完成之后,就可以使用了。例子:新建一个工程PodTest,使用AFNetworking在终端cd 到该目录下,然后执行命令 vim Podfile然后在Podfile文件中输入以下文字:转载 2015-12-19 16:32:47 · 638 阅读 · 0 评论 -
获取SSID
导入头文件#import 获取- (NSDictionary *)fetchSSIDInfo{ NSArray *interfaceNames =CFBridgingRelease(CNCopySupportedInterfaces()); DebugNSLog(@"%s: Supported interfaces: %@",__func__原创 2016-03-31 14:56:59 · 1360 阅读 · 0 评论 -
ios启动页命名规则
因为ios8之后有了luanchScreen,所以这里先不考虑iphone6,6plus的命名。在ios8以下,启动页有两种加载方式,一种是不指定命名,把图片放到项目中,将会自动加载。这种则需要按如下方式命名:640*960: [email protected]*1136: [email protected]还有一种在infoPlist文件中指定"UILaunchI原创 2016-04-09 16:11:48 · 1549 阅读 · 0 评论 -
ip地址获取
+(NSString *)getIPAddress { if (mLocalIP != nil) { return mLocalIP; } struct ifaddrs *interfaces = NULL; struct ifaddrs *temp_addr = NULL;原创 2014-08-21 11:05:27 · 554 阅读 · 0 评论 -
NSPredicate的使用
正则表达式的使用1.邮箱地址校验-(BOOL) isValidEmail:(NSString *)str{ NSString *strRegex =@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{1,3}"; NSPredicate *predicate = [NSPredicate pre原创 2014-06-27 14:59:41 · 480 阅读 · 0 评论 -
简单的音频警告 iphone开发
之前写过一篇播放音乐的,这次来是是实现简单的音频警告。有时候,我们需要播放一些音频警告来通知用户,提醒用户。首先我们找一个警告的音频,音频格式只能是AIFF,CAF,WAV几种。1)将音频格式的路径转换成一个CFURLRef NSString * path = [[NSBundlemainBundle]pathForResource:@"warn"ofTyp原创 2012-11-20 14:36:21 · 1087 阅读 · 0 评论 -
触摸与手势
在这个智能机的时代,触摸与手势应该是最基本的了。对于简单的点击控件而触发各种事件的触摸这里就不说了(比如点个按钮,点个文本框,表格的滑动,直接设置某些属性,链接某个函数就OK了)。这里主要写下关于图片的缩放。可以点击放大,缩小,根据手势扩大和缩小。就类似于QQ里的那种查看图片。首先,我们得了解,触摸的操作对象是View而不是Controller。想想,如果是整个controller,在整个界面原创 2012-11-20 16:35:59 · 547 阅读 · 0 评论 -
object-C 类之间的消息处理机制
Object-C,有时候常常两个类之间需要进行通信。一个界面的信息可能会影响到其它的类。两个类之间需要交换某些信息。那么Object-C中如何实现两个类之间信息的传递呢。有一种简单的方法是设置属性,比如要把A类的信息传到B类去,则在B类定义属性来接收。即在push的时候,直接为B类的该属性赋值。这种方法适用于从一个界面push到另一个界面的传值,而且还是由前一个传到后一个。下面介绍任意原创 2012-11-21 16:59:42 · 677 阅读 · 0 评论 -
关于Undefined symbols for architecture armv7s
在Xcode4.5+IOS6.0下,引用静态库有时会报错:Undefined symbols for architecture armv7s解决方法:可以把TARGETS->Building Setting->Valid Architectures中的armv7s去掉。 去掉armv7s。arm7s是针对iphone5的A6处理器做的优化处理,这里去掉表示对原创 2012-12-10 16:31:24 · 971 阅读 · 0 评论 -
SSL协议的下载及编译使用
一:SSL协议的下载:下载地址:http://www.openssl.org/source/二:SSL协议编译下载下来的文件是一个压缩包,解压出来,你是找不到一个文件来打开进行界面操作的。需使用命令编译。编译步骤 原文链接:http://blog.csdn.net/everandforever/article/details/6102781原创 2013-03-26 15:54:12 · 901 阅读 · 0 评论 -
NSThread 停止线程
NSthread 停止一个正在运行的线程原创 2013-08-16 09:19:48 · 9157 阅读 · 0 评论 -
为什么delegate属性要用assign不能用retain?
也因为这样,iOS官方文件才会要建议我们所以的delegate都要用assign property。 也就是所谓”weak reference”的property,他的特色就是虽然会持有对方的reference,但是不会增加retain count。 如此下来,当myViewController的retain count变成0,则会dealloc。 同时在dealloc中,也一并把my转载 2013-09-17 14:57:01 · 871 阅读 · 0 评论 -
音频播放根据距离选择话筒模式
音频根据距离自动调节音量大小[[UIDevice currentDevice]setProximityMonitoringEnabled:YES]; [[NSNotificationCenter defaultCenter] addObserver:self selector原创 2013-11-25 15:16:28 · 797 阅读 · 0 评论 -
图片的压缩与裁剪
//图片根据不同的大小进行压缩+(UIImage*)saveBitImage:(UIImage*)Image{ NSData* dataImage = UIImageJPEGRepresentation(Image,1.0);NSLog(@"imagesize:%d",dataImage.length/1024); NSUInteger size原创 2013-11-26 16:22:20 · 1136 阅读 · 0 评论 -
关于dateFromString函数的优化
在object-C里面,在有关字符串转换成日期时,相信大部分人都会使用NSDateFormatter 的dateFromString,将字符串转换成日期。但是使用timeProfile一监测,就会发现dateFromString这函数超级耗时。dateFromString用起来简单,几行代码就搞定了, -- 将传入时间转化成需要的格式if (!dateFormatter)原创 2013-12-13 14:51:25 · 1455 阅读 · 0 评论 -
获取视频预览照片
//获取视频预览照片- (UIImage *) getPreImageByUrl:(NSURL *)mediaUrl{AVURLAsset *assetImage = [[AVURLAssetalloc] initWithURL:mediaUrloptions:nil];AVAssetImageGenerator *gen = [[AVAssetImageGenerat原创 2014-01-10 10:30:34 · 956 阅读 · 0 评论 -
[IOS]使用genstrings和NSLocalizedString实现App文本的本地化
App本地化的需要不用讲大家也都明白,本文将介绍一种简单的方法来实现字符串的本地化。在不考虑本地化的情况下,我们如果在代码中给一个Button定义title,一般会这样写:btn.titleLable.text = @"Example Button"; 也许我们已经写了很长的代码才考虑到本地化的问题,大可不必头疼,这时候,我们要做的是把代码从头扫一遍,然后把每个转载 2014-05-09 16:51:24 · 649 阅读 · 0 评论 -
iOS 多语言化
ios开发中,实现多语言化。首先创建一个string file的文件,可以命名localization.strings.然后在这儿添加你程序希望实现的多语言。(点localizations 下的+号即可添加,这里我添加了english和简体中文)添加之后,回到你的工程目录下,会发现刚创建的localization.strings下增加了两个文件原创 2013-03-18 11:43:17 · 783 阅读 · 0 评论 -
runtime学习之 model 转dict
-(NSDictionary *) dictionary{ unsignedint outCount = 0; objc_property_t *propertyList =class_copyPropertyList([selfclass], &outCount); NSMutableDictionary *dict = [NSMutableDi原创 2017-06-02 15:39:49 · 272 阅读 · 0 评论