iOS
文章平均质量分 54
Justin105
有一天你会发现,原来完全投入的写代码也是一件很爽的事,特别是,当你解决了一个很久没解决的问题的时候,那种内心的成就感。
展开
-
关于iOS内存泄漏,还有哪些是你不知道的?
对于iOS开发者,网络请求类AFNetWorking是再熟悉不过了,对于AFNetWorking的使用我们通常会对通用参数、网址环境切换、网络状态监测、请求错误信息等进行封装。在封装网络请求类时需注意的是需要将请求队列管理者AFHTTPSessionManager声明为单例创建形式。对于该问题,AFNetWorking的作者在gitHub上也指出建议使用者在相同配置下保证AFHTTPSessionManager只有一个,进行全局管理,因此我们可以通过单例形式进行解决原创 2017-11-20 17:53:58 · 257 阅读 · 0 评论 -
适配iOS11&iPhoneX的一些坑
前阵子项目开发忙成狗,就一直没做iOS11的适配,直到XcodeGM版发布后,我胸有成竹的在iPhoneX上跑起项目,整个人都凉透了...下面总结一下我遇到的坑,不是很全面,日后补充。原创 2017-11-21 10:20:57 · 712 阅读 · 0 评论 -
NSBundle方法获取不到资源路径
NSBundle方法获取不到资源路径原创 2017-11-22 09:23:14 · 1537 阅读 · 0 评论 -
iOS: 如何正确的绘制1像素的线
iOS中当我们使用Quartz,UIKit,CoreAnimation等框架时,所有的坐标系统采用Point来衡量。系统在实际渲染到设置时会帮助我们处理Point到Pixel的转换。原创 2017-11-22 09:23:33 · 744 阅读 · 0 评论 -
Xcode9无线调试教程
Xcode9无线调试教程原创 2017-11-22 09:24:17 · 229 阅读 · 0 评论 -
手游引擎Unity和Cocos各有什么优劣?
以下我以“大型3D、大型2D、中小型2D和微型2D”来划分,尽可能减少”纠结“感。因为引擎的选择一向做不到“以偏概全”,他们各有所长,应选择自己适合的。尤其是差异化这么明显的两个引擎。转载 2017-11-22 09:24:38 · 22660 阅读 · 1 评论 -
iOS解压静态库.a文件
先先准备一个静态库.a文件,比如叫libWeiboSDK.a,放在桌面的test目录里。1、首先进入到libWeiboSDK.a文件夹 file一下libWeiboSDK.a,看一下该文件包含几种arch。 执行: cd /Users/dotnar/Desktop/Test file libWeiboSDK.a 打印:libWei原创 2017-11-22 09:25:15 · 3781 阅读 · 0 评论 -
iOS App的生命周期
iOS程序的启动执行顺序程序启动顺序图iOS启动原理图具体执行流程12345678910111213141516171819202122- (B原创 2017-12-20 17:58:29 · 302 阅读 · 0 评论 -
报错: [UIDevice wbsdk_plainDeviceID]: unrecognized selector sent to class 0x1a8382ab0
这个问题也挺奇怪的,google了一下,恰好找到了答案,特此记录一下.首先做一下说明,这是在做分享的时候遇到的,问题有点莫名奇怪,你可能会遇到以下两种错误提示:[__NSArrayM enqueue:]: unrecognized selector sent to instance 0x17425eae0[UIDevice wbsdk_plainDeviceID]: unrec原创 2017-11-28 10:55:24 · 1611 阅读 · 0 评论 -
iOS App 签名的原理
作者:bang,iOS 开发者,JSPatch 作者,做过推特中文圈和一些 iOS 独立应用,曾在腾讯工作,开发 QQ 邮箱与微信读书,现就职于蚂蚁金服。iOS 签名机制挺复杂,各种证书,Provisioning Profile,entitlements,CertificateSigningRequest,p12,AppID,概念一堆,也很容易出错,本文尝试从原理出发,一步步推出为转载 2017-12-08 10:19:35 · 289 阅读 · 0 评论 -
【爬坑总结】产品提交苹果审核之:苹果IAP内购规则
做产品的童鞋都知道,应用想要通过appstore审核,并且顺利上线到市场,是需要规避很多苹果不允许的事情。比如图片应用在提交的时候,不允许出现色情、政治等相关的不符合规定的图片,所以需要在提交的时候删除这些图片或者隐藏;再比如,UGC类的产品在提交的时候,必须有一个“举报”的功能,如果没有肯定会被拒。例子有很多,今天说一下关于支付的一个例子。IAP内购规则一款有经济系统运转原创 2018-02-03 10:43:12 · 7249 阅读 · 1 评论 -
解决刷新tableview出现漂移的现象
问题描述:tableview在加载更多数据之后 出现漂移现象(例如一次加载10条当屏幕显示到第十条 上拉加载更多的时候 刷新完数据 最后一行变不是第10行了,突然跳跃到10几行了) 同时可能伴随着 加载更多的事件出发两次(这个不一定出现)解决方案在初始化tableview的时候加上这几行_tableview.estimatedRowHeigh原创 2018-02-05 13:33:37 · 311 阅读 · 0 评论 -
mac系统xcode升级等软件更换appid账户
我们会遇到这样的问题,就是说当你的同事离职了,然后这个mac系统里的appid可能是他自的账户,然后苹果推出新的系统以及xcode等软件,这样我们升级xcode时,会提示我们输入密码,并且这个账户是不能修改的,难道要找以前的同事要密码,总不能一直用别人的账户吧,如果没有这个同事的联系方式,那不就头疼了,需要自己删除xcode,然后重新下载安装,重新下载很慢的,而且文件比较大。怎么办呢?两个解决办法...原创 2018-04-23 18:23:56 · 830 阅读 · 0 评论 -
TableView不走cellForRowAtIndexPath代理方法
今天突然同事问我,为啥他的tableview走了numberOfRowsInSection代理却不走cellForRowAtIndexPath。这个问题在我刚开始写代码的时候确实遇到过,当时也找了很久,才发现原来是我tableview的frame高度为0,怀疑苹果在代理里面是加了判断的。现在总结一下,可能出现这种情况的原因有三种:第一种:tableview的代理没设置 不用多说,要执...原创 2018-06-06 23:10:39 · 3980 阅读 · 0 评论 -
pod search搜索出来的第三方版本偏低
作为一名ios开发工程师,相信大家都很喜欢用pod添加第三方库,可有的时候发现用pod search搜索出来的第三方版本比github上要低。然后你想pod添加最新版本是无法添加进去的,是不是很郁闷。下面我来告诉只需要执行一句话 就可以更新到最新了打开终端输入:pod repo update可能需要点时间,毕竟是更新pod中的本地库需要点时间,等等 就好了那么下面来说说 pod repo upda...原创 2018-05-31 23:33:03 · 2514 阅读 · 1 评论 -
App启动就闪退引发的深思
昨天快下班的时候,测试Q我说:“小哥哥,小哥哥,你的app怎么一启动就闪退啊,而且出现闪退后,就一直都闪退。”我去,这是什么鬼,为啥我以前没发现,没办法,只能找测试妹子,问清楚具体什么情况,然而,妹子也没办法在别的手机上复现这个问题。我只好把日志导出来查看,到底发生了啥,看看,测试妹子对它做了啥。反复查看日志,发现闪退的时候压根没有打印日志,也就是说,app压根还没起来就挂了。这也太神奇了吧。翻看...原创 2018-05-31 23:33:52 · 9518 阅读 · 0 评论 -
NSCFType unrecognized selector sent to instance等问题
看到这些问题,其实打印的很清楚,就是NSCFType找不到某个方法,但瞬间又疑惑了,NSCFType是什么鬼,自己也没调用这个类,后来网上查了一下,大部分的资料是说,也就是说,instance对象过早的释放掉了,指针虽然还是指向那块内存地址,但内存实际已经被释放掉了,自然也就无法识别方法了,而且我当时定义的NSTimer为啥突然就变成NSCFType,而且更奇怪的是有时候还不是NSCFType,而...原创 2018-05-31 23:34:44 · 2312 阅读 · 0 评论 -
startAccelerometerUpdatesToQueue 野指针问题
startAccelerometerUpdatesToQueue 野指针问题原创 2017-11-21 10:20:38 · 487 阅读 · 0 评论 -
iOS 如何缩小包体的大小 (IPA)
下面介绍了 iOS 优化 ipa 安装包大小的几种方法。原创 2017-11-21 10:20:28 · 5138 阅读 · 0 评论 -
iOS 开发者账号有什么区别?
苹果对开发者主要分为3类:个人、组织(公司、企业)、教育机构原创 2017-11-20 17:56:35 · 1131 阅读 · 0 评论 -
XcodeColors插件与CocoaLumberjack工具
工欲善其事必先利其器,好的开发者一定是懂得利用工具来提高自己的效率的,Xcode有很多第三方插件可以使用,最近发现一个可以给控制台着色的工具XcodeColors,结合CocoaLumberjack一起使用可以让控制台有选择的输出信息,可以把输出到控制台的信息分为多种类型,在不同场景下输出不同的信息下面记录一下如何使用XcodeColors / CocoaLumberjack 和过程中遇到的问题原创 2017-11-20 17:57:47 · 491 阅读 · 0 评论 -
Xcode中Assets.xcassets的使用和优缺点
Assets.xcassets是一个图像资源管理工具,为开发者提供很大方便。原创 2017-11-20 17:59:18 · 4182 阅读 · 0 评论 -
在Images.xcassets 只能用 imageNamed 加载里边的素材 其他方法 你就别费老劲了
1.Images.xcassets中的素材原创 2017-11-20 18:00:52 · 316 阅读 · 0 评论 -
iOS 修改文件 禁用系统功能
iOS 修改文件 禁用系统功能原创 2017-11-20 18:02:28 · 1125 阅读 · 0 评论 -
Lottie初级教程:打造iOS APP完美动画
好的APP用户界面动画如果通过精准的设计就能极大地提升用户体验。这也常常是区分APP优秀与否的一个重要标准。实现与设计一个有意义且实用的动画是同样困难的,尤其是当动画或者视图切换非常复杂时,对iOS开发者来说是很难将这个动画在APP中实现的。原创 2017-11-20 18:04:26 · 608 阅读 · 0 评论 -
iOS开发经验总结
在iOS开发中经常需要使用的或不常用的知识点的总结,几年的收藏和积累(踩过的坑)。原创 2017-11-20 18:05:56 · 430 阅读 · 0 评论 -
iOS UIWebview加载URL静态页面部分手机加载不出界面
前几天,测试时发现有一台(其他手机都没问题) 手机用UIWebview加载静态界面的时候加载不出来,后来发现是又由于 没有对url 字符串地址进行utf-8转码造成的,将 pathstring 转码后 就可以访问了 NSString* pathString =@"xxxxxxxxxx";NSURL* url = [NSURLURLWithString:pathString];NSURL* url2 = [NSURLURLWithString:[pathStringstringByAddingPe原创 2017-11-20 18:07:03 · 1549 阅读 · 0 评论 -
iOS H5容器的一些探究:UIWebView和WKWebView的比较和选择
iOS H5容器的一些探究:UIWebView和WKWebView的比较和选择原创 2017-11-20 18:09:23 · 638 阅读 · 0 评论 -
iOS打包上传 ERROR ITMS-90168解决方案
用Applictaion Loader直接上传的时候报错 ERROR ITMS-90168: "The binary you uploaded was invalid."主要原因有一下三方面原创 2017-11-21 10:18:21 · 616 阅读 · 0 评论 -
33 款驰骋 2017 的 iOS 开源库
33 款驰骋 2017 的 iOS 开源库转载 2017-11-21 10:18:40 · 599 阅读 · 0 评论 -
iOS App 稳定性指标及监测(转载)
iOS App 稳定性指标及监测作者介绍:李运锋,美团点评iOS工程师,5年iOS开发经验,现在是美团点评点餐团队的一员。前言本文较长(5000字左右),建议阅读时间: 20min+一个iOS App的稳定性,主要决定于整体的系统架构设计,同时也不可忽略编程的细节,正所谓“千里之堤,溃于蚁穴”,一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃。尤转载 2017-11-21 10:18:56 · 1096 阅读 · 0 评论 -
iOS同一项目多个Target的快速实现方法 - 两种使用场景详解
我们项目中,默认建好是只有一个target的,但是,一些场景中,多target能帮助我们更好的使用项目。原创 2017-11-21 10:19:10 · 3366 阅读 · 0 评论 -
iOS应用程序安全(20)-本地数据存储及其安全性(NSUserDefaults, CoreData, Sqlite, Plist 文件)(转)
文我们将看看应用在本地存储数据有哪些方法以及这些不同方法的安全性。转载 2017-11-21 10:19:41 · 636 阅读 · 0 评论 -
App Store 审核指南
App 正在改变世界,丰富人们的生活,并为像您一样的开发者提供前所未有的创新机会。因此,App Store 已成长为一个激动人心且充满活力的生态系统,正为数百万的开发者和超过十亿的用户提供服务。不管是开发新手,还是由经验丰富的程序员所组成的大型团队,我们都非常欢迎您为 App Store 创建 app,并希望能够帮助您了解我们的准则,以确保您的 app 能够快速通过审核流程。转载 2017-11-21 10:19:54 · 1587 阅读 · 0 评论 -
iOS App被拒常见原因
常见App提交上架被拒原因(原创 2017-11-21 10:20:14 · 901 阅读 · 0 评论 -
iOS延迟任务中途怎么取消
前两天在写代码过程中遇到 延迟任务需要中途取消的操作,当时把我给难住了,后来在网上查一些资料,看到王魏的 《Swfit Tips》中的一个实现方法,感觉很棒,稍做修改后,在此分享给大家。延迟任务通GCD DispatchQueue.main.asyncAfter 实现, 主要思路是 把GCD中 block中的实现引用出来, 如果中途需求取消,则将block置为空,当延迟时间到达时将不再做任何事...原创 2019-07-21 02:45:11 · 1679 阅读 · 0 评论