一点想法APP开发历程
起源2022年9月6号的时候,看到一张图片,立马收藏起来,但是不知道APP的名字,一直放在相册里收藏,打算空了自己做一个。到2023年6月21号,在逛V2的过程中看到有人问:有没有推荐的时间轴/时光回忆类的 app 或者 web 服务,最好还能控制个人数据隐私?我马上想到了这张图片,就回复了一下,于是想起来自己打算做的念头。 照片如下: 落地之前APP都是Swift开发,这个决定打算用SwiftUI练手,7月10号开始动手,界面刚开始就照着上面的照片做,列表做好了之后,再逛即刻的时候,突然发现了这个APP的名字是《好事发生》。。。赶紧下载下来收藏了起来,还加入了群。由于找到了组织,自己这个APP也就没了开发的理由,就又搁置了。 但是总感觉有些意犹未尽,《好事发生》APP定位的是好事分享,然后通过微信群增加用户活跃,总感觉和我一开始想做的不是一个东西。后面地铁上班的路上有了感觉,明确了,我要做的是一款记录琐碎想法的APP,比如上班路上、跑步的时候、洗澡的时候、散步的时候、听歌的时候,有时候会有些多愁善感的想法、或者突然冒出来的奇思妙想,因为之前自己有很多这样的经历,经常是没...
软考分享
背景为了落户,3月份的时候报名了软考-系统集成项目管理工程师,昨天出结果,过了,这里记录分享一下。 过程首先是选择考什么,然后是考虑怎么考。 考什么的要针对自己的实际情况,我选择来选择去,最后选择了系统集成项目管理工程师,因为我的目标是落户,中级的软考就满足条件了;高级的可以等中级考过之后,再来考。 然后是怎么考的问题,没考虑自学,所以要选择报班,看了希赛网、51CTO之类的,发现都要几千,贵了。后来看有人推荐江山老师,说软考中级的就找江山老师的视频看一下,软考高级的花一百多再买视频学习,我就去搜了一下,发现只要中级的只要99,而且一个月内可以退款,就买了,打算先试试看。 书籍,江山老师推荐买书,我花重金(39)买了一本书,买回来就没打开过,太厚了,不推荐购买。 学习步骤: 我是每天上下班路上,看买的视频,从精讲开始,然后是真题,然后是计算题,最后是冲刺视频;精讲的只看了一遍,有大致的印象,真题也看了一遍,计算题看了两边,然后是打印了一份十几页的资料,背了一下,最后是冲刺的视频,看了一遍。 再有就是刷题,江山老师有自己的小程序,但是我用的另一个《软考真题王》的小程序,感觉不错...
iPA重签名 + 香色闺阁、微信重签名实战
背景换手机之后,原来的香色闺阁不能下载,转移的时候就丢失了。又最近看到有人截屏iPhone上装了两个微信,一个是自己重签名的;想到自己有开发者账号,但是还没试过重签名APP,是不是可以通过重签名来安装香色闺阁,以及实现多开微信? 步骤说干就干,首先从简单的开始,先来尝试重签名香色闺阁,再尝试微信,因为香色闺阁的包内容比微信的少很多,文件容易找,相对简单,步骤如下: 重签名香色闺阁首先从网上搜素下载香色闺阁的 ipa 包,没有的可以从这里yuedu.ipa下载。 然后将 ipa 改为 zip,然后解压,会出现一个 Payload 文件夹,里面有一个StandarReader.app的文件。选中StandarReader.app,右键显示包内容,可以看到APP包中的所有内容,如下图: 重签名就是用自己的账号新建一个APP(bundleID自己定义),运行到手机上,找到运行的包(xxx/DriveData/xxx/Build/Products/Debug-iphoneos/xxx.app)或者通过打包的方式,使用AdHoc方式生成一个iPA(用于获取到描述文件和Entitle...
Flutter版本的海外剧
背景前阵子抓包,有两个海外剧的接口,最近有时间,打算温习一下 Flutter,就用来写了一个简单的 APP,包含轮播图、下拉刷新、上拉加载以及播放功能。 效果如下: 运行时需要注意 Flutter 版本的问题,可能需要修改 播放器的 package 中的代码,直接Google 搜索,修改即可,如有疑问可以联系我。 代码放在 Github 上,地址是:meiju_flutter
Xcode15 小组件兼容
背景 升级到 Xcode15 后,运行小组件,会出现WIDGET_BACKGROUND_API_ADOPTION_PROMPT的提示,如下图: 解决创建View_Extensions.swift,代码如下: 12345678910111213import SwiftUIextension View { @ViewBuilder func adoptableWidgetBackground(_ color: Color) -> some View { if #available(iOS 17.0, *) { containerBackground(for: .widget) { color } } else { background(color) } }} 然后在XXXLineProvider中,找到 ZZZ_WidgetEntryView: View,修改如下: 1...
如何开发一个 Safari 插件
背景由于常用浏览器是Safari,而 Safari 浏览器的插件比不上 Chrome,所以就有了自己开发常用的 Safari 插件的想法。 打算开发当前页面生成二维码的 Extension,因为网络原因,AirDrop 有时候搜不到手机,所以有了这个需求,而且打算这个也比较简单,所以从这个开始。 调研苹果的官方文档safari_web_extensions给出了步骤,看了好几遍,还是不知道如何下手。虽然新建项目的时候苹果帮忙把框架已经都建好了,但是还是有疑惑,疑惑的点在于: 主APP的作用是什么? Extension的作用是什么? 代码应该写在哪里? manifest.json支持的配置项有哪些,哪里可以看到,应该设置哪些? content.js、background.js分别是干什么用的,什么时候用? popup.html、popup.css、popup.js 又是指的哪部分? content.js、background.js、popup.js中操作 tab 的方法有哪些?哪里可以看到? 这些疑惑一度导致开发计划搁浅,因为没有文章来解释这些问题。于是转而去 Githu...
iOS16.4 Webview 不能用Safari调试
背景Xcode 升级到 14.3后,模拟器是iOS 16.4 的,想通过Safari -> Developer -> Web Inspector查看,结果发现查看不了 修改一开始以为是设置 Safari 中 Advanced没开启,去查看后,发现开关已开启。 搜索后发现,从 iOS16.4 之后,如果想要通过Web Inspector查看,需要设置如下代码: 12345if #available(iOS 16.4, *) { webView.isInspectable = true} else { // Fallback on earlier versions} 设置之后,重新运行,再通过 Safari 查看,就可以看到了。 参考 Mark the webview as inspectable in iOS 16.4
Xcode 创建项目默认文案修改
背景最近需要修改Xcode创建项目默认文案修改,就是每次创建最上面默认生成的注释说明。想起来之前看原Raywenderlich(现在是Kodeco)网站下载的代码时,每个已存在的文件里都有一长串自定义的说明,而且新建文件的时候也是带有同样的自定义的说明,有过疑惑,但是没有仔细研究,今天研究下怎么实现的: Kodeco文件自定义的说明如下: 实现通过Customize text macros和Text macros reference 可以看出,Xcode默认头部文字注释默认定义如下: 12345678// ___FILENAME___// ___PACKAGENAME___//// Created by ___FULLUSERNAME___ on ___DATE___.// ___COPYRIGHT___// 然后参考Customizing the file header comment and other text macros in Xcode 9 可以确定修改的步骤是: 创建IDETemplateMacros.plist 添加或修改Root对应的type为...
Xcode 14.3 Archive 失败
背景由于手机升级了iOS 16.4,想要真机调试,Xcode 也要升级到 14.3, 于是就升级了一下。 升级Xcode 14.3之前,Debug 和 Archive 都没问题;升级 Xcode 14.3之后,Debug 没问题,Archive 就报错。错误信息如下: 123456789building file list ... rsync: link_stat "/Users/xxx/.../AFNetworking.framework" failed: No such file or directory (2)donesent 29 bytes received 20 bytes 98.00 bytes/sectotal size is 0 speedup is 0.00rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/9e200cfa-7d96-11ed-886f-a23c4f261b56/Librar...
导出iPhone所有短信到Excel
导出iPhone所有短信到Excel打算找一些短信,用于作为样本训练识别。 一开始打算网上找到垃圾短信样本,但找了好久没找到,于是就想到用自己和家人手机里的短信,毕竟手机里短信一般不删除,也有小几千条,而且垃圾短信、推销、广告之类的应有尽有。 所以问题就变成了,如何导出 iPhone 短信? 这里笔者也查了好久,找到的第三方软件基本都是需要收费,最终发现了一个免费导出的方案。 首先不加密备份手机到电脑,如下图,选中Back up all the data on your iPhone to this Mac,点击Back Up Now,等待备份完成,备份完成后,再点击Manage Backups Manage Backups点击后,界面如下,可以看到已备份的记录,右键选择Show In Finder,在文件夹中打开 然后可以看到备份所在目录已打开,这时候需要找到文件名为3d0d7e5fb2ce288813306e4d4636395e047a3d28的文件,这个文件就是短信备份的数据库文件。然后问题来了,怎么找呢?看到备份目录一个个文件夹是不是懵,这怎么找,很简单,搜索,点...