这是 SmartisanWeather-Revived 的原生 iPhone 移植工程,面向个人自用测试。工程使用 SwiftUI、Core Location 与 URLSession 重建 Android 版的数据链路和主要交互,并复用原项目恢复的 Smartisan 位图资源。
- 小米天气
wtr-v3实时天气、逐小时与最多 15 天预报 - 中国
weathercn:与全球accu:城市搜索 - Core Location 定位与天气城市反查
- 多城市横向分页、城市添加/删除/排序
- 60pt 换页槽、边界阻尼、速度判定与五次方缓出手感
- 本地城市、温标和天气缓存
- 1400ms 逐帧温度滚动、C/F 300ms 回弹、未变化温度三段抖动
- 完整深色模式与按晴/雨/雪/雾/霾/沙尘切换的主题背景
- 空气质量、天气预警和详情指标
- Smartisan 原版温度数字、天气图标、顶部卡片和预报卡片资源
- WidgetKit 小号/中号桌面小组件,可分别配置城市和温标,每 30 分钟更新
以下截图来自本项目在 iPhone 17 Pro Simulator 上的运行效果:
| 浅色模式 | 深色模式 |
|---|---|
![]() |
![]() |
特别感谢 Mangi-11 开源的 SmartisanWeather-Revived。 本 iOS 复刻以该项目为重要参考,感谢原作者对 Smartisan 天气功能、交互和资源整理所做的工作。
这是用于个人自签的构建包,安装前请用自己的证书或自签工具重新签名;主 App 和 SmartisanWeatherWidget.appex 需要一起签名。SHA-256:86a13c8de15358cc4a3a3e1f3c48f8841f53841cae6abf2384b7cf4b74b51d8e。
- 用 Xcode 26.2 或更高版本打开
SmartisanWeatheriOS.xcodeproj。 - 在 Xcode 的 Settings > Accounts 登录 Apple ID。
- 连接并解锁 iPhone,在工程 target 的 Signing & Capabilities 中选择自己的 Team。
- 选择 iPhone 作为运行目标,点击 Run。
工程最低支持 iOS 17,Bundle ID 为 com.jingweipro.SmartisanWeatheriOS。如果该标识已被占用,把它改成自己独有的反向域名即可。
自签 IPA 时应同时签名主应用和 PlugIns/SmartisanWeatherWidget.appex。主应用 ID 与小组件 ID 必须保持父子关系,例如 com.example.Weather 和 com.example.Weather.Widget。
上游仓库没有附带开源许可证,原版 Smartisan 视觉素材的权利也归原权利人所有。本工程仅适合本地个人测试,不应直接公开分发或上架 App Store。致谢不代表上游作者对本 iOS 实现的共同维护或授权。


