iOS开发
钱袋儿
坚信:没有永远的大神,只有永不停止的探索
展开
-
iOS开发APP包体积优化瘦身
fdupes - 查找重复资源文件 - Plucky - 博客园Linux下使用fdupes删除指定目录下重复文件 开源地理空间基金会中文分会 开放地理空间实验室fdupes - 查找重复资源文件 - Plucky - 博客园原创 2021-11-09 18:05:57 · 2733 阅读 · 0 评论 -
Mac下搭建jenkins&fastlane,2021实战版本~
Mac下搭建jenkins&fastlane,2021实战版本~homebrew 安装简介非常的全包括M1https://brew.idayer.com/guide/start/原创 2021-04-29 15:17:23 · 707 阅读 · 0 评论 -
xcode 分析crash文件
首先是查找symbolicatecrash所在的位置。我们需要打开终端,在终端中输入如下命令:find /Applications/Xcode.app -name symbolicatecrash -type f如果不是上面的结果,需要使用下面命令设置一下导出的环境变量,然后重复上面解析的操作。(这一步很重要)export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer1. cd /Users/自己MacPro上的名..原创 2021-04-13 13:37:41 · 485 阅读 · 0 评论 -
FFmpeg常用命令
FFmpeg选项一、主要选项1、-f fmt (input/output) 指定输入或者输出文件格式。常规可省略而使用依据扩展名的自动指定,但一些选项需要强制明确设定。2、-i filename (input) 指定输入文件。3、-y (global) 默认自动覆盖输出文件,而不再询问确认。4、-n (global) 不覆盖输出文件,如果输出文件已经存在则立即退出。5、-t duration(input/output) 限制输入/输出的时间。如果是在 -i 前面,就是限定从输入中读取多少时间的数原创 2020-10-27 15:58:16 · 794 阅读 · 0 评论 -
iOS14 隐私适配及部分解决方案
iOS14 隐私适配及部分解决方案相册 定位 Local Network Wi-Fi Address 剪切板 相机和麦克风 IDFAiOS开发 ios14系统广告标识idfa获取适配(苹果idfa官方文档)APP在iOS14如何获取idfa 用户在通用中如何关闭或者开启广告标识符获取iOS14 隐私适配及部分解决方案 UITableViewCell UIDatePicker KVC 相册 定位...原创 2020-08-28 15:57:25 · 453 阅读 · 0 评论 -
设置Xcode调试模式,运行成功后等待用户交互后再启动
product -> scheme -> edit scheme->wait for executable to be launch原创 2020-06-16 10:44:58 · 384 阅读 · 0 评论 -
iOS设备信息大全以及对应设备信息获取方式(更新到iPhoneSE2代)
接入一个广告厂商API 和本身APP数据上报需要这些信息。设备信息大全设备信息获取方式原创 2020-04-26 16:06:58 · 947 阅读 · 0 评论 -
Mac下编译ijkplayer遇到的问题与解决
ijkplayer 地址https://github.com/bilibili/ijkplayer整体编译介绍时是https://www.jianshu.com/p/be1e6725844b关于 32位的armv7架构 问题解决./libavutil/arm/asm.S:50:9: error: unknown directivehttps://blog.csdn.net/qiuc...原创 2020-04-16 17:56:16 · 428 阅读 · 0 评论 -
iOS 唤起APP之Universal Link(通用链接)
介绍的还挺全面的https://www.jianshu.com/p/ab50bdaec65d原创 2020-04-13 11:42:45 · 478 阅读 · 0 评论 -
基于 IJKPlayer-concat 协议的视频无缝拼接技术实现
基于 IJKPlayer-concat 协议的视频无缝拼接技术实现转载 2020-03-02 17:04:33 · 346 阅读 · 0 评论 -
iOS开发 好用的banner控件分享 15年的老轮子,star还挺多的
SDCycleScrollView原创 2020-03-02 10:36:13 · 518 阅读 · 0 评论 -
xcode真机调试遇到的坑
真机联调时,不进入断点我这边 进行了 xcode clean 重启xcode 不生效清理了xcode derived data 重启xcode 不生效最后是 删除了真机上的APP 重新编译 断点调试生效了。。因为解决线上问题就比较着急,感觉没稳住啊~~...原创 2020-01-16 11:58:14 · 281 阅读 · 0 评论 -
iOS13适配 关于modalPresentationStyle
//转场动画效果@property(nonatomic,assign) UIModalTransitionStyle modalTransitionStyle API_AVAILABLE(ios(3.0));//转场结束后页面样式@property(nonatomic,assign) UIModalPresentationStyle modalPresentationStyle API_A...原创 2019-11-18 14:30:57 · 1810 阅读 · 0 评论 -
iOS开发之一键登录功能思考
功能背景:自家APP新用户在登录注册流程中必须走手机验证码,导致用户要有等待时间,交互体验感不好,同时每月短信费用挺高的。功能思考:以我常用的APP作对比【微博】是支持认定老设备直接一键登录、设备插入手机卡直接提示是否要使用当前手机卡进行一键登录,不需要接收验证码。【饿了么】手机登录注册 只要你申请验证码 即使 你未注册 也帮你完成注册。好像有一键登录功能数据探讨:...原创 2019-11-15 14:54:39 · 1007 阅读 · 0 评论 -
查看ipa支持的udid列表
1.首先把.ipa包解压缩,找到对应的包2.右击查看包里的内容,找到对应的证书文件,名字为:embedded.mobileprovision3.打开电脑终端,进入原来embedded.mobileprovision的目录,然后运行命令行:security cms -D -i embedded.mobileprovision4.Done 慢慢查看所有包含的设备吧。...原创 2019-10-30 18:22:28 · 578 阅读 · 0 评论 -
iOS苹果商店审核防复审、审核流程
防复审流程 首先 大家都知道的 17开头的IP被苹果长期使用 具体可查之前审核API的调用记录大概19年5月份是审核稍微好过一点的时候,意外发现苹果审核开始用新加坡IP地址 和英国等不同IP段的地址所以完全防范复审的逻辑:17开头的IP段一定要防范,国外IP也是有完整的IP段可以防范的 这个可以具体查询附送iOS开发 获取公网IP和局域网IP地址淘宝获取IP地址的同样IP下调用过多...原创 2019-10-22 10:32:57 · 1747 阅读 · 0 评论 -
iOS开发 CGRect常见方法和几个CGRect函数
主题:CGRect,每个视图都使用一个边框定义其界限。这个边框指定了视图的轮廓:位置、宽度和高度内容:对于边框,通常表示由原点(CGPoint,x和y)和大小(CGSize,宽度和高度)组成的CGRect矩形。下面简单描述。1、CGRecta、CGRect结构在屏幕上定义了一个矩形,它包含原点(rect.origin)和大小(rect.size)。需要了解以下CGRect函数。b、转载 2016-09-01 16:03:37 · 6028 阅读 · 0 评论 -
iOS 关于Runtime几个问题下面有见解~
* dealloc的步骤:一般来说,当引用计数到0的时候,系统就会自动调用dealloc方法,在mrc中需要调用[super dealloc],而在arc中编译器自动添加了这句代码,所以不用调用,调用的过程一般是先走玩子类的dealloc方法,然后再调用父类的dealloc方法,层层释放,和C++的析构函数一样。* retain release的实现,如何在ARC下获取一个对象的引用计数,你有几种...原创 2018-02-27 13:44:38 · 381 阅读 · 0 评论 -
关于autorelase是怎么实现的
@autoreleasepool {} 这是个语法糖,实际上就是用NSAutoreleasePool实现的而autoreleasePool是栈的结构,autorelase方法是在当前autoreleasePool栈顶的pool进行了添加操作原创 2018-02-28 13:50:16 · 290 阅读 · 0 评论 -
iOS开发 关于本地数据存储
本地存储数据简单的说有三种方式:数据库、NSUserDefaults 和文件。NSUserDefaults 用于存储数据量小的数据,例如用户配置。并不是所有的东西都能往里放的,只支持:NSArray, NSDictionary, NSString, NSDate, NSData, NSNumber。若需存储 plist 不支持的类型,可先将其归档为 NSData 类型,再存入 plist 文件.N...原创 2018-02-23 14:04:17 · 415 阅读 · 0 评论 -
MVVM 介绍 (转载)ps:感觉很入门级别,还不错~。
MVVM 介绍 朱宏旭 2014/06/10我于 2011 年在 500px 找到自己的第一份 iOS 开发工作。虽然我已经在大学里做了好几年 iOS 外包开发,但这才是我的一个真正的 iOS 开发工作。我被作为唯一的 iOS 开发者被招聘去实现拥有漂亮设计的 iPad 应用。在短短七周里,我们就发布了 1.0 并持续迭代,添加了更多特性,但从本质上,代码库也变得更加复杂了。有时我感觉就像我不知...转载 2018-03-05 14:00:12 · 261 阅读 · 0 评论 -
iOS开发 NSDate与NSString之间的转化
NSDate *dateNow = [NSDate dateWithTimeIntervalSince1970: 1343359790000 /1000];//把毫秒值转换成日期转成可见的年月日格式日期的话可以NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init] ; dateFormatter.dateFormat = @...原创 2018-03-05 20:53:42 · 513 阅读 · 0 评论 -
【iOS 中文转译】 stringByAddingPercentEscapesUsingEncoding方法被替换 iOS9.0
最近在Xcode7中,即iOS9.0,发现之前的一个方法已经不被建议使用了。该方法名即题目中提到的:stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding这个方法是用来进行转码的,即将汉字转码。可在iOS9.0中,该方法已经被另一个方法替代了,此方法即:stringByAddingPercentEncodingWithAllo...转载 2018-04-08 11:21:46 · 2410 阅读 · 0 评论 -
iOS 自动锁屏 设置
// 自动锁屏 [UIApplication sharedApplication].idleTimerDisabled = NO;// 不自动锁屏 [UIApplication sharedApplication].idleTimerDisabled = YES;原创 2018-03-26 14:17:13 · 1255 阅读 · 0 评论 -
iOS开发 UIView 的autoresizingMask属性
在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高。123456789enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIV...转载 2018-03-27 14:40:29 · 219 阅读 · 0 评论 -
iOS开发 关于调用私有函数 监测安装app 卸载 app
MobileInstallation.framework 私有API 123456789101112131415161718192021222324/*! * @brief Mobile Installation 的回调定义 */ typedef void (*MobileInstallationCallback)(CFDictionaryRef information); /*! * @...转载 2018-04-13 16:49:44 · 2243 阅读 · 0 评论 -
iOS开发 下载历史版本Xcode 下载历史版本OSX系统等
https://developer.apple.com/download/more/图1原创 2018-07-18 20:20:21 · 1107 阅读 · 0 评论 -
iOS 压缩本地图片资源
目前 我们开发的iPhone与iPad项目中 一个竖版一个横版UI层面不同但代码大量重复所以被审核4.3的问题 困扰很久尝试修改项目本身的文件避免项目代码重复率第一步是 尝试压缩本地图片资源安装brew原文 https://blog.csdn.net/Henry_moneyBag/article/details/81904228安装imagemagickbr...原创 2018-08-21 11:27:58 · 717 阅读 · 0 评论 -
Masonry 对于block内部引用self会不会造成循环引用?
Masonry约束易忽略的技术点使用Masonry不需要设置控件的translatesAutoresizingMaskIntoConstraints属性为NO;防止block中的循环引用,使用弱引用(这是错误观点),在这里block是局部的引用,block内部引用self不会造成循环引用的__weak typeof (self) weakSelf = self;(没必要的写法)原创 2017-11-27 15:02:22 · 2761 阅读 · 0 评论 -
接入moblink SDK 造成第三方登录无反应情况解决
【事故原因】MobLink SDK为了完成场景恢复功能,hook了- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourc原创 2017-12-11 10:44:31 · 1323 阅读 · 0 评论 -
IOS中的数据持久化之沙盒篇
提到数据持久化 我们必须得先了解IOS程序的沙盒机制(sandBox)。1.IOS沙盒机制介绍 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。IOS每个应用程序都有自己的三个目录(Document,Library,tmp),他们只见不能相互访问。转载 2016-08-26 10:16:41 · 653 阅读 · 0 评论 -
xib中 UIScrollView 设置contentSize 问题
在xib(storyboard)中使用 UIScrollView, 默认是勾选了autolayout选项的,在autolayout下,iOS计算UIScrollView的contentsize的机制是略有不同。在autolayout中,会在viewDidAppear之前根据subview的constraint重新计算UIScrollView的contentsize。 当在viewdidload里手转载 2016-08-26 10:11:14 · 3363 阅读 · 0 评论 -
iOS开发系列文章收集
平时如何充电虽然白天上班是比较累的,但作为程序员也是需要不断想学习的。对于旧的知识最好还是能温故而知新。今天有点累,纯技术的博客明天写吧。这里分享一下我收集的一个完整的iOS开发的系类文章集合。从最基础的C语言到OC,再到一些UIKit的一些基础知识,到最新的swift都有涉及。请叫我活雷锋C语言C语言iOS开发系列--C语言之基础知识iOS开发系列--转载 2016-08-26 10:10:28 · 348 阅读 · 0 评论 -
iOS开发 非常全的三方库、插件、大牛博客等等
UI下拉刷新EGOTableViewPullRefresh- 最早的下拉刷新控件。SVPullToRefresh- 下拉刷新控件。MJRefresh- 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)XHRefreshControl- XHRefr转载 2016-08-26 10:08:33 · 7899 阅读 · 0 评论 -
最全iOS开发之第三方库
UI下拉刷新EGOTableViewPullRefresh– 最早的下拉刷新控件。SVPullToRefresh– 下拉刷新控件。MJRefresh– 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)XHRefreshControl– XHRefres转载 2016-08-10 20:41:32 · 1817 阅读 · 0 评论 -
swift开发之定时器(NSTimer)
项目地址:https://github.com/HenryBog/SwiftDemo小心得:脚本语言的Swift 定义方法func BOOL值使用了false true 替代了OC的NO YES 突出使用了点属性,大多数OC的方法都是用点属性调用,不使用分号这件事情,我很开心更多的时候,有一个定义的变量没有使用的时候,OC只是一个⚠️ 而Swift其实,很多的时候原创 2016-08-31 22:06:03 · 820 阅读 · 0 评论 -
iOS开发中设置header 的一个解决。
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"]; // 设置content-Type为text/htmlma原创 2016-06-02 12:39:22 · 875 阅读 · 0 评论 -
App Store应用审查缩至24小时
对于大多数 iOS 和 OS X 应用程序开发商来说,苹果 App Store 的应用程序审查时间过长是一件令人困扰的事情。直到去年,App Store 审查小组审核一款应用的时间尚且需要 4 天。现在,审核时间已经缩短到了 24 个小时。如此长时间的应用程序审核会让开发者感到沮丧,尤其是在苹果因为某些原因而首次拒绝开发者的应用程序之后,他们就不得不再次提交审查,这可能会让开发转载 2016-05-12 09:30:27 · 504 阅读 · 0 评论 -
iOS开发 方法延迟执行的几种方式
1. performSelector方法2. NSTimer定时器3. NSThread线程的sleep4. GCD公用延迟执行方法- (void)delayMethod{ NSLog(@"delayMethodEnd");}1:performSelector[self performSelector:@selector(delayMet转载 2016-05-24 11:02:35 · 832 阅读 · 0 评论 -
iOS开发 接入InMobi广告平台的一些个人经验
最近项目中有使用到印度公司InMobi广告平台毕竟好多的英文文档,我就默默给翻译了一下希望对大家有所帮助。一、注册InMobi账号,新建广告单元,等待审核。1)注册账号,注册地址是:http://www.inmobi.com/,注册完成之后需要你填写联系信息以及收款信息,你就正常填写就可以,inmobi支持paypal和电汇,笔者试过,使用工行储蓄卡(双币卡,一般新办的卡都支...原创 2016-03-23 13:38:14 · 11933 阅读 · 1 评论