随笔分类 - iOS
摘要:背景: 最近做APP备案,需要对项目做一系列对优化改进,其中就包括了代码混淆,顾名思义,混淆是为了代码安全,是为了增加逆向破解的难度与复杂度。 目前市面上,免费和付费都有,一些公司对APP加固已经做成了产业,形成了一整套的解决方案,不过收费也是杠杠的,我也联系了其中一家,收费大概是【一年】【单APP
阅读全文
摘要:看到这篇好文,忍不住想分享一下 本文转自https://juejin.im/post/5d05b45bf265da1bcc193ff4 版权归原文所有 我是分割线 【原文如下】 SwiftUI or Flutter ? 前言 相信每一个见到 SwiftUI 的开发者,都会立刻将这门船新的 UI 框架
阅读全文
摘要:很久没动pod,最近更新发现: CocoaPods报CocoaPods was not able to update the `master` repo. If this is an unexpected issue and persists you can inspect it running `
阅读全文
摘要:最近也遇到这个问题,把我解决的思路记录一下 1、问题: 用wkwebview加载(loadRequest)沙盒documents下html文件 模拟器可以,真机不行 (前提是html内部含引用外联样式js等) 2、解决及分析: 对于uiwebview,在模拟器和真机下,我们用loadrequest都
阅读全文
摘要:记录一下。 webview(或wk)用 loadHTMLString加载内容时 ,如果只是单纯的html内容,样式等都写在内部,直接设置baseURL为nil即可。 不过当html里包含外部样式或调用外部js文件时,就需要通过baseurl设置一下路径。 举个最简单例子: 这里的html内部,有一个
阅读全文
摘要:1、功能需求:需要实现图片区域裁剪功能。 2、效果图: 3、实现原理:本来想自己实现的,刚好看到一个比较好的库:TKImageView,下载好研究了下,发现基本都能满足我的需求,而且封装的也比较好。于是自己就顺便仔细研读了下源码,并且稍微修改了下代码,增加了一些必要的注释(原文真的一清二白的注释啊)
阅读全文
摘要:最近有个朋友想做一个pdf预览,要求能够上下滑动翻页、带缩放、目录跳转功能。 因为之前我只做过简单的预览,那时直接用uiwebview实现的,这次找了下资料,发现一个比较好的库。 其原理实现: 自定义uiview来显示pdf+使用的是苹果官方的api读取目录+uiscrollview实现缩放及翻页。
阅读全文
摘要:关于这个问题,好像xcode9之前还是多少来着,创建方式是这样: 1、New Group创建的黄色文件夹是“假”文件夹,也就是说 show in finder 是看不到的 解释:这个文件夹并不是真正的存在在项目的目录下,里面的文件还是放在了相同的目录下;如果我们加载资源文件,并存在同名的情况下,这样
阅读全文
摘要:很奇怪的问题,在执行默认选中一个cell的时候,突然发现这句话不起作用了 (我的场景是:当前cell侧滑删除后,默认选中上一个cell) 搞了半天,终于发现罪魁祸首竟然是因为:这句话写在了侧滑事件的方法里。 试了几次,在正常函数体里执行这句话,都是正常的,在这里就是无效。 原因暂时没想到,猜测就是因
阅读全文
摘要:之前因为某些原因,需要对apple家族的手机和pad产品做一个上市时间排序,以及分析分别是哪种CPU机型 总结如下: iPad家族: 1、iPad - 2010.1.27发布 2、iPad 2 - 2011.3.3发布 3、iPad Mini - 2012年底发布 4、iPad Air - 2013
阅读全文
摘要:好长一段时间没动pods,今天偶然需要更新一个库,于是执行了下pod update,然后惊悚的出现了这个报错: [!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you
阅读全文
摘要:最近项目有个小需求,需要ios实现手机作为服务端,将内部视频文件,在外面能够直接访问 结合网上的例子,实现如下: 1、基于CocoaHTTPServer实现 2、可用pod集成,也可直接拖动文件集成 pod集成: 1、新建项目,Podfile文件如下,执行install 2、直接拖文件 a、先下载文
阅读全文
摘要:更新ruby时,报错: Failed to update Homebrew, follow instructions here: https://github.com/Homebrew/homebrew/wiki/Common-Issuesand make sure `brew update` wo
阅读全文
摘要:记录一下: 沙盒文件操作,当需要拷贝文件时,我们可以使用如下类似方式: 其中: 【from路径】没问题,只要保证是原来的文件或文件夹路径正确即可。 【to路径】这里需要注意一点,这个路径copy前,需要保证先创建出来,并且!!不能创建到最后一层。 举例: 1、我要拷贝IMG下的所有图片到一个新的文件
阅读全文
摘要:有个小需求,app需要监听pc广播的数据: 代码实现思路: 使用三方库:CocoaAsyncSocket 1、开启udp监听: udpSocket.beginReceiving() 2、读取udp的数据,包括对方设备的ip func udpSocket(_ sock: GCDAsyncUdpSock
阅读全文
摘要:刚好看到一个刻度尺文章,实现手机屏幕上画刻度尺。 然后就有一个疑问:这个现实中的1mm(1毫米)长度与手机像素之间的换算比怎么来的呢? 看了下demo代码,发现这样写的: 以上这个pmm就是得到的 1mm = pmm像素 何解呢? 原来是这样: 1、根据手机像素值:[UIScreen mainScr
阅读全文
摘要:一个比较简单能满足大部分需求的extensin,如下: swift 的基于UIView的位置属性 包含: 上下左右:left、right、top、botom 高宽:height、width 中心点:centerX、centerY 直接拷贝作为你的extension文件即可。
阅读全文
摘要:Xcode打印栏出现如下警告: Main Thread Checker: UI API called on a background thread 这个是什么错误呢? 其实这并不一定是错误,也可以理解为一种警告,说他不是错误,是因为它不一定会影响你的代码功能,可能对你的实现功能毫无影响。 那么它的含
阅读全文
摘要:Git提交代码push时,报错这个 发现原因是因为git里有一个tag(标签)和当前提交分支重名了,git检测到多个重复名称,因而报错提示你。。。 解决办法: 1、云端重新命名tag,弄好后重新pull,再push,如果还不行,就用第二种 2、本地删除掉tag,再push就可以了 - 如果是Sour
阅读全文
摘要:前言: 在一些特定场景下,我们获取到的音视频,由于格式比较特殊,用avplayer等播放器是无法播放的,此时,我们可以借助强大的VLC播放器来处理。 原理这里不再赘述,下面我们讲一下如何添加VLC播放器代码。 封装功能: 1、视频播放、暂停、重播 2、视频快进、快退(进度条和手势) 3、音量和亮度的
阅读全文