objective-c移动开发
李纲明
热忠于互联网、移动互联网技术交流和分享
展开
-
iOS项目代码行数统计
find . "(" -name "*.m" -or -name "*.h"")" -print | xargs wc -l原创 2016-05-20 14:25:17 · 639 阅读 · 0 评论 -
【IOS网络通信】Mac&IOS Socket编程
大纲一.Socket简介二.BSD Socket编程准备1.地址2.端口3.网络字节序4.半相关与全相关5.网络编程模型三.socket接口编程示例四.使用select五.使用kqueue六.使用流注:文档中设计涉及的代码也都在本人github目录下,分别为socketServer和socketClient.对应着各个分支转载 2014-08-22 13:03:53 · 1036 阅读 · 0 评论 -
iOS网络通信类库
iOS网络通信类库:ASIHTTPRequest,AFNetworking,MKNetWorkKIt.ASIHTTPRequest在ios5.0之后就不在维护了,所以之后主要就是AFNetworking和MKNetworkKit。AFNetWorking:适合逻辑简单的应用,或者更适合开发资源尚不丰富的团队,因为AFN的易用性,而这样的应用(或团队)对底层网络控件的定制化要求也非常低。原创 2014-08-22 13:01:57 · 2462 阅读 · 0 评论 -
Mac OS X下Sublime Text (V2.0.2)快速破解方法
一、上http://www.sublimetext.com/下载最新V2.0.2版块原创 2014-06-14 06:48:51 · 10327 阅读 · 5 评论 -
UIBezierPath画圆弧的记录
UIBezierPath通过- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise可以画出一段弧线。看下各个参数的意义:center:圆心的转载 2014-06-26 11:12:38 · 20587 阅读 · 3 评论 -
IOS自定义有限个数字典并赋值
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithCapacity:2]; [params setObject:self.accessToken forKey:@"access_token"]; [params setObject:self.openID forKey:@"uid"];原创 2014-03-26 11:42:53 · 4504 阅读 · 0 评论 -
UIWebView获取点击url方法
在你的UIWebViewDelegate类中实现以下代码:#pragma mark - UIWebViewDelegate- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigation原创 2014-03-31 19:29:30 · 4132 阅读 · 0 评论 -
iOS7.1企业应用"无法安装应用程序 因为证书无效"的完美解决方案
在不发布情况下,IOS7.1安装开发版IPA,供测试使用: 需要ssl支持,必须生成ca.crt (供终端授信证书使用) , server.crt server.key配置到本地开发服务器使用 http://127.0.0.1/apptest/dev.html 访问跳转即可打开安装 一、生成服务端密钥及证书,首先服务器安装openssl并且nginx已支持ssl。 生原创 2014-03-14 18:52:18 · 18249 阅读 · 0 评论 -
Xcode做ios开发时 message sent to deallocated instance问题的解决方法(gdb和lldb)
1、当出现message sent to deallocated instance的时候,一般伴随牛逼的BAD_ACCESS.是的,是某个对象release了两次。可是那么多的疑似对象,到底是哪一个?使用xcode环境变量(添加方法请自行google)MallocStackLoggingNoCompact,NSZombieEnabled,MallocStackLogging这三个,值都原创 2013-12-20 10:07:19 · 23373 阅读 · 2 评论 -
支付宝 报错 rsa_private read error : private key is NULL解决方法
原因: 真机调试IOS支付宝功能GDB出现 rsa_private read error : private key is NULL提示调试iOS 支付宝SDK的时候,运行demo,把Partner(合作商户 ID)Seller(账户 ID)RSA public key(支付宝公钥)RSA private key(商户私钥)都放到plist文件了,运行的时候原创 2013-09-13 14:13:04 · 29103 阅读 · 2 评论 -
Undefined symbols for architecture armv7:错误解决方法
原因: 出现该提示的原因大部分是因为我们忘记引入IOS自带的.framework框架库引起的解决方法:只要将引起错误需要的库通过如下方式:targets--->build phases----->link binary with libraries----->+选择要添加的库。添加到动态库里边,ctrl+R重新编译运行即可原创 2013-09-10 14:25:06 · 8593 阅读 · 1 评论 -
IOS 生成pem证书方法
具体步骤如下: 首先,需要一个pem的证书,该证书需要与开发时签名用的一致。 具体生成pem证书方法如下:1. 登录到 iPhone Developer Connection Portal(http://developer.apple.com/iphone/manage/overview/index.action )并点击 App IDs2. 创建一个不使用通原创 2013-09-06 11:06:24 · 18853 阅读 · 0 评论 -
iOS即时语音聊天技术实践
CMDN Club第十五期活动已于3月15日顺利举行,本次活动以“移动平台语音技术的应用与实践”主题,以语音技术开发为焦点,从语音基础服务、语音产品开发、语音技术实现等多个维度,探索语音产品创新和技术实践的热点话题。我们邀请了北京爱图腾科技高级iOS开发工程师张天虹,为大家带来iOS即时语音聊天技术实践演讲。图:北京爱图腾科技高级iOS开发工程师张天虹在做演讲以下是文字实录:张天虹转载 2013-08-27 20:24:10 · 2078 阅读 · 0 评论 -
Error launching remote program: failed to get the task for process 10722.The解决方法
需要将设备添加到苹果官网上https://developer.apple.com/ios/manage/overview/index.action解决方法如下:一:阅读本文的前提:本文适合已经申请了苹果开发者帐户,需要再添加一个开发者的情况。比如说一个公司,已经具有了开发者证书,但是由于扩展,新招了一个iPhone开发者,需要为新员工申请一个开发者证书。二:原创 2013-08-22 14:47:02 · 1098 阅读 · 0 评论 -
Application windows are expected to have a root view controller at the end of application launch 的解决
原因:出现的原因一般是运行时未给 self.window的 rootViewController的对象分配内存造成的,如下面类似例子 NSArray *item = [NSArray arrayWithObjects:nc1, nil]; _tabBar.tabBar.backgroundImage = [UIImage imageNamed:@"tabbar原创 2013-08-21 14:33:33 · 2354 阅读 · 0 评论 -
利用UIApplication全局变量控制UINavigationController左侧导航不同变化方法
原因:大多数顶部导航都是公用的有时我们需根据不同的UIViewController的操作使顶部导航UI相应变化,并根据不同的参数控制ViewController方法:1.将UIViewController顶部封装进公用UIViewController里边,通过封装的ViewController提供接口来控制是否显示.2.通过UIApplication获取应用中的全局原创 2013-07-04 08:16:27 · 2007 阅读 · 0 评论 -
用UICollectionView及其controller相关UICollectionViewDataSource,UICollectionViewDelegate代理实现多列显示方法
用UICollectionView及其controller相关UICollectionViewDataSource,UICollectionViewDelegate代理实现多列显示方法如下:1.创建CollectionView所需要的addTableView, //层声明实列化 UICollectionViewFlowLayout *flowLayout =原创 2013-07-01 22:08:30 · 15657 阅读 · 3 评论 -
通过RTLabel、RCLabel、FTCoreText及webView结合SDWebImage等4种方式实现左滑或下拉中cell中图文混排使用场景方案
1.RTLabel和RCLabel两个在使用方式上差不多,对服务端吐的的数据要求比较高 json数据最好是定制式 {"type","img",con:"http://www.xxx.com/123.png", “width":"300", "height":"300"} {"type","con",con:"图片名称", “width":"", "height":""}原创 2014-09-13 14:03:37 · 12206 阅读 · 1 评论 -
在UITableView页实现禁止页面左滑或右滑实现底部栈的UIViewcontroller不会被看到
左滑实现方式如下:原创 2014-09-22 07:39:11 · 1895 阅读 · 0 评论 -
在UIViewController里用UITableView及相关的tableHeaderView、tableFooterView实现三级连动页面页面展示效果
实现方案思路大体如下原创 2014-09-22 08:05:50 · 9044 阅读 · 10 评论 -
利用AFNetworking 的AFHTTPSessionManager代码实现代理的方式访问任意指定IP地址,解决域名DNS上的问题
以下仅将关键代码列出供参与学习使用,在网络请求方面AFHTTPSessionManager 和AFHTTPRequestOperationManager 两个相比在代码实现方式及请求原理上差不太多(包括在RAC的支持上).但在代理服务上AFHTTPSessionManager支持很好,AFHTTPRequestOperationManager目前不支持:以下是AFHTTPSession原创 2016-02-25 14:01:22 · 10679 阅读 · 0 评论 -
通过AFHTTPSessionManager+RACSupport 或 AFHTTPRequestOperationManager+RACSupport 解决同一信号源(RAC网络请求两次的问题
在RAC实际使用时发现RAC有一个在网络请求上很严重的问题,就是同一个网络url刷新时所创建的信号源内部请求会被执行两次或多次的现象,通过代理Charles很容易看到,查了相关资料有说过该问题但大多数并没有直接指出应怎么处理,现将AFHTTPRequestOperationManager和 AFHTTPSessionManager相关代码如下修改为即可解决:原创 2016-02-25 13:22:30 · 2221 阅读 · 0 评论 -
iOS Client 与WebSocket 通信(一)
Socket,WebSocket,Http,Tcp等这些我们已经听的耳朵有茧了,但是用得时候还是复习一下吧。 大学学习网络基础的时候老师讲过,网络由下往上分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,三者从本质上来说没有可比性,socket则是对TCP/IP协议的封转载 2016-03-10 11:31:17 · 863 阅读 · 0 评论 -
解决 Assertion failure in -[UISectionRowData refreshWithSection:tableView:tableViewRowData:] crash的方法
当遇到类似这样的问题时,大多情况是我们的代码中可能有取图片宽高后做等比例处理时,正常情况下图片是存在的,但当图片不存在而我们又用了图片的宽做分母取得占位符位置相应的高时就会取到一个无限大的值,这时取到的返回值为: nam 造成程序crash掉:在tableview的heightForRow方法里返回的数据错误,返回的数据是nan型的,为什么是nan呢,猜测可能是数据越界,你可能得到到的是d原创 2015-12-18 14:19:44 · 7014 阅读 · 2 评论 -
iOS开发人员必备App开发工具 ifunbox 支持iPhone, iPad和iPod Touch的文件及应用管理神器 使用实例
本文仅作为ios开发人员在开发app时对于存储在开发机上的app各种资源分析使用。比如查看某款App从数据和资源层面分析一下具体应用了哪些资源,本地存储用了什么存储:如数据库是sqlite3,plist,json文件还是coreData及一般哪些信息都会使用什么方式存储比较好等,还有就是这些资源存储标准,规格一般是什么.目的,是通过ifunbox使用使开发人员对我们的移动终端上的app具体原创 2015-03-22 18:57:38 · 4120 阅读 · 1 评论 -
iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
通过该方式同时也可以实现底层网络库AFNetworking及ASIHTTPRequest的代理设置。达到我们开发时的抓包分析及IP地址指定访问开发/仿真任一台提供API接口服务器的目的。首先下载Charles并配置我们的开发机iPhone终端的代理IP及Charles配置一下,步骤如下:1)、取得mac本机的IP地址:如下图中的:192.168.1.106如图:2)、通原创 2015-03-21 22:02:33 · 6837 阅读 · 0 评论 -
IOS中通过UICollectionView和UICollectionViewFlowLayout设置初始游标cursor来控制左右滑动来实现多条记录水平分页显示及控制音标读音
首先,应用到相关代理包括:UIScrollViewDelegate, 游标cursor滑动控制显示第几个数据,可根据cursor获取相关对象里边的值。如声音播放链接地址,标题名称等。UICollectionViewDataSource, 数据加载代理UICollectionViewDelegate, cell视图显示代理UICollectionViewDelegateF原创 2015-01-21 17:39:40 · 20551 阅读 · 3 评论 -
Xcode5.1离线下载安装及使用iOS5模拟器进行开发调试的方法
Xcode5.1默认不支持iOS5版本的模拟器开发调试,在OS X Mavericks(10.9.x)下默认只能支持iOS6.1及以上版本的模拟器,在OS X Mountain Lion(10.8.x)下默认只能支持iOS6.0及以上版本的模拟器进行开发和调试,在此条件之下的版本只能使用硬件设备进行开发调试。虽然现在低版本的iOS设备越来越少了,但是有时客户的需求可能会要求我们一定要兼容iOS5(转载 2014-12-30 18:18:44 · 780 阅读 · 0 评论 -
iOS网络通信类库用AFNetworking替换ASHttpRequest的解决方案
一、AFNetworking替换原因经过近两年开发IOS使用AFNetworking和ASIHttpRequest的经验,结合在实际开发App的遇到网络问题和线上app用户反馈及在用测试工具开发测试中的反应情况,最后得出结论AFNetworking的优点相对ASIHttpReqeuest的优点大一些,尤其在网络稳定性方面。处理crash这些情况,下面通过两者详细的优缺点比较了解 一下,原创 2014-10-25 10:35:52 · 15584 阅读 · 1 评论 -
通过AFNetworking下载网络闪屏用的图片并存储到本地同时获取header头相关信息
使用场景: 有不少App原创 2014-11-06 13:55:20 · 3946 阅读 · 0 评论 -
AFNetworking下载网络相关的附件(音视频)等到本地app包中做离线来提高用户体验
使用场景: 有时大家做的app原创 2014-11-06 14:06:23 · 25029 阅读 · 4 评论 -
NSData,NSImage,NSDictionary,NSString,NSInteger,Float,NSURL互相转换汇总
NSString 转换成NSData 对象NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding];NSData 转换成NSString对象原创 2014-11-04 17:36:11 · 6333 阅读 · 2 评论 -
解决iOS8以上系统下app底部UITabBarItem上自定义的背景色和图片,在首次启动或push之后再pop回去会变成系统默认颜色-蓝色问题
场景: 在ios8以下系统下正常显示,在ios8以上系统底部UITabBarItem会变成默认蓝色,遮挡图片上的字,首先,在ios8以下没问题是因为在iOS8以下没问题是以下方水土又原创 2014-11-19 17:18:30 · 6462 阅读 · 0 评论 -
iOS多线程编程技术NSThread、Cocoa NSOperation、GCD三者使用详解
简介iOS有三种多线程编程的技术,分别是:(一)NSThread (二)Cocoa NSOperation(三)GCD(全称:Grand Central Dispatch)原创 2014-10-13 09:18:15 · 15356 阅读 · 1 评论 -
CoreData做资讯类文章离线下载的持久化处理方案
本文仅简单说一下CoreData在实际开发中的应用原创 2014-08-30 17:16:18 · 1052 阅读 · 0 评论 -
近期开发的移动app考研帮V2.1.2上架了,欢迎拍砖
直接上图如下:原创 2014-08-30 17:28:07 · 1302 阅读 · 2 评论 -
IOS开发简单登录LoginViewController、注册RegisterViewController、UcenterViewController功能实现方法
一、个人中心未登录方法: 加判断登录状态直接打开个人中心页面4,否则出现上面引导登录或注册入口显示代码如下: #pragma mark addView- (void)addView{ //背景图 [self.view setBackgroundColor:[UIColor whiteColor]]; UIImageVie原创 2013-07-14 16:51:47 · 56258 阅读 · 61 评论 -
在UITableView顶部制作简单的UISegmentControl实例方法
如上图: 分两步:一、创建320长度背景,高不超过40最好//segment背景图UIImageView *segBgImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"segmented_bg.png"]];[segBgImg setUserInteractionEnabled:YES];[segBgIm原创 2013-06-29 07:21:09 · 5401 阅读 · 1 评论 -
Xcode 4.5.2 + iOS 6.0免证书(iDP)开发+真机调试+生成IPA全攻略
在没有iDP的情况下,要想将程序放到iPhone上调试,并最终发布IPA用于分享,需要以下几个步骤:1.自己为自己颁发一个证书用于为生成的程序签名2.修改工程配置以及Xcode的配置文件和二进制文件以阻止其验证和签名3.通过自定义生成步骤,用伪造的证书为应用程序签名4.使用一点小trick来生成IPA文件 1.创建证书创建证书的过程比较简单,打开实用工具-钥匙串访问。然原创 2013-01-03 23:39:57 · 3513 阅读 · 1 评论 -
构建XCode免证书开发环境
生成自签名开发证书1. 启动证书链管理工具(应用程序->实用工具->钥匙串访问)创建证书 1. 设置证书名称设置为iPhone Developer(该名称需要和XCode编译签名时使用的证书名称一致,下文会提到),身份类型选择自签名根证书,证书类型选择S/MIME (电子邮件),并且在覆盖这些默认值选项上打勾。选择继续制作自签名证书 2. 设置证书原创 2013-01-03 23:37:46 · 1833 阅读 · 0 评论