iOS
RxSwfit 使用
RxSwift 常用方法使用,这里记录一下。 RxSwfit 实现搜索
distinctUntilChanged的作用是,相邻的重复事件不产生新的事件,所以搜索中使用distinctUntilChanged可以保证只有每次触发的搜索都是不同的字符串…
短信过滤 APP 开发
本文发布在搜狐技术产品 - 短信过滤 APP 开发 一直想开发一个自己的短信过滤 APP,但是一直没有具体实施,现在终于静下心来,边开发边记录下整体的开发过程。
垃圾短信样本
遇到的第一个问题是,既然要过滤垃圾短信,那首先要识别哪些是垃圾短信?如何识别呢?
参考之前训练识别钢管…
iPA重签名 + 香色闺阁、微信重签名实战
背景 换手机之后,原来的香色闺阁不能下载,转移的时候就丢失了。又最近看到有人截屏 iPhone 上装了两个微信,一个是自己重签名的;想到自己有开发者账号,但是还没试过重签名 APP,是不是可以通过重签名来安装香色闺阁,以及实现多开微信?
步骤
说干就干,首先从简单的开始…
Xcode15 小组件兼容
背景 升级到 Xcode15 后,运行小组件,会出现WIDGET_BACKGROUND_API_ADOPTION_PROMPT的提示,如下图:
解决
创建View_Extensions.swift,代码如下:
Copy
import SwiftUI
extension…
iOS16.4 Webview 不能用Safari调试
背景 Xcode 升级到 14.3 后,模拟器是 iOS 16.4 的,想通过 Safari -> Developer -> Web Inspector 查看,结果发现查看不了
修改
一开始以为是设置 Safari 中 Advanced 没开启,去查看后,发现开关已开启。
搜索…
Xcode 创建项目默认文案修改
背景 最近需要修改 Xcode 创建项目默认文案修改,就是每次创建最上面默认生成的注释说明。想起来之前看原 Raywenderlich(现在是 Kodeco)网站下载的代码时,每个已存在的文件里都有一长串自定义的说明,而且新建文件的时候也是带有同样的自定义的说明,有过疑惑…
Xcode 14.3 Archive 失败
背景 由于手机升级了 iOS 16.4,想要真机调试,Xcode 也要升级到 14.3, 于是就升级了一下。
升级 Xcode 14.3 之前,Debug 和 Archive 都没问题;升级 Xcode 14.3 之后,Debug 没问题,Archive 就报错。错误信息如下:…
导出iPhone所有短信到Excel
导出 iPhone 所有短信到 Excel 打算找一些短信,用于作为样本训练识别。
一开始打算网上找到垃圾短信样本,但找了好久没找到,于是就想到用自己和家人手机里的短信,毕竟手机里短信一般不删除,也有小几千条,而且垃圾短信、推销、广告之类的应有尽有。
所以问题就变成了,如何导出…
CABasicAnimation进入二级界面再回来不生效
背景 发现之前同事写的某个界面有个动效,起初进入的时候是生效的,进入二级界面再返回动效就没了,动画用的是CABasicAnimation, 添加在 layer 上面.
解决
看代码没有问题,毕竟第一次就生效了,以为是在页面消失时做了什么操作,查了之后发现,页面消失时并没有操作.…
iOS界面黑白实现
背景 iOS APP 界面黑白效果实现调研整理,总的来说网上目前有下面几种方法:
针对 H5 网页:注入 js 代码
针对 APP 原生界面:
针对图片和颜色单独设置
hook UIImageView 的setImage方法,添加 UIImage 的Category,生成…
部网络货运信息交互系统位置信息插件SDK接入总结
背景 APP 接入部网络货运信息交互平台,这里记录一下接入想法和过程。
实现
iOS SDK 提供的方法,共有下面 6 个
init
start
send
pause
restart
stop
看起来很简单,但是需要考虑 SDK 某个方法可能会失败…
使用WidgetKit打包出的APP低版本崩溃
背景 APP 添加了 WidgetKit 功能,APP 最低版本是 10.0,用户反馈安装后,打开就闪退,这里记录一下原因:
解决
排查后发现用户手机系统版本较老,低于 iOS 14,由于手头没有低版本的设备,通过Xcode 12.x 添加 iOS 10.x 模拟器添加了…
Xcode14编译的APP低版本崩溃
背景 测试说 iOS 12 的手机上安装 Xcode14.0.2 导出的新包后,打开就崩溃,但是在系统版本高的手机上就没有问题。
调试后发现,崩溃日志是dyld: Library not loaded: /usr/lib/swift/libswiftCoreGraphics…
iOS CreateML的使用
背景 业务需求,想要通过拍照识别照片中指定物体的数量或者物体的种类。而这种物体的模型网上没有训练好的,需要从头开始。所以调研了苹果的 createML 的实现方案,具体操作如下:
需求是:通过拍照识别照片中指定物体的数量,实现方案大致有几种:
通过第三方平台,训练数据…
Xcode 14新建项目 Pod init失败
背景 使用 Xcode 14.0 (14A309) 新建了一个项目,然后运行Pod init,就报错,[Xcodeproj] Unknown object version (56). (RuntimeError)和can't modify frozen String…
手把手教你创建widget2
接上篇iOS Widget,这里介绍下 WidgetBundle 的用法和怎么做一个支付宝类似的 widget,上篇里把WidgetBundle写成了WidgetGroup,我的错。 WidgetBundle 的用法
再来回顾一下什么情况下使用 WidgetBundle,上篇…
Xcode14编译失败修改
背景 升级 Xcode 14 后,项目编译失败修改,共修改了两种编译错误:
一种是 bundle code sign error,Xcode 14 needs selected Development Team for Pod Bundles
一种是Module…
iOS 编译时间优化
背景 目前 App 项目不大,但是清空后重新编译时间需要 200 多秒,感觉不太合理,所以,就着手排查了一下。
通常的编译时间优化都是分为三个部分
Xcode 编译设置的优化
代码或函数编译时间的优化
三方库编译时间的优化
这里就根据上面三个部分来一一排查。
实现
Xcod…