
ios开发
文章平均质量分 52
lvmaker
这个作者很懒,什么都没留下…
展开
-
在OC项目中使用SwiftUI
几年前的一个老OC工程,最近想要在上面新增几个功能,打算使用SwiftUI来做,顺便复习下swiftUI的知识。第一步:创建SwiftUI文件。第二步,在创建的SwiftUI文件中添加转换成OC的代码。第四步,在OC中调用SwiftUI的代码。原创 2022-09-04 11:10:37 · 2790 阅读 · 1 评论 -
照片时间隐私政策
照片时间隐私政策版本更新日期:2022年5月22日版本生效日期:2022年5月22日本应用尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。但本应用将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本应用不会将这些信息对外披露或向第三方提供。本应用会不时更新本隐私权政策。 您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本应用服务使用协议不可原创 2022-05-22 21:43:47 · 352 阅读 · 0 评论 -
Code Snippets 使用
一个偶然的机会,了解了到了xcode一个非常不错的、可以提高代码编写效率的工具,Code Snippets。关于如何使用Code Snippets来设置自己的代码片段,请参考下面这篇文章: http://blog.youkuaiyun.com/wzzvictory/article/details/12163939文章写的很好、把如何自定义Code Snippets的方法讲的很透彻,唯一的缺点是没有设置快捷键,原创 2017-09-04 23:33:55 · 2550 阅读 · 0 评论 -
GUPImage库的队列管理
最近项目进度不是很紧张,开始研究GUPImage库的源码,发现GUPImage中的队列管理方式设计的很巧妙,值得学习和分享。 在GPUImageOutput.h这个文件,声明了5种不同类型的队列执行方法:void runOnMainQueueWithoutDeadlocking(void (^block)(void));void runSynchronouslyOnVideoProcessi原创 2016-07-11 18:20:02 · 2240 阅读 · 0 评论 -
重要经验八---UIImage转换为CVPixelBufferRef
最近做一个视频处理的项目(Rokk!),需要将opengl渲染后的特效保存为视频,由于使用了第三方库,所以不能直接使用opengl的framebuffer,后面使用了一种比较蛋疼的方式:使用glReadPixels来读取每一个渲染帧,转换为UIImage,然后将UIImage转换为CVPixelBufferRef,使用AVAssetWriterInputPixelBufferAdaptor和AVAs原创 2016-05-26 16:01:45 · 14570 阅读 · 6 评论 -
Runloop 理解
原文出处: http://blog.youkuaiyun.com/fhbystudy/article/details/20940913一、Runloop简介:Run loops 是线程相关的的基础框架的一部分。一个 run loop 就是一个事件处理 的循环,用来不停的调度工作以及处理输入事件。使用 run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状转载 2016-02-28 12:17:58 · 671 阅读 · 0 评论 -
CocoaPods为工程的所有target增加依赖支持
本文转自:http://blog.youkuaiyun.com/vieri_ch/article/details/40590317?utm_source=tuicool&utm_medium=referral在使用CocoaPods时,pod install默认只能为xcode工程的第一个target添加依赖库支持。如果要为所有的target增加可按照如下步骤进行两种情编辑Podfile文件第一种 所有的t转载 2016-03-04 17:23:55 · 2905 阅读 · 0 评论 -
给GPUImage录制的视频添加水印
国内目前使用GPUImage来做视频实时处理的应用貌似还不是很多,所以相关的资料也比较少。我们在实时录制视频之后,想加个水印,都要到处找资料,为了避免大家重复造轮子,现将我的解决办法帖出来。 GPUImageAlphaBlendFilter *blendFilter = [[GPUImageAlphaBlendFilter alloc] init]; blendFilter.mix原创 2016-01-27 15:11:35 · 9387 阅读 · 11 评论 -
IOS上获取图片、文件的MD5值。
最近做了一个拍照应用,要将图片上传到服务器,因此需要用到md5校验文件,适用下面的代码就好: #import define CHUNK_SIZE 1024*8(NSString )getFileMD5AtPath:(NSString )path{NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:path]; if原创 2015-09-18 12:03:20 · 8327 阅读 · 3 评论 -
iOS 多语言支持,应用程序国际化 xcode4.5
最近要对一款游戏进行多语言本地化,在网上找了一些方案,加上自己的一点点想法整理出一套方案和大家分享!多语言在应用程序中一般有两种做法:一、程序中提供给用户自己选择的机会;二、根据当前用户当前移动设备的语言自动将我们的app切换对应语言。第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点:1.本地化应用程序名称2.本地化字符串3.本地化转载 2015-10-03 14:38:26 · 600 阅读 · 0 评论 -
ios一个工程的多个target
转自:http://blog.youkuaiyun.com/yongyinmg/article/details/40985341由于项目需求,同一项目需要发两个版本,两个版本只有小部分不同,特地研究了一下target,小有了解,把创建target的经过记录在案,方便过后查看,如有疏漏,请网友指正。创建target有两种方式,1是通过新建target可以通过Fil转载 2015-09-14 13:30:01 · 3139 阅读 · 0 评论 -
把自己的开源库添加cocoapods
CocoaPods提供了一种令人Amazing的方式来引入第三方库,作为一个ios开发者,没使用过CocoaPods是一件很遗憾的事情。我从14年开始接触CocoaPods,并在自己的项目中广泛使用它来引入第三方库。我从事ios开发5年多来,积累了大量经过了验证的类别、定制的UI等等OC代码,每次进行新项目开发,都会把积累的这些代码copy到新项目中,需要做大量的重复工作,有诸多不便,于是打算将这些原创 2016-06-20 21:47:32 · 2144 阅读 · 1 评论 -
利用AVMutableVideoComposition在特定时间添加水印
今天下午,一个csdn上的朋友加我QQ,问我如何在指定时间段内给视频添加水印,很小众的需求,但是确实有一些应用场景。我研究了一下,在之前加水印的基础上,加了一个动画,效果还可以,故分享给大家。- (void)applyVideoEffectsToComposition:(AVMutableVideoComposition *)composition size:(CGSize)size{ //原创 2016-07-18 20:33:46 · 5871 阅读 · 2 评论 -
iOS __attribute__ 总结
attribute是GNU C特色之一,在iOS用的比较广泛.系统中有许多地方使用到. attribute可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute)等.今天在研究iOS开发模块解耦的时候,发现了一个平时我忽略太多次的一个东西,attribute,本来想深入研究一下,分享给大家,结果找到了一篇转载 2017-08-12 20:24:13 · 719 阅读 · 0 评论 -
The Google Mobile Ads SDK was initialized incorrectly
今天在升级google ad 的时候,启动应用就有一个crash,看日志:关键信息如下:The Google Mobile Ads SDK was initialized incorrectly. Google AdMob publishers should follow instructions here: https://googlemobileadssdk.page.link/admo...原创 2019-08-25 11:23:30 · 4696 阅读 · 2 评论 -
iOS try-catch memory leak详解
iOS try-catch memory leak详解无论多优秀的客户端的工程师,都架不住服务端不经意间给你吐回的异常数据,怎么能够尽量的避免被坑呢?一个可能的方式,在使用数据之前做好类型校验;另一个,在涉及一些可能会越界或者自己不放心的地方,加一下try-catch,不过使用try-catch的时候,有一些注意事项,其中最重要的就是 memory leak。如何模拟或者检查泄漏?定义一个最...原创 2019-03-21 19:03:14 · 1309 阅读 · 0 评论 -
使用clang查看OC源码C++实现报错的处理
错误产生的原因:include path for stdlibc++ headers not found; pass ‘-std=libc++’ on the command line to usethe libc++ standard library instead [-Wstdlibcxx-not-found]xcode10 ios12已经彻底没有这个lib了解决办法直接去xcode...原创 2019-03-17 17:57:04 · 1528 阅读 · 0 评论 -
iOS 多window statusbar rotation 控制
一、问题的产生临近发版时,同事突然找我帮忙看一个statusbar旋转的问题:应用主页只支持竖屏(有子页面需要横屏,所以app还是需要支持portrait、landscapeLeft、landscapeRight三个方向),打卡手机的横竖屏锁,旋转手机,只支持 portrait 的首页的statusbar方向竟然发生了旋转。二、问题的定位发现这个问题,菊花一紧,赶紧下了一个appstore线...原创 2018-10-18 15:50:30 · 1049 阅读 · 0 评论 -
情人节分享几个不错的娱乐工具
一、各大视频网站去除VIP、广告插件vip看看: http://vip.72du.com/?f=vipbar2#help二、全网音频搜索、下载疯狂音乐搜索: http://music.ifkdy.com/比如,我从QQ音乐中,搜索 追梦赤子心,得到如下结果: 红线框中,是音乐文件的地址,如果想要下载这个音乐文件,复制这个文件,打开电脑的终端,使用curl命令来获取,cur...原创 2018-02-14 11:25:23 · 706 阅读 · 0 评论 -
iOS framework 制作
最近在写了一个上传人眼图片的sdk给第三方用户使用,用到了iOS framework,在网上找了一些这方面写的比较好的文章: //iOS framework 具体制作过程 https://www.cnblogs.com/oc-bowen/p/7478461.html//xcode的一些优化策略。 http://815222418.iteye.com/blog/2317439转载 2018-01-14 22:22:19 · 1193 阅读 · 2 评论 -
iOS模板和编码规范(文章收藏)
这篇文字写的很好: http://www.cocoachina.com/ios/20170419/19087.html转载 2017-12-10 22:57:18 · 297 阅读 · 0 评论 -
#pragma clang diagnostic ignored 作用
我们首先要搞清楚的是:作为预处理指令,#pragma 在编译时进行计算。但它并不像如 #ifdef…#endif 之类的宏,#pragma 的使用方式不会改变你的应用运行时的行为。相反的,#pragma 声明主要由 Xcode 用来完成两个主要任务:整理代码和防止编译器警告。我相信大家都用过 #pragma mark来在划分代码模块,使代码更整洁、逻辑更清晰。例如:@implementation V原创 2017-08-27 19:26:00 · 2601 阅读 · 0 评论 -
使用 resizableImageWithCapInsets获得想要的图片
很早就用过 resizableImageWithCapInsets 来拉伸图片,然后把得到的图片给一个UIImageView,例如imgView,我们能得到相应的效果,这很完美,大家都喜欢。可是,如果我们把这个UIImageView的image属性传递给别的UIImage时,我们得到的不是UIImageview上展示的效果的image,而是,原来未拉伸之前的 image。那么问题来了,如何获取到拉原创 2015-03-15 18:42:12 · 4858 阅读 · 1 评论 -
iOS release版本中去掉NSLog输出
最近项目不是很忙,所以又来整理一下代码,首先发现项目中很多地方都用了NSLog,这是不科学的。那必须得解决一下啊,随便一搜索都知道怎么搞了,我just做一个转载:即:在.pch文件中添加下面一段:#ifndef __OPTIMIZE__#define NSLog(...) NSLog(__VA_ARGS__)#else#define NSLog(..转载 2015-02-03 16:33:17 · 5590 阅读 · 0 评论 -
iOS [UIScreen mainScreen].bounds 获取屏幕大小不对的问题
最近在做 随遇(我们公司的陌生人社交应用) 的时候,做了一个滑动旋转的引导图,类似当当和百度音乐,在对iphone 6 plus做适配的时候发现了一个奇葩的问题:在公司某个同事的机器上,引导图显示是正常的,在其他人的6P上,显示不正常,让我觉得很疑惑,于是乎debug一番,发现如下规律:1,在引导图能正常显示的机器上,通过[UIScreen mainScreen].bounds 获得的高度是原创 2015-01-27 11:48:54 · 21717 阅读 · 5 评论 -
ios并发编程的总结
最近这段时间,花了很多精力,仔细的学习了ios并发编程相关的内容,对并发编程的理解有了更深刻、全面的认识,现做一个简单的总结。一,ios中实现并发有哪几种方式? GCD,NSQueueOperation,NSTimer,NSThread。二,上面四种实现方式,具体是有哪些常用的接口及注意事项:1,GCD dispatch_queue_t currentQueue =原创 2013-05-24 11:09:51 · 1473 阅读 · 0 评论 -
Objective-C 和 Core Foundation 对象相互转换的内存管理总结
Objective-C 和 Core Foundation 对象相互转换的内存管理总结http://blog.youkuaiyun.com/yiyaaixuexi/article/details/8553659iOS允许Objective-C 和 Core Foundation 对象之间可以轻松的转换,拿 NSString 和 CFStringRef 来说,直接转载 2013-05-08 09:32:42 · 1180 阅读 · 0 评论 -
iOS ARC 内存泄露问题
最近在使用自己iPhone和iPad看电影或者看新闻的时候,各种程序都经常崩溃,我就奇怪了,怎么会崩溃呢,什么时候每个程序都变得这么脆弱了。用 腾讯手机管家一看内存情况,吓了一跳,可用内存竟然只有30m左右,我结束掉后台所有的应用,然后再看,发现仍然只有35m左右,我明白了,估计是某些程序内存泄漏了。 作为程序员的我,觉得现在ios应用一般都是用arc写的,怎么会有内存泄漏呢?一问度娘,发现转载 2013-05-06 10:23:15 · 3220 阅读 · 0 评论 -
ios KVO机制的认识
KVO,这个词,我很熟悉,也曾经认为自己对它理解的很好,直到今天看到了使用KVO实现的代码,才真正了解它的强大。1,KVO的优点(从别的地方copy过来的):KVO的优点:当 有属性改变,KVO会提供自动的消息通知。这样的架构有很多好处。首先,开发人员不需要自己去实现这样的方案:每次属性改变了就发送消息通知。这是KVO 机制提供的最大的优点。因为这个方案已经被明确定义,获得框架级支持,原创 2013-04-12 11:11:18 · 999 阅读 · 0 评论 -
使用UIWebView联合登录后清除缓存的方法。
最近迫于公司的政治压力,做联合登录,由于需要与服务器端沟通、联调,过程之坎坷曲折,可见一斑。现将这部分工作中比较有用的东西做一个简单的总结:1,联合登录(新浪)的时候,如果想在联合登录之后,客户端可直接发微博,客户端和服务器端的appkey和appseratekey是要相同?答:是的,而且是必须的。至于为什么客户端的名称和申请应用appkey的时候的名称可以不同,我想,是因为公司和新浪签定原创 2013-03-15 11:17:52 · 2156 阅读 · 0 评论 -
百度地图api在xcode4.5中编译需要注意的事情
今天在老大的要求下,将原来用google地图实现的地图展示,换成百度地图。从开始预研到最后的修改,每一个过程,都有很多需要注意的地方,现对今天遇到的问题做一个总结: 1,将头文件和百度地图的.a文件添加到项目后,编译不过。 原因:百度这个sdk出来的时候,苹果还没有出iphone5和ios6,也没有出xcode 4.5,因此,根本谈不上对armv7s的支持。 解决办法:原创 2012-10-23 21:58:43 · 1528 阅读 · 0 评论 -
xcode4.5新建的项目在ios 5.1上崩溃的问题。
体验xcode4.5,新建了一个比helloworld稍微强点的demo,结果,在真机上运行的时候,崩溃。打开错误提示,可以看到:Terminating app due to uncaught exception ‘NSInvalidUnarchiveOperationException’, reason: ‘Could not instantiate class named NSLa转载 2012-10-23 17:27:55 · 1433 阅读 · 0 评论 -
百度地图ios api使用中遇到的问题总结
这次更换百度,让我纠结了很久(约一个星期),其中遇到各种各样奇怪、恶心的问题,在攻克这些问题之后,有必要做一个较为全面的总结,希望能帮到遇到类似问题的童鞋。 1,百度地图在xcdoe 4.5和ios6.0上编译真机版时,不能编译过。 解决办法:将真机版与ios simulater版合并,合并方法百度在线指导文档上有,而下载下来的 pdf文档上没有。(这个有点蛋疼) 2,原创 2012-10-29 19:24:11 · 3324 阅读 · 0 评论 -
ios给图片添加创建时间(二)
终于又有时间来续写剩下的部分了。 在上一篇中,拍照片时,获取本地时间,然后绘制在图片上,最后保存到相册中,严格意义上讲,这不算是获取照片的时间。 对于一张很久之前拍摄的照片(使用系统相机拍摄,没有时间),要获取时间,就靠下面的内容了:1,导入 AssetLibray.framework,使用其中的ALAssetLibrary 类。在使用这个framework时,会提示开启定位服务(原创 2012-10-19 10:50:16 · 4174 阅读 · 0 评论 -
重要经验一:比较两个UIImage是否相同
稍微算了一下,到2014年5月,我从事ios开发就3年了。这三年中,我经历 ios4.0 --- ios7.*、xcode3.2---xcode5.*,开发过几千行代码的小应用、也开发过几十万行代码的大应用,一步步的走来,对ios以及ios应用的开发的认识逐步加深。在开发应用的过程中,我遇到过许多艰难的问题,幸得到博友或者论坛友的帮助,在此对所有分享知识、经验的朋友表示感谢。 目测201原创 2014-01-11 19:57:07 · 13581 阅读 · 1 评论 -
mac 下升级svn到1.70
苹果推出xcode5已经有一段时间了,由于某些历史原因,家里的xcode停留在xcode4.5很久,直到最近才将其升级到xcode5。 用xcode5打开工程,开始干活,提示要不要把svn切换到 svn 1.7.0,果断点了 YES。之后从命令行输入svn up进行代码更新的时候,提示要升级svn到1.7.0,然后开始搜索升级svn的方法,各种高大上,巨复杂无比,看得我这不习惯使用命令行的人原创 2014-02-27 11:18:03 · 2646 阅读 · 0 评论 -
重要经验二:不可不知的AFNetworking和SDWebImage开源库
在技术领域,我们都追求高效实用,在国内开发人员基础远远落后于美国和印度高手的现实下,我们一定要学会充分利用一些经典的开源库。 AFNetworking库,我认为是目前最优秀的开源网络库,基于NSURLConnection,目前我们最可能用到的地方是JSON请求或者XML请求;可以设置GET或者POST方式提交数据,而GET或者POST的NSURLRequest,和NSURLConnectio原创 2014-03-30 09:19:07 · 13035 阅读 · 1 评论 -
重要经验七---UITextView文字的阴影显示
很久没有更新blog了,原创 2014-11-17 23:54:14 · 4763 阅读 · 1 评论 -
UMSocial----getSnsPlatformWithName snsName is wxsession
最近在使用友盟社会化SDK的时候,原创 2014-08-07 15:44:09 · 1996 阅读 · 0 评论 -
重要经验六 NSDictionary排序
集合类,比如NSArrray原创 2014-08-05 20:22:39 · 10522 阅读 · 1 评论