IOS - 技术教程文章

2015年iOS开发总结

从我开始接触iOS到现在已经有一年的时间了,刚好年末总结一下。  我是去年11月份培训的,在培训公司苦逼的学习了4个月之后,找到了第一家公司,是个外包公司,在里面还是学到了很多东西,产品的需求,设计,框架搭建,代码实现,各种第三方,share分享,短信,百度高德地图,环信,极光推送等,基本上大部分市面上的app都有涉及,也成功上架了几个不同类型的app,可以说项目方面有一定经验吧,其实我觉得在外包公司写代码有两种:...

iOS播放音乐【代码】

http://www.jianshu.com/p/ce279bc773dd iOS播放音乐、后台播放、控制台控制相关的一些TIPS,基于StreamingKit字数963 阅读595 评论0 喜欢9首先给大家放一个StreamingKit的链接简单的播放使用例子,可以看开源作者的演示demo。由于整个播放器涉及到UI啊数据啊比较多,所以就不全抠下来当demo了,就在这里列一点TIPS,希望能帮助到大家。歌曲播放形式我是这么写的:.h里: /**歌曲播放形式*/ typedef enum : NSUInteger {MBAudioPla...

iOS-PYSearch完美搜索页【图】

APP搜索页基本上是少不了的,热门搜索、搜索记录等;这里推荐一个大牛ko1o写的:PYSearch,他还有一个不错的图片浏览开源:PYPhotoBrowser;这个也不错,感兴趣的可以了解下;下面说下PYSearch的主要功能及(原Gitdemo)效果; 热门搜索风格PYHotSearchStyleDefaultPYHotSearchStyleColorfulTag PYHotSearchStyleBorderTag PYHotSearchStyleARCBorderTag PYHotSearchStyleRankTag PYHotSearchStyleRectangleTag 搜索历史风格PYSe...

iOS 消息(即方法调用)的两个隐藏参数 :self 和 _cmd【代码】

iOS 消息(即方法调用)的两个隐藏参数太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商业用途-保持一致”创作公用协议转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。以下摘自《Objective-C Runtime Programming Guide》使用隐藏参数 Using Hidden Arguments When objc...

IOS开发--第四阶段--真机调试与上传应用

苹果三种账号的区别:1,个人开发者账号,直接向Appstroe上架,(苹果公司会收年费);2,公司开发者账号(可以有子账号),直接向Appstroe上架,(苹果公司会收年费);3.企业开发者账号,企业内部使用,不上APPStroe,开发的App可以不经过苹果公司审核(苹果公司会收年费); 真机调试过程:1,用钥匙串生成CSR文件2,打开浏览器,https://developer.apple.com;3,将CSR文件上传,生成iOS_ development.cer 证书;4,添加 App ID...

IOS开发——UI进阶篇(十六)Quartz2D实战小例子【代码】【图】

一、画线只有在drawRect中才能获取到跟view相关联的上下文- (void)drawRect:(CGRect)rect {}一条线// 1.获取跟当前View相关联的layer上下文(画板)// 总结:目前获取的所有上下文都是以UIGraphics开头// CGContextRef:上下文类型// CG:CoreGraphics Ref:引用CGContextRef ctx = UIGraphicsGetCurrentContext();// 2.绘制内容,拼接路径// 创建贝瑟尔路径,因为里面已经封装好了很多路径UIBezierPath *path = [UIBezierPath bezierPath]...

js区分ios和android

<script type="text/javascript"> var u = navigator.userAgent; var isAndroid = u.indexOf(‘Android‘) > -1 || u.indexOf(‘Adr‘) > -1; //android终端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 alert(‘是否是Android:‘+isAndroid); alert(‘是否是iOS:‘+isiOS); </script>原文:https://www.cnblogs.com/dgmoba/p/12609536.html

iOS真机测试中出现dyld`dyld_fatal_error错误【图】

最近进入一家新公司,接手了一个之前由外包公司承接的项目。首先吐槽一下项目质量,哎毕竟也憋了很久了。  1.上手项目是打不开的,所有framework静态库全体飘红,一编译七八十错误。最终是偷懒还是什么就不得而知了。最终慢慢一个个的将静态库framework导入Building Phases中,其中又发生了很多意想不到的错误。若有人对此有兴趣我们可以下次再聊这些问题。  2.项目代码分类封装问题。项目是用Swift写的,而我之前使用的较多的...

iOS开发学习资料整理【图】

基础语法学习:Objective-C:网络上有条理的OC学习资源较少,建议购买入门书籍:《Objective-C 程序设计》(【美】Stephen G. Kochan)或《Objective-C 基础教程》([美] Scott Knaster)Swift:语法基础:http://wiki.jikexueyuan.com/project/swift/学习博客:http://www.hangge.com/blog/cache/category_72_1.html Demo学习网站:http://code4app.comhttp://code.cocoachina.com 交流社区:Cocoacina: http://www.cocoachina.c...

iOS 收起键盘的几种方式

1.一般的view上收起键盘// 手势- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [self.cellphone resignFirstResponder]; [self.password resignFirstResponder];}2.tableView 上收起键盘// 通过滚动收起-(void)scrollViewDidScroll:(UIScrollView *)scrollView{ [tf resignFirstResponder]; [self.name resignFirstResponder];}// 通过手势- (void)viewDidLoad { [super viewDidLoad];  UIT...

nagios之监控【图】

监控系统需要监控:1、本地资源:负载(uptime),cpu(top、sar),磁盘(df),内存(free),IO(iostat),RAID,温度,passwd文件的变化,本地所有文件指纹识别2、网络服务:端口,URL,丢包,进程数,网络流量3、其他设备:路由器,交换机端口流量,打印机,windows4、业务数据:用户登录失败次数,用户登录网站次数,输入验证码失败的次数某个API接口流量并发,电商网站订单,支付交易的数量5、监控软件本身仅仅是一个平台,...

iOS学习6_多线程NSThread和GCD【图】

NSThread1.显式创建线程调用start开启NSThread * thread = [[NSThread alloc]initWithTarget:self selector:@selector(run:) object:_url]; [thread start]; 2.隐式创建[NSThread detachNewThreadSelector:@selector(run:) toTarget:self withObject:_url];3.[self performSelectorInBackground:@selector(run:) withObject:_url];使用NSThread类似于Java里面的Thread类,线程同步等也是使用synchronized关键字。GCD:Grand-Centra...

ios Objective-C关键字和概念

@看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX。@interface声明类@implementation实现类@protocol声明协议@optional与@protocol配合使用,说明协议中的某个或者某几个方法可以不实现@required与@protocol配合使用,说明协议中的某个方法或者某几个方法必须实现@end与@interface ,@implementation,@protocol配合使用,代表声明或者实现结束@encode@encode为编译器宏,它可以将类型转换为相应的...

iOS Programming Autorotation, Popover Controllers, and Modal View Controllers【图】

iOS Programming Autorotation, Popover Controllers, and Modal View Controllers?自动旋转,Popover 控制器,Modal view controller? 1.? In this chapter, you are going to make four changes to Homepwner‘s behavior that will tailor the app‘s behavior to whatever device it is running on. 你将做四个改变,不论在哪个设备上运行: (1)On iPads only, allow the interface to rotate when the device is upside dow...

ios 按钮单选框

- (IBAction)btnChoose:(id)sender { _btnConfirm.selected =YES; UIImage *selecticonNo =[UIImage imageNamed:@"未选中"]; UIImage *selecticon =[UIImage imageNamed:@"选中"]; UIButton *btn=nil; for (int i=1;i<REPORTNUMBER;i++) { btn = (UIButton *)[self.view viewWithTag:i]; //获取单选按钮 mainZone 是最外层的视图 if ([btn isSelected]) { [btn setBackgroundImage:sel...

iOS Bundle display name国际化

iOS app包显示名称可以国际化,具体方法如下:编辑Info.plist,添加一个新的属性:Application has localized display name,设置该属性的类型为boolean,并设置value为YES;在PROJECT的info标签中,在Localizations中添加需要的本地化资源文件;在项目文件浏览窗口中,找到InfoPlist.strings,设置显示名字:CFBundleDisplayName = "XXX";原文:http://www.cnblogs.com/syosan/p/3866610.html

iOS开发中如何设置请求超时时间【代码】

1 NSString *baseUrl;2 NSURL *url = [NSURL URLWithString:[baseUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];3 NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];4 AFJSONRequestOperation *jsonOper = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request...

ios项目中安装和使用CocoaPods【代码】【图】

CocoaPods是什么?http://code4app.com/article/cocoapods-install-usagehttp://blog.csdn.net/jjmm2009/article/details/41944959当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用 到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手 动一个个去下载所需类库十分麻烦。另...

***iOS开发中@selector的理解与应用【图】

@selector 是什么? 1一种类型 SEL2代表你要发送的消息(方法), 跟字符串有点像, 也可以互转.: NSSelectorFromString() / NSSelectorFromString()3可以理解为类似函数指针的东西--是能让Objective-C动态调用方法的玩意.--是 object-c 的动态后绑定技术 可以通过字符串 访问的函数指针4其实就是消息响应函数---选一个消息响应的函数地址给你的action5@selector(function_name) 即取得一个function的idobjc_msgxxx 系列函数是全局...

(绝对有用)iOS获取UUID,并使用keychain存储【图】

UDID被弃用,使用UUID来作为设备的唯一标识。获取到UUID后,如果用NSUserDefaults存储,当程序被卸载后重装时,再获得的UUID和之前就不同了。使用keychain存储可以保证程序卸载重装时,UUID不变。但当刷机或者升级系统后,UUID还是会改变的。但这仍是目前为止最佳的解决办法了,如果有更好的解决办法,欢迎留言。(我整理的解决办法的参考来源:http://blog.k-res.net/archives/1081.html)给大家两个类: UUID.h中的代码: #impor...

iOS 高德地图API不能定位及INVALID_USER_SCODE

iOS 高德地图API不能定位及INVALID_USER_SCODE问题,有需要的朋友可以参考下。一、在使用高德地图的API的时候,没有办法实现定位,在这里说一下在真机测试的时候出现没法定位应该注意的几点问题和解决方法。1.将mapView添加到self.view上,[self.view addSubView:self.mapView];2.在plist文件中添加一个属性NSLocationAlwaysUsageDescription。3.设置mapView的一个属性,self.mapView.showUserLocation = YES,这个属性一定要设置为Y...

Xcode5 运行程序 提示“iOS 模拟器”未能安装此应用程序

删除模拟器上旧的APP。原文:http://blog.csdn.net/one_in_one/article/details/18552763

什么是CMOS? 什么是BIOS

什么是CMOS CMOS(本意是指互补金属氧化物半导体,一种大规模应用于集成电路芯片制造的原料是微机主板上的一块可擦写的RAM芯片,用来保存当前系统的硬件配置和用户对某些参数的设定。 CMOS可由主板的电池供电,即使系统掉电,信息也不会丢失。 CMOS RAM本身只是一块内存,只有数据保存功能,而对CMOS中各项参数的设定要通过专门的程序。早期的CMOS设置程序驻留在软盘上的(如IBM的PC/AT机型),使用很不方便。现在多数厂家将CMOS设...

iOS-随机点名或抽奖游戏的实现

#import "ViewController.h"@interface ViewController (){ NSMutableArray *nameList; UILabel *label; NSTimer *timer;}@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; [self loadData]; self.view.backgroundColor = [UIColor grayColor]; label = [[UILabel alloc]initWithFrame:CGRectMake(50, 200, 275, 50)]; label.text = @"不会是我吧"; label.t...

iOS开发系列-ARC浅解【图】

iOS开发系列-ARC浅解 一、什么是 ARC ?  所谓ARC就是Automatic Reference Counting , 即自动引用计数。ARC是自iOS5引入的。ARC机制的引入是为了简化开发过程的内存管理的。相对于之前的MRC (Manual Reference Counting) , ARC机制显得更加自动化。在使用ARC开发过程中,开发者只需考虑strong / weak 的使用,不再需要考虑对象何时要retain,release/autorealease。使用ARC一般不会降低程序的效率。 二、ARC的工作原理  ARC一...

iOS开发之解析XML格式数据【图】

XML格式的数据是一种数据的传输格式,由于它方便编写,结构清晰,所以深受程序员的喜爱,很多人都喜欢使用XML格式传输数据或者作为程序的配置信息。现在我将来实现在iOS中解析XML格式数据,语言使用Swift。 首先自己写一个简单的XML:<data><person age="15">zhangsan</person><person age="2">lisi</person><person>wangwu</person><a><b><c>many people</c></b></a></data>先把这个XML写成一个文件 data.xml存放在Supporting...

普通选择器<数据源协议,委托协议>(IOS开发)

-普通选择器必须满足这两个协议,一个为委托协议,一个为数据源协议 -委托协议负责控制控件UI、事件响应, 实现可选 -数据源协议负责控件与应用数据模型的桥梁,一般必须实现@interface ViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource>// // ViewController.h // PickViewSample // // Created by 李亚坤 on 14-10-21. // Copyright (c) 2014年 李亚坤. All rights reserved. //#import ...

iOS数据存储-钥匙串存储

2017.11.20 14:41* 字数 227 阅读 678评论 0喜欢 0钥匙串介绍 1. 表示设备唯一号的标识,在IOS7中要么被禁止使用,要么重新安装程序后两次获取的标识符不一样。 2. 由于IOS系统存储的数据都是在sandBox里面,一旦删除App,sandBox也不复存在。好在有一个例外,那就是keychain(钥匙串)。 3. 通常情况下,IOS系统用NSUserDefaults存储数据信息,但是对于一些私密信息,比如密码、证书等等,就需要使用更为安全的keychain了。 ...

iOS 设置视图半透明而子控件不透明【代码】【图】

用一张半透明的图片做背景使用colorWithWhite:alpha:方法 white后面的参数表示灰度,从0-1之间表示从黑到白的变化,alpha就是你想调整的透明度 bgView.backgroundColor = [UIColor colorWithWhite:0.f alpha:0.5]; 3 在xib或者storyBoard里面对背景进行设置如图:半透明背景xib设置.png通过对背景颜色设置图中的Opacity滑块调整透明度,同样可以达到设置背景半透明而子控件不透明的目的。 原文:http://www.cnblogs.com/ti...

iOS修改项目名称【图】

iOS项目的完整重命名方法图文教程2015-01-04 10:50 编辑: pockry 分类:iOS开发 来源:GarveyCalvin的博客 22 16307XCodeiOS开发前言:在iOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦。直接改项目名吧,XCODE又不会帮你改所有的名字。总是有很多文件、文件夹或者是项目设置的项。而且都是不能随便改的,有时候改着改着,编译不了。所以各位重命名项目时,记得先备份好一份噢。本文我会介绍一种方法,是我自己参考了很多...