
iOS SDK
文章平均质量分 72
hherima
移动互联网,大有可为!APP开发经历:飞信、和4G、搜狐视频、56视频等项目。
展开
-
获取iOS系统版本,谨慎使用[[[UIDevice currentDevice] systemVersion] floatValue]——【sdk缺陷】
获取iOS系统版本,谨慎使用[[[UIDevice currentDevice] systemVersion] floatValue]原创 2015-06-08 10:43:36 · 4693 阅读 · 0 评论 -
[经验]Class MediaTransCoder is implemented in both One of the two will be used. Which one is undefined
可以断定是客户端的问题,不是framework的问题。查了很久,最后还是根据控制台输出,找到了问题所在:Class MediaTransCoder is implemented in both /private/var/containers/Bundle/Application/7D09FAA4-C843-44D9-89ED-132F614B5F5D/FSVideo.app/Frameworks/MediaTransCoder.framework/MediaTransCoder (0x10675c6d0原创 2017-11-30 14:18:47 · 7741 阅读 · 0 评论 -
放在下一个runloop执行,保证当前执行正确
正常逻辑:代码行2执行完,执行代码行3.可以达到预期效果。异常逻辑:代码行2是个数据处理(黑盒)。并没有立即返回一个错误返回一个错误, notifyError。但是代码还是行代码行3了。这就是bug了比较low的解决办法有:performSelect或者添加flag等。比较优雅的解决办法是放到下一个runloop执行这样即便代码行2返回错误,但是,需要执行完代码行3才结束当前runloop。所以,在正常逻辑后,再出现异常,一般代码可以处理的。原创 2017-01-03 10:57:36 · 2851 阅读 · 0 评论 -
UIScrollView频道滑动(授人以鱼,不如授人以渔)
内容型APP(比如新闻,视频,汽车类型),通常采用多个页面(频道)滑动;另外,自动滚动的焦点图用到比较多的。本文简单介绍使用UIScrollView实现上述功能的原理,并附部分代码。无论是频道的滑动,还是焦点图自动滑动,都是基于UIScrollView的特性,viewController 实现UIScrollView的代理,并做一些控制即可。原创 2017-03-07 17:19:38 · 1121 阅读 · 0 评论 -
使用AVPlayer播放m3u8视频时,实现视频截图
最近需要一个对m3u8文件的截图,但是搜索一段时间后发现方法都类似,但都不成功。经过测试该方法:普通的mp4和mov格式视频可以通过下面的方法获取截图。但是m3u8文件则不行,总提示错误网上查阅资料后,可以使用AVPlayerItemVideoOutput的[AVPlayerItemVideoOutput copyPixelBufferForItemTime:itemTimeForDisplay:]来实现,方法如下:原创 2016-12-12 00:00:44 · 38753 阅读 · 2 评论 -
iOS 项目整体是竖屏,个别页面支持横屏
最近在做一个视频APP,工程整体是竖屏的,如下图,播放器需支持横屏。在转屏的过程遇到很痛苦的问题。[UIApplication sharedApplication].statusBarOrientation = self.UIInterfaceOrientationLandscapeLeft; 未生效设置完后,还是UIInterfaceOrientationPortrait。查阅资料是UITabbarController的方法- (BOOL)shouldAutorotate没有返回NO。这是因为当UIvie原创 2016-10-24 14:51:33 · 6143 阅读 · 0 评论 -
【精】客户端(iOS、Android)/Server,APP内部的通信协议,跨平台方案
通常Server通过一些http协议,可以告诉APP需要的展示内容图片,文字。市面上很多新闻APP,点击一个焦点新闻,APP跳到相应的频道或专题。前者是Server——>APP通信,后者是APPAPP内通信。进程间通信 以iOS平台为例,进程间通信IPC,可以通过自定义URL Schema,然后APP实现-(BOOL) application:(UIApplication *) op原创 2016-08-12 15:06:50 · 7098 阅读 · 0 评论 -
【精】Runloop 深入浅出,综合解答
Runloop 概述1、与下面知识相关:系统级:GCD,mach kernel,block,pthread应用层:NSTimer,UIEvent,自动释放池,NSObject(NSDelayedPerforming),NSObject(NSThreadPerformAddition),CADisplayLink,CATransition,CAAnimation,dispatch_get_main_原创 2016-06-29 16:38:08 · 9072 阅读 · 0 评论 -
iOS Archive 后进入other items,generic XCode Archive
部分内容摘自http://blog.youkuaiyun.com/u010069091/article/details/48386865【问题】用XCode Archive后没有列入到以往的app icon下,却进入了other items,切不能提交APP store。Type:generic XCode Archive。如图:【分析】在finder中打开刚刚失败的Archive,发现多了一个文件夹,文件夹原创 2016-05-26 18:50:54 · 6545 阅读 · 0 评论 -
NSTimer会是准时触发事件吗
NSTimer会是准时触发事件吗 答案是否定的,而且有时候你会发现实际的触发时间跟你想象的差距还比较大。NSTimer不是一个实时系统,因此不管是一次性的还是周期性的timer的实际触发事件的时间可能都会跟我们预想的会有出入。差距的大小跟当前我们程序的执行情况有关系,比如可能程序是多线程的,而你的timer只是添加在某一个线程的runloop的某一种指定的runloopmode中,由于多线程通常都是分时执行的,而且每次执行的mode也可能随着实际情况发生变化。转载 2016-02-18 10:19:14 · 1910 阅读 · 1 评论 -
UIImage实现gif文件播放
iOS 中播放gif文件可以简单使用UIImage的这个方法:[UIImage animatedImageWithImages:images duration:duration]原创 2016-02-23 11:08:01 · 5639 阅读 · 1 评论 -
OC 在任意页面,隐藏其他页面的键盘
一、当前viewController隐藏本页面的键盘 很容易。直接调用 [textfield resignFirstResponder]即可。二、目前遇到一个需求 ControllerA出来时候,隐藏当前top 任意view的键盘。那么可以使用这个[[[UIApplication sharedApplication] keyWindow] endEditing:YES];这是有根据的,OC sdk中有一个UIView的类别,就是endEditing。可以参考UITextField原创 2016-02-22 15:33:32 · 2030 阅读 · 0 评论 -
获取网络gif时候报错 <Error>: ImageIO: _CGImagePluginInitGIF malformed GIF frame#0
最近在iPad项目中需要获取gif图片,并展示(如何展示gif【点击】)。但是遇到下面的问题。代码如下: NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://photocdn.sohu.com/tvmobilemvms/20160202/14544076957794636.gif"]];//launchContentItem.contentUrl UIImage原创 2016-03-04 17:51:44 · 1902 阅读 · 0 评论 -
IOS KVC(键值编码)模式
在IOS的中,没有绝对的私有,包括方法和变量。私有方法通过类实例无法直接访问,但因为有"编译时运行"机制,我们可以通过类似perfromSelectoe的方法来访问私有方法。而IOS中的私有变量通过所谓的KVC模式也是可以访问的。下面特酷吧整理了IOS KVC模式的使用方法。 KVC模式就是key-value coding(键值编码),它的原理是使用字符串标识,间接访问对象属性。关键方法在NSKeyValueCodingprotocol中定义。KVC支持类对象和内建基本数据类型。我们主要使用到它的两转载 2016-02-18 10:18:03 · 1872 阅读 · 0 评论 -
iOS [[UIDevice currentDevice] systemName]的返回值
无论是iPhone iPad ,还是模拟器上。[[UIDevice currentDevice] systemName]的返回值总是iPhone OS。现在做一个iPad项目,需要自定义UA,该UA包含了systemName的字段。结果H5那边当作是iPhone客户端了。H5上的视频只有声音,没有画面。 后来,H5的同事说。是UA中包含了iPhone字样,他们当做是iPhone客户端来适配。iPhone客户端会一直展示海报图,并吊起全屏播放器。 查阅StackOverflow原创 2016-01-29 14:39:46 · 3440 阅读 · 0 评论 -
UINavigationController 缺点之一——【sdk缺陷】
在项目开发中遇到下面几个问题:1. 有些viewcontroller是中间界面(或者叫做过渡界面)是不能返回的2. 有时候,想更新一下已经push到navigationController中的viewController。3. 前两个结合的情况。原创 2014-12-14 17:45:57 · 1900 阅读 · 1 评论 -
"Auto Layout still required after executing -layoutSubviews” iOS7上崩溃sdk缺陷
在iOS7系统上,我项目工程里写了一个CinemaMemberView,添加到一个viewController中,结果崩溃了。iOS8和iOS6上则不会崩溃。Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews. CinemaMemberView'simplementat原创 2015-08-07 18:32:11 · 4647 阅读 · 0 评论 -
【精】iOS知识树,知识点(包括对象、Block、消息转发、GCD、运行时、runloop、动画、Push、KVO、tableview,UIViewController、提交AppStore)
本文旨在总结iOS知识网络,知识点,该知识网络罗列出常见UIKit、Foundation的对象特点和一些使用经验,可以看成是一本书;文本编辑采用树的形式,对知识点进行罗列,并标注一些使用经验(★)希望对初学者有用或给一些解决疑难杂症者提供思路;某些知识点会深入探讨;通过总结希望站在一个较高平台的角度全观Objective-C。知识树中有些是原创文章,有些则是转载网络上iOS大神的文...原创 2016-02-29 00:02:37 · 13841 阅读 · 9 评论