iOS开发
不断积累、分享iOS开发中的经验
吾身三省
技术路曼曼其修远兮,吾将上下而求索。
一万年太久,只争朝夕。
展开
-
在内测版本中增加地址切换动能
需求:在内部测试的App版本中,增加一个可以切换后端接口地址的功能。方案:为工程增加一个配置(Configration),在打包内测版本时使用该配置,在该配置中增加自定义宏,在代码中使用该宏包裹住内测版本中地址切换部分的代码。步骤:1,在Project - Info Tab中的Configrations中点击“+”,选择“Duplicate ‘Release’ Configuration”,增加配置“InternalTest”。2,在Targets - xxx - Build Settings -原创 2020-10-26 22:03:26 · 233 阅读 · 0 评论 -
自动布局中的对齐矩阵(Alignment Rect)
看个需求:需要实现一个带有阴影和圆角的蓝色按钮,按钮右上方还有一个红色数字角标。要求蓝色按钮的本身(不包括阴影和角标)位于屏幕X方向中间。原创 2020-06-22 18:25:33 · 1639 阅读 · 0 评论 -
自动布局(AutoLayout)中更新视图布局的几种方式
根据视图的类型,分为以下几种情况:1,对于具有固有内容尺寸(intrinsicContentSize)的视图类型,如UILabel, UIButton, UIImageView, UITextView等,其高度取决于内容的高度,所以我们不用显示的设置其约束中的高度属性。2,对于UIScrollView,我们设置好子视图的约束后,系统会自动自动调整大小。3,对于UITableView、UICollectionView等存在复用内容的视图,如果需要将其作为一个子视图插入到其他视图中时(例如UITableV原创 2020-06-18 23:25:51 · 724 阅读 · 0 评论 -
对使用自动布局的UITableView进行上拉加载更多操作时,tableView向上跳动一定的高度
问题:对使用自动布局的UITableView进行上拉加载更多操作时,tableView向上跳动一定的高度。分析:搜索 UITableView 自动布局 加载数据 reloadData 跳动之类的关键字,搜出来的是手动布局下设置estimatedRowHeight = 0;自动布局下在VC中增加一个字典来缓存indexPath对应的高度之类的答案。成员变量private var cellH...原创 2020-04-10 14:59:15 · 591 阅读 · 0 评论 -
通过Universal Link进行微信分享
参考:1,官方接入文档。2,通用链接的一点整理。3,微信分享,一直跳转二次,版本:1.8.6.1SDK?注意点1:正确的配置通用链接,详见上面参考1和参考2。注意点2:在info.plist中添加URL scheme为微信开放平台的AppID。注意点3:其他步骤按照参考1的官方文档去做。问题1:拉起微信后提示“由于应用universal link校验不通过,无法完成微信分享”原因...原创 2020-03-07 01:06:42 · 5662 阅读 · 0 评论 -
iOS13上基于UIScene的应用在WKWebView中崩溃
WKWebView使用了UIAlertView,导致在iOS13上UICoreFoundation中崩溃。暂时没有解决办法,标记。参考:https://stackoverflow.com/questions/58181815/wkwebview-thread-1-signal-sigabrt-when-using-location...原创 2019-12-19 17:44:10 · 562 阅读 · 0 评论 -
WebViewJavascriptBridge分析及扩展
WebViewJavascriptBridge的原理参考这篇[iOS 开发] WebViewJavascriptBridge 从原理到实战,写的不错。对它做了一点改动:H5调用原生方法时,如果该方法并不是原生要处理的函数的话,原生返回指定内容给H5。WebViewJavascriptBridgeBase.m- (void)flushMessageQueue:(NSString *)messa...原创 2019-12-05 21:16:30 · 173 阅读 · 0 评论 -
App启动时间优化
先挖坑官方视频:Optimizing App Launch原创 2019-12-04 23:04:25 · 130 阅读 · 0 评论 -
iOS13适配之SceneDelegte
老项目升级到了XCode11 + iOS13,但是通过第三方平台还是收集到了崩溃信息。以这个最为棘手:崩溃时发生的异常:崩溃调用栈:0 CoreFoundation ___exceptionPreprocess + 2201 libobjc.A.dylib objc_exception_throw + 562 CoreFoundation +[_CFXNotificationToken...原创 2019-12-04 00:10:36 · 3433 阅读 · 0 评论 -
XCode归档(Archive)过程及部分错误的分析
先介绍一下iOS开发中使用的编译器LLVM开发iOSApp的Objective-C / Swift是编译型语言,从XCode5之后其对应的编译器正式有GCC过渡到LLVM(5.0)。经典编译器设计:LLVM的设计简介:这种前端-优化器-后端的设计,可以方便的接入多种语言,和多种CPU架构。LLVM包括:LLVM核心库:LLVM提供一个独立的链接代码优化器为许多流行CPU(以及一...原创 2019-12-01 19:23:53 · 2592 阅读 · 0 评论