51 Commits

Author SHA1 Message Date
573c9a42ae Archive 时收集阿里云 NUI dSYM,并 bump build 号到 1010402。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 09:17:27 +08:00
b019e1e494 为旅拍 OTG 上传增加 client_photo_id,并按服务端已登记 ID 同步本地上传状态。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 19:13:19 +08:00
3d5ad8a614 fix: 固定首页常用应用图标尺寸 2026-07-16 19:02:00 +08:00
5f1c22c6a8 用内置有线传输帮助页替换飞书外链。
帮助文档改为应用内 WebView 加载本地 HTML,避免依赖外部平台内容。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 09:06:16 +08:00
ce6de76055 完善账号切换展示、首页菜单图标与有线传输设置 chip。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 14:59:31 +08:00
5eef31b8da 完善景区排队设置页与全局按钮配置迁移。
重构排队设置与变更日志交互,补充 Overlay 与资源,并将多页面主操作按钮统一到 UIButton Configuration,同步更新相关单元测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 16:51:23 +08:00
6336feff27 完善景区排队设置页与全局按钮配置迁移。
重构排队设置与变更日志交互,补充 Overlay 与资源,并将多页面主操作按钮统一到 UIButton Configuration,同步更新相关单元测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 16:21:53 +08:00
efb3925257 完善首页权限申请流程与队列播报体验。
对齐 Android 无权限强制弹窗、角色下拉与申请页交互,补充 UIButton configuration 适配,并增强景区排队 TTS 与相关单元测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 13:46:45 +08:00
c083f1d4b3 升级 AppStore 缓存 Key 并在覆盖安装时强制重新登录。
统一账号作用域 Key 对齐 Android,新增缓存 schema 迁移清理旧数据,并同步更新相关模块与单元测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 09:35:55 +08:00
05804ba7d6 完善钱包提现状态展示与举报摄影师列表交互。
对齐 Android 提现进度与时间线映射,优化钱包与积分兑换页刷新逻辑,并补充相关单元测试与真机测试说明。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 16:51:32 +08:00
5138c1c11a 完善实名认证、钱包与打卡点模块 UI 与业务逻辑。
对齐 Android 实名认证流程与审核页、钱包提现/积分兑换界面,优化打卡点列表与详情交互,并补充相关资源、主题 token 与单元测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 16:28:10 +08:00
07b2b9d459 修复样片详情解析并优化列表上下架交互。
兼容 Android 媒体项 size 字段格式,增强灵活解码容错,并统一样片列表开关确认逻辑与安全区布局。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 15:14:40 +08:00
afcd412f11 完善样片管理列表、详情与上传页 UI 交互。
对齐 Android 样片模块布局与加载状态,补充共享 UI 组件与图片资源,并增强列表解析容错与单元测试覆盖。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 15:00:18 +08:00
cbf2db649e 完善素材管理 UI 交互并修复列表解析与时间选择。
MaterialItem 兼容 Android 缺失字段默认值,优化素材详情/列表/标签布局与上下架开关交互,修复个人空间时间选择器初始值。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 13:34:45 +08:00
7deeedec68 修复素材上传 OSS 路径并完善调试与表单交互。
对齐 Android material/{scenicId}/0/ 目录结构以修复视频元数据写入失败,补充 API 请求体调试日志、素材拍摄麦克风权限与上传控件点击穿透修复。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 11:19:58 +08:00
005349f8e6 模块化 AppStore 并完善素材管理与个人空间设置。
将会话、权限、位置、收款与排队存储拆分为独立模块,同步更新各 ViewModel 与单元测试,并补充素材管理 UI 与个人空间设置交互。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 11:01:08 +08:00
ceca780ab3 同步相册云盘界面并完善相关交互 2026-07-10 17:15:15 +08:00
ab5220e460 完善任务流程、键盘适配与页面交互 2026-07-10 15:56:15 +08:00
f88a85a807 修复任务提交与弹窗交互问题 2026-07-10 14:51:34 +08:00
df547a16dc 优化首页位置上报体验 2026-07-10 11:44:56 +08:00
c03a625409 Improve travel album list selection layout 2026-07-10 11:33:44 +08:00
b6d3207665 Use system navigation bar on OTG page 2026-07-10 11:20:14 +08:00
98dc810455 Update OTG transfer workflow 2026-07-10 11:02:00 +08:00
9d446b4bc3 Fix OTG batch selection cell refresh 2026-07-10 11:00:21 +08:00
f20ec7f06c feat: 添加云盘与消息中心功能 2026-07-09 22:37:43 +08:00
8e356973bd feat: update app workflows and permissions 2026-07-09 17:34:00 +08:00
43e6133c21 feat: update wallet punch point and report success 2026-07-09 14:27:18 +08:00
2970f1514b 完善风险地图定位与标记详情 2026-07-09 12:47:47 +08:00
42aca73588 feat: 更新素材管理和举报风险地图 2026-07-09 12:20:02 +08:00
9b92d81902 fix: optimize report detail evidence UI 2026-07-09 11:11:21 +08:00
939295d74a feat: connect wild report risk map 2026-07-08 17:52:29 +08:00
fd5dc2bbe6 Implement report supplement evidence flow 2026-07-08 17:23:28 +08:00
290a01e699 接入举报摄影师正式接口 2026-07-08 16:38:15 +08:00
4a78a0c21a feat: add live module and optimize report list 2026-07-08 14:25:14 +08:00
8ca8bcf948 优化举报摄影师页面 2026-07-08 14:02:44 +08:00
ccd63380cf feat: 同步样片管理功能 2026-07-08 13:06:11 +08:00
e88cd4a9a4 同步个人空间配置页面 2026-07-08 12:31:03 +08:00
8a65d3c104 feat: add wild photographer report mock flow 2026-07-08 12:06:13 +08:00
87fba3d5d6 Sync OTG transfer photo list UI 2026-07-08 11:00:44 +08:00
d642234b38 Downsample OTG transfer thumbnails 2026-07-08 10:31:02 +08:00
773fbd1180 Fix OTG album local path storage 2026-07-08 10:25:35 +08:00
e9f593643f fix: suspend OTG live transfer on exit 2026-07-08 09:32:35 +08:00
92fcad7ac9 feat: add travel album OTG import flow 2026-07-08 09:24:51 +08:00
00bda390e8 feat: add travel album module 2026-07-07 17:23:31 +08:00
a80c181bd7 feat: add WeChat sharing and invite flow 2026-07-07 16:53:39 +08:00
f1937e23d4 style: adjust order source cell spacing 2026-07-07 16:26:34 +08:00
97060c2a32 fix: unify location report state 2026-07-07 16:24:26 +08:00
9378748a4d 集成阿里云 NUI 语音合成 SDK 2026-07-07 16:05:39 +08:00
0aa8b14e1f 新增景区排队管理功能 2026-07-07 15:32:25 +08:00
854a66689f 提交 CocoaPods 依赖目录 2026-07-07 14:43:51 +08:00
cdf2266705 忽略本地 Codex 和 Cursor 配置目录 2026-07-07 14:42:00 +08:00
1225 changed files with 119435 additions and 2126 deletions

4
.gitignore vendored
View File

@ -9,5 +9,9 @@ xcuserdata/
.build/ .build/
.swiftpm/ .swiftpm/
# Local agent configs
.codex/
.cursor/
# macOS # macOS
.DS_Store .DS_Store

View File

@ -71,7 +71,7 @@ Swift · UIKit · SnapKit代码布局约束写在 `setupUI()` / `setupCons
## 单元测试 ## 单元测试
每增一功能必须附带单元测试且全部通过`Cmd + U` / `xcodebuild test`),与功能同次提交 每增一功能必须附带单元测试且全部通过,与功能同次提交。单元测试必须在已连接的 iPhone 真机上运行,不使用模拟器;支持使用与开发机处于同一 Wi-Fi 下并已启用无线连接的真机。可在 Xcode 中选择真机后执行 `Cmd + U`,或使用 `xcodebuild test -destination 'platform=iOS,id=<设备 UDID>'`
| 层级 | 优先级 | | 层级 | 优先级 |
|------|--------| |------|--------|

View File

@ -0,0 +1,169 @@
# AppStore 缓存 Key 升级对照
## 结论
- 旧线上工程与重构版工程的主应用 Bundle ID 均为 `com.yuanzhixiang.suixinkan`。通过 App Store 覆盖升级时,系统会保留原应用容器,因此旧版 `UserDefaults` 会继续存在。
- 本次升级策略为:**强制重新登录、旧偏好全部重置、不迁移旧缓存**。
- 新 Key 只对齐 Android 的业务作用域iOS 统一使用 `_` 作为分隔符,不复制 Android MMKV 历史实现中无分隔符拼接的写法。
- 本文中的“旧线上工程”为 `/Users/hanqiu/Desktop/android_project/suixinkan_ios`,“重构版工程”为 `/Users/hanqiu/Desktop/suixinkan`
## Key 占位符
| 占位符 | 含义 |
|---|---|
| `O` | 旧版将 `[accountType, userId, storeId, scenicId]` 中的非空值用 `_` 拼接,再清洗非字母数字字符后得到的 accountKey |
| `P` | 本次实施前重构版使用的 `<userId>_<accountType>` 账号前缀;用户 ID 为空时可能退化为 `guest` |
| `A` | 本次实施后统一使用的 `<accountType>_<userId>` 账号前缀 |
| `S` | 景区 IDscenicId |
| `T` | 排队点位 IDspotId |
| `R` | 角色编码roleCode |
> `suixinkan.session.v1` 是旧工程中真实存在的单个 `UserDefaults` Key其值为 JSON Data。表格中的 `suixinkan.session.v1[token]` 等写法仅表示该 JSON 内的字段,不是独立的 `UserDefaults` Key。
## 新旧工程统一业务 Key 对照
| 业务数据 | 旧线上工程 Key | 重构版实施前 Key | 统一后的 Key | 升级处理 |
|---|---|---|---|---|
| 登录会话 | `suixinkan.session.v1` JSON | 拆分为多个 `key_in_*` | 保持拆分结构 | 删除旧会话,强制登录 |
| Token | `suixinkan.session.v1[token]` | `key_in_token` | `key_in_token` | 首次升级清空 |
| 用户 ID | `suixinkan.session.v1[userId]` | `key_in_user_id` | `key_in_user_id` | 首次升级清空 |
| 用户名 | `suixinkan.session.v1[userName]` | `key_in_user_name` | `key_in_user_name` | 首次升级清空 |
| 头像 | `suixinkan.session.v1[avatar]` | `key_in_avatar` | `key_in_avatar` | 首次升级清空 |
| 手机号 | `suixinkan.session.v1[phone]` | `key_in_phone` | `key_in_phone` | 首次升级清空 |
| 账号类型 | `suixinkan.session.v1[accountType]` | `key_in_account_type` | `key_in_account_type` | 首次升级清空 |
| 账号类型显示名称 | `suixinkan.session.v1[accountDisplayName]` | `key_in_account_display_name` | `key_in_account_display_name` | 首次升级清空 |
| 角色 ID | `suixinkan.session.v1[roleId]` | `P_key_in_role_id` | `A_key_in_role_id` | 不迁移;当前仅用于 legacy 权限匹配兜底 |
| 角色编码 | 无独立 Key | `key_in_role_code` | `A_key_in_role_code` | 改为账号作用域 |
| 角色名称 | `suixinkan.session.v1[roleName]` | `key_in_role_name` | `A_key_in_role_name` | 改为账号作用域 |
| 权限列表 | 无 | `P_key_role_permission_list` | `A_key_role_permission_list` | 不迁移预发布数据 |
| 当前权限 | 无 | `P_key_in_permission` | `A_key_in_permission` | 不迁移预发布数据 |
| 角色景区列表 | 无 | `P_key_current_role_scenic_list` | `A_key_current_role_scenic_list` | 不迁移预发布数据 |
| 当前景区 ID | `suixinkan.session.v1[scenicId]` | `key_in_current_scenic_id` | `A_key_in_current_scenic_id` | 改为账号作用域 |
| 当前景区名称 | `suixinkan.session.v1[scenicName]` | `key_in_current_scenic_name` | `A_key_in_current_scenic_name` | 改为账号作用域 |
| 当前门店 ID | `suixinkan.session.v1[storeId]` | `key_in_current_store_id` | `A_scenic_S_scenic_store_id` | 改为账号+景区作用域 |
| 当前门店名称 | `suixinkan.session.v1[storeName]` | 无 | 不再持久化 | 删除旧值 |
| 常用菜单 | `home.common.menu.uris` | `P_role_R_common_uris` | `A_role_R_common_uris` | 不迁移旧菜单仅统一作用域Android 精确后缀不同 |
| 收款语音 | `payment.voice.broadcast.enabled` | `P_key_is_open_receive_voice` | `A_key_is_open_receive_voice` | 重置为默认值 |
| 在线状态 | 无 | `P_key_online_status` | `A_key_online_status` | 改为账号作用域 |
| 上次位置上报时间 | 无 | `P_key_last_location_report_time` | `A_key_last_location_report_time` | 改为账号作用域 |
| 定位提醒分钟数 | 无 | `P_key_location_reminder_minutes` | `A_key_location_reminder_minutes` | 改为账号作用域 |
| 当前排队点位 ID | `account_O_scenic_S_scenic_queue_selected_spot_id` | `P__scenic_queue_punch_spot_id` | `A_scenic_S_scenic_queue_punch_spot_id` | 不迁移 |
| 当前排队点位名称 | `account_O_scenic_S_scenic_queue_selected_spot_name` | `P__scenic_queue_punch_spot_name` | `A_scenic_S_spot_T_scenic_queue_punch_spot_name` | 不迁移 |
| 排队播报备注 | `account_O_scenic_S_scenic_queue_custom_tts_text_spot_T` | `P__scenic_queue_remark` | `A_scenic_S_spot_T_scenic_queue_remark` | 不迁移 |
| 排队设置快照 | `account_O_scenic_S_scenic_queue_settings_snapshot_spot_T` | `P__scenic_queue_settings_snapshot` | `A_scenic_S_spot_T_scenic_queue_settings_snapshot` | 不迁移 |
| 排队预设语音 | `account_O_scenic_S_scenic_queue_preset_voices_spot_T` | `P__scenic_queue_preset_voices_v1` | `A_scenic_S_spot_T_scenic_queue_preset_voices_v1` | 不迁移 |
| 离线 TTS | 无 | `P__scenic_queue_offline_tts_v1` | `A_scenic_S_scenic_queue_offline_tts_v1` | 默认值对齐 Android 为 `true` |
## 首次升级需要清理的旧 Key
已新增整型版本标记 `suixinkan.cache.schema.version`。当版本小于目标缓存版本时执行一次清理,全部清理完成后再写入目标版本,避免每次启动重复清空用户重新登录后产生的数据。
### 会话与推送
- `suixinkan.session.v1`
- `apns_device_token`
- `apns_uploaded_token`
同时清空重构版预发布阶段可能存在的登录与账号字段,以确保升级后强制重新登录:
- `key_in_token`
- `key_last_login_username`
- `key_in_user_id`
- `key_in_user_name`
- `key_in_real_name`
- `key_in_avatar`
- `key_in_phone`
- `key_in_account_type`
- `key_in_account_display_name`
- `key_in_role_id`
- `key_in_role_code`
- `key_in_role_name`
- `key_in_current_scenic_id`
- `key_in_current_scenic_name`
- `key_in_current_store_id`
`key_privacy_agreement_accepted` 是否清理应服从“旧偏好全部重置”的既定策略,因此本次也应清理。
同时清理早期重构实现可能写入的以下未分域业务字段:
- `key_role_permission_list`
- `key_in_permission`
- `key_current_role_scenic_list`
- `key_online_status`
- `key_last_location_report_time`
- `key_location_reminder_minutes`
- `key_is_open_receive_voice`
### 首页与收款
- `home.common.menu.uris`
- `home.common.menu.android.baseline.v2`
- `home.routing.unknown.records`
- `payment.voice.broadcast.enabled`
### 排队全局偏好
- `scenic_queue_tts_enabled`
- `scenic_queue_background_poll_enabled`
- `scenic_queue_selected_spot_id`
- `scenic_queue_selected_spot_name`
- `scenic_queue_custom_tts_text`
- `scenic_queue_photo_estimate_seconds`
- `scenic_queue_broadcast_interval_seconds`
- `scenic_queue_countdown_threshold_seconds`
- `scenic_queue_show_start_shooting_button`
- `scenic_queue_auto_call_ahead_count`
- `scenic_queue_quick_call_button_enabled`
- `scenic_queue_prepare_call_button_enabled`
- `scenic_queue_config_logs`
- `scenic_queue_settings_snapshot`
- `scenic_queue_preset_voices`
### 排队动态缓存
清理符合以下已知格式的旧 Key不应扩大为删除整个 `UserDefaults` domain
- `account_O_scenic_S_scenic_queue_selected_spot_id`
- `account_O_scenic_S_scenic_queue_selected_spot_name`
- `account_O_scenic_S_scenic_queue_custom_tts_text_spot_T`
- `account_O_scenic_S_scenic_queue_settings_snapshot_spot_T`
- `account_O_scenic_S_scenic_queue_preset_voices_spot_T`
- `scenic_S_spot_T_scenic_queue_settings_snapshot`
- `scenic_S_scenic_queue_settings_snapshot`
- `scenic_S_spot_T_scenic_queue_preset_voices`
### 重构版预发布缓存
清理使用旧 `P` 前缀的以下 Key 家族:
- `P_key_in_role_id`
- `P_key_role_permission_list`
- `P_key_in_permission`
- `P_key_current_role_scenic_list`
- `P_key_online_status`
- `P_key_last_location_report_time`
- `P_key_location_reminder_minutes`
- `P_key_is_open_receive_voice`
- `P_role_R_common_uris`
- `P__scenic_queue_punch_spot_id`
- `P__scenic_queue_punch_spot_name`
- `P__scenic_queue_remark`
- `P__scenic_queue_settings_snapshot`
- `P__scenic_queue_offline_tts_v1`
- `P__scenic_queue_preset_voices_v1`
其中 `P__scenic_queue_*` 的双下划线来自当前 Key 生成器和自带前导下划线的后缀叠加,属于需要淘汰的错误格式。
## 不应清理的内容
- 禁止调用 `removePersistentDomain(forName:)` 清空应用的整个 `UserDefaults` domain应只删除明确列出的 Key 和严格匹配的动态 Key。
- 不删除 `Documents/CloudDownloads`。该目录可能包含用户主动下载的文件,不属于普通缓存。
- 不删除 SDK 缓存、图片缓存或其他未列入本次升级范围的用户文件。
- 不做旧 `suixinkan.session.v1`、排队设置、常用菜单或收款偏好的解码与迁移。
## 发布前备注
- 旧线上版本为 `1.0.1 (2)`;当前覆盖升级版本已设置为 `1.1.4 (1010401)`
- 重构版当前未保留旧工程的 APNs entitlement、远程通知后台能力、回调和设备 Token 上传流程。该问题不是缓存 Key 修改,但若线上仍需要推送,发布前必须单独恢复并验证。清理 `apns_device_token``apns_uploaded_token` 后,恢复推送时应重新绑定设备 Token。
- `Application Support/suixinkan/cloud_transfer_tasks.json` 当前为全账号共享文件,存在账号切换后读取其他账号任务的风险。该问题不是 `UserDefaults` Key 迁移的一部分,应作为独立发布风险处理。
- 本方案已在重构版中实施:应用首次创建 `AppStore` 时按 `suixinkan.cache.schema.version` 执行一次定向清理,并切换到表格中的统一 Key不删除未列入范围的 `UserDefaults` 或用户文件。

View File

@ -8,11 +8,14 @@ target 'suixinkan' do
pod 'UMCommon' pod 'UMCommon'
pod 'UMDevice' pod 'UMDevice'
pod 'UMAPM' pod 'UMAPM'
end pod 'IQKeyboardManagerSwift'
# 微信 Open SDK仅接入分享能力不调用支付 API。
pod 'WechatOpenSDK-XCFramework', '~> 2.0.4'
target 'suixinkanTests' do target 'suixinkanTests' do
inherit! :search_paths inherit! :search_paths
end end
end
post_install do |installer| post_install do |installer|
installer.pods_project.targets.each do |target| installer.pods_project.targets.each do |target|

View File

@ -6,19 +6,62 @@ PODS:
- AMapFoundation-NO-IDFA (>= 1.9.0) - AMapFoundation-NO-IDFA (>= 1.9.0)
- AMapSearch-NO-IDFA (9.8.0): - AMapSearch-NO-IDFA (9.8.0):
- AMapFoundation-NO-IDFA (>= 1.9.0) - AMapFoundation-NO-IDFA (>= 1.9.0)
- IQKeyboardCore (1.0.9)
- IQKeyboardManagerSwift (8.0.3):
- IQKeyboardManagerSwift/Appearance (= 8.0.3)
- IQKeyboardManagerSwift/Core (= 8.0.3)
- IQKeyboardManagerSwift/IQKeyboardReturnManager (= 8.0.3)
- IQKeyboardManagerSwift/IQKeyboardToolbarManager (= 8.0.3)
- IQKeyboardManagerSwift/IQTextView (= 8.0.3)
- IQKeyboardManagerSwift/Resign (= 8.0.3)
- IQKeyboardManagerSwift/Appearance (8.0.3):
- IQKeyboardManagerSwift/Core
- IQTextInputViewNotification
- IQKeyboardManagerSwift/Core (8.0.3):
- IQKeyboardNotification
- IQTextInputViewNotification
- IQKeyboardManagerSwift/IQKeyboardReturnManager (8.0.3):
- IQKeyboardReturnManager
- IQKeyboardManagerSwift/IQKeyboardToolbarManager (8.0.3):
- IQKeyboardManagerSwift/Core
- IQKeyboardToolbarManager
- IQKeyboardManagerSwift/IQTextView (8.0.3):
- IQTextView
- IQKeyboardManagerSwift/Resign (8.0.3):
- IQKeyboardManagerSwift/Core
- IQTextInputViewNotification
- IQKeyboardNotification (1.0.7)
- IQKeyboardReturnManager (1.0.6):
- IQKeyboardCore
- IQKeyboardToolbar (1.1.5):
- IQKeyboardToolbar/Core (= 1.1.5)
- IQKeyboardToolbar/Core (1.1.5):
- IQKeyboardCore
- IQKeyboardToolbar/Placeholderable
- IQKeyboardToolbar/Placeholderable (1.1.5)
- IQKeyboardToolbarManager (1.1.6):
- IQKeyboardToolbar
- IQTextInputViewNotification
- IQTextInputViewNotification (1.0.9):
- IQKeyboardCore
- IQTextView (1.0.5):
- IQKeyboardToolbar/Placeholderable
- UMAPM (2.0.7): - UMAPM (2.0.7):
- UMCommon - UMCommon
- UMCommon (7.5.11): - UMCommon (7.5.11):
- UMDevice - UMDevice
- UMDevice (3.6.0) - UMDevice (3.6.0)
- WechatOpenSDK-XCFramework (2.0.5)
DEPENDENCIES: DEPENDENCIES:
- AMap3DMap-NO-IDFA - AMap3DMap-NO-IDFA
- AMapLocation-NO-IDFA - AMapLocation-NO-IDFA
- AMapSearch-NO-IDFA - AMapSearch-NO-IDFA
- IQKeyboardManagerSwift
- UMAPM - UMAPM
- UMCommon - UMCommon
- UMDevice - UMDevice
- WechatOpenSDK-XCFramework (~> 2.0.4)
SPEC REPOS: SPEC REPOS:
trunk: trunk:
@ -26,19 +69,37 @@ SPEC REPOS:
- AMapFoundation-NO-IDFA - AMapFoundation-NO-IDFA
- AMapLocation-NO-IDFA - AMapLocation-NO-IDFA
- AMapSearch-NO-IDFA - AMapSearch-NO-IDFA
- IQKeyboardCore
- IQKeyboardManagerSwift
- IQKeyboardNotification
- IQKeyboardReturnManager
- IQKeyboardToolbar
- IQKeyboardToolbarManager
- IQTextInputViewNotification
- IQTextView
- UMAPM - UMAPM
- UMCommon - UMCommon
- UMDevice - UMDevice
- WechatOpenSDK-XCFramework
SPEC CHECKSUMS: SPEC CHECKSUMS:
AMap3DMap-NO-IDFA: f53ee0cb33db83c1a08856b5995e53a0c2096158 AMap3DMap-NO-IDFA: f53ee0cb33db83c1a08856b5995e53a0c2096158
AMapFoundation-NO-IDFA: a2e3c895398d7ee757278e1a0a8f9359da4b146e AMapFoundation-NO-IDFA: a2e3c895398d7ee757278e1a0a8f9359da4b146e
AMapLocation-NO-IDFA: 7cd8fc837ea41edfbf4d937cd20572e277b77d18 AMapLocation-NO-IDFA: 7cd8fc837ea41edfbf4d937cd20572e277b77d18
AMapSearch-NO-IDFA: c0afd2a69a076d4228becda4401dbe4a279a03ef AMapSearch-NO-IDFA: c0afd2a69a076d4228becda4401dbe4a279a03ef
IQKeyboardCore: 250a88dfc713b2ecbe1dce250811d054fc016959
IQKeyboardManagerSwift: 7f6a9a1e2285732d3ff5f485ff921215253ea77e
IQKeyboardNotification: 3b9bc812a5af2cf97df08a363d9daa9fc0dc1848
IQKeyboardReturnManager: fcbf51fc68d7536fc1fbcca5231c4e82576b12ac
IQKeyboardToolbar: b0f26e43b9e806e961fde2344fe379ae193236b9
IQKeyboardToolbarManager: 242e858cc74e06e00aa989bea1355b24d4397854
IQTextInputViewNotification: 3b9fb27a16e7ee8958cc9092cfb07a1a9e1fd559
IQTextView: ae13b4922f22e6f027f62c557d9f4f236b19d5c7
UMAPM: ba9fbebe8dd2048b251c332ab0afc86e1ba5ea63 UMAPM: ba9fbebe8dd2048b251c332ab0afc86e1ba5ea63
UMCommon: d652b3b372a801b36db203f5b546ab3e15676898 UMCommon: d652b3b372a801b36db203f5b546ab3e15676898
UMDevice: 20b7b3c37a36b2c5c7ca8b5a54386ff9ed2b3b19 UMDevice: 20b7b3c37a36b2c5c7ca8b5a54386ff9ed2b3b19
WechatOpenSDK-XCFramework: ff342ae616bb86df3d236aca38059dfd4bc4a949
PODFILE CHECKSUM: b2f49c71df3a1aca1cf08d192e467a8be772283c PODFILE CHECKSUM: 0fd38f741cbaae39c8e7a70fa233f651d3b34d0f
COCOAPODS: 1.16.2 COCOAPODS: 1.16.2

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 B

View File

@ -0,0 +1,191 @@
info face="Arial" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
common lineHeight=32 base=26 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
page id=0 file="anscii_0.png"
chars count=95
char id=32 x=110 y=22 width=3 height=1 xoffset=-1 yoffset=31 xadvance=8 page=0 chnl=15
char id=33 x=199 y=63 width=4 height=20 xoffset=2 yoffset=6 xadvance=8 page=0 chnl=15
char id=34 x=242 y=79 width=10 height=7 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=15
char id=35 x=0 y=48 width=16 height=20 xoffset=-1 yoffset=6 xadvance=15 page=0 chnl=15
char id=36 x=94 y=0 width=15 height=23 xoffset=0 yoffset=5 xadvance=15 page=0 chnl=15
char id=37 x=161 y=0 width=22 height=20 xoffset=1 yoffset=6 xadvance=24 page=0 chnl=15
char id=38 x=132 y=21 width=17 height=20 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=15
char id=39 x=0 y=106 width=5 height=7 xoffset=0 yoffset=6 xadvance=5 page=0 chnl=15
char id=40 x=47 y=0 width=8 height=25 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=15
char id=41 x=56 y=0 width=8 height=25 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=15
char id=42 x=230 y=79 width=11 height=8 xoffset=0 yoffset=6 xadvance=11 page=0 chnl=15
char id=43 x=187 y=84 width=14 height=12 xoffset=1 yoffset=10 xadvance=16 page=0 chnl=15
char id=44 x=6 y=106 width=4 height=6 xoffset=2 yoffset=24 xadvance=8 page=0 chnl=15
char id=45 x=53 y=106 width=9 height=2 xoffset=0 yoffset=18 xadvance=9 page=0 chnl=15
char id=46 x=209 y=79 width=4 height=2 xoffset=2 yoffset=24 xadvance=8 page=0 chnl=15
char id=47 x=153 y=63 width=10 height=20 xoffset=-1 yoffset=6 xadvance=8 page=0 chnl=15
char id=48 x=15 y=69 width=14 height=20 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=15
char id=49 x=164 y=63 width=9 height=20 xoffset=2 yoffset=6 xadvance=15 page=0 chnl=15
char id=50 x=134 y=42 width=14 height=20 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=15
char id=51 x=59 y=68 width=13 height=20 xoffset=1 yoffset=6 xadvance=15 page=0 chnl=15
char id=52 x=179 y=42 width=14 height=20 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=15
char id=53 x=45 y=69 width=13 height=20 xoffset=1 yoffset=6 xadvance=15 page=0 chnl=15
char id=54 x=194 y=42 width=14 height=20 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=15
char id=55 x=115 y=66 width=13 height=20 xoffset=1 yoffset=6 xadvance=15 page=0 chnl=15
char id=56 x=102 y=45 width=15 height=20 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=15
char id=57 x=118 y=43 width=15 height=20 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=15
char id=58 x=251 y=63 width=4 height=15 xoffset=2 yoffset=11 xadvance=8 page=0 chnl=15
char id=59 x=204 y=63 width=4 height=19 xoffset=2 yoffset=11 xadvance=8 page=0 chnl=15
char id=60 x=172 y=84 width=14 height=13 xoffset=1 yoffset=10 xadvance=16 page=0 chnl=15
char id=61 x=215 y=79 width=14 height=8 xoffset=1 yoffset=12 xadvance=16 page=0 chnl=15
char id=62 x=157 y=84 width=14 height=13 xoffset=1 yoffset=10 xadvance=16 page=0 chnl=15
char id=63 x=101 y=68 width=13 height=20 xoffset=1 yoffset=6 xadvance=15 page=0 chnl=15
char id=64 x=0 y=0 width=26 height=26 xoffset=1 yoffset=6 xadvance=27 page=0 chnl=15
char id=65 x=227 y=0 width=19 height=20 xoffset=-1 yoffset=6 xadvance=18 page=0 chnl=15
char id=66 x=17 y=48 width=16 height=20 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=15
char id=67 x=58 y=26 width=18 height=20 xoffset=1 yoffset=6 xadvance=20 page=0 chnl=15
char id=68 x=168 y=21 width=17 height=20 xoffset=2 yoffset=6 xadvance=20 page=0 chnl=15
char id=69 x=51 y=47 width=16 height=20 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=15
char id=70 x=240 y=21 width=15 height=20 xoffset=2 yoffset=6 xadvance=17 page=0 chnl=15
char id=71 x=0 y=27 width=19 height=20 xoffset=1 yoffset=6 xadvance=21 page=0 chnl=15
char id=72 x=186 y=21 width=17 height=20 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=15
char id=73 x=184 y=63 width=4 height=20 xoffset=2 yoffset=6 xadvance=8 page=0 chnl=15
char id=74 x=129 y=64 width=12 height=20 xoffset=0 yoffset=6 xadvance=13 page=0 chnl=15
char id=75 x=39 y=26 width=18 height=20 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=15
char id=76 x=0 y=69 width=14 height=20 xoffset=1 yoffset=6 xadvance=15 page=0 chnl=15
char id=77 x=184 y=0 width=21 height=20 xoffset=1 yoffset=6 xadvance=23 page=0 chnl=15
char id=78 x=96 y=24 width=17 height=20 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=15
char id=79 x=206 y=0 width=20 height=20 xoffset=1 yoffset=6 xadvance=21 page=0 chnl=15
char id=80 x=85 y=47 width=16 height=20 xoffset=1 yoffset=6 xadvance=17 page=0 chnl=15
char id=81 x=110 y=0 width=21 height=21 xoffset=0 yoffset=6 xadvance=21 page=0 chnl=15
char id=82 x=77 y=26 width=18 height=20 xoffset=2 yoffset=6 xadvance=20 page=0 chnl=15
char id=83 x=68 y=47 width=16 height=20 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=15
char id=84 x=34 y=48 width=16 height=20 xoffset=0 yoffset=6 xadvance=16 page=0 chnl=15
char id=85 x=204 y=21 width=17 height=20 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=15
char id=86 x=222 y=21 width=17 height=20 xoffset=0 yoffset=6 xadvance=17 page=0 chnl=15
char id=87 x=132 y=0 width=28 height=20 xoffset=0 yoffset=6 xadvance=28 page=0 chnl=15
char id=88 x=150 y=21 width=17 height=20 xoffset=0 yoffset=6 xadvance=17 page=0 chnl=15
char id=89 x=20 y=27 width=18 height=20 xoffset=0 yoffset=6 xadvance=18 page=0 chnl=15
char id=90 x=114 y=22 width=17 height=20 xoffset=0 yoffset=6 xadvance=17 page=0 chnl=15
char id=91 x=73 y=0 width=7 height=25 xoffset=1 yoffset=6 xadvance=8 page=0 chnl=15
char id=92 x=174 y=63 width=9 height=20 xoffset=-1 yoffset=6 xadvance=8 page=0 chnl=15
char id=93 x=65 y=0 width=7 height=25 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=15
char id=94 x=202 y=84 width=12 height=10 xoffset=0 yoffset=6 xadvance=12 page=0 chnl=15
char id=95 x=35 y=106 width=17 height=2 xoffset=-1 yoffset=29 xadvance=15 page=0 chnl=15
char id=96 x=28 y=106 width=6 height=4 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=15
char id=97 x=48 y=90 width=14 height=15 xoffset=0 yoffset=11 xadvance=15 page=0 chnl=15
char id=98 x=149 y=42 width=14 height=20 xoffset=1 yoffset=6 xadvance=15 page=0 chnl=15
char id=99 x=106 y=89 width=13 height=15 xoffset=0 yoffset=11 xadvance=14 page=0 chnl=15
char id=100 x=164 y=42 width=14 height=20 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=15
char id=101 x=0 y=90 width=15 height=15 xoffset=0 yoffset=11 xadvance=15 page=0 chnl=15
char id=102 x=142 y=63 width=10 height=20 xoffset=-1 yoffset=6 xadvance=7 page=0 chnl=15
char id=103 x=209 y=42 width=14 height=20 xoffset=0 yoffset=11 xadvance=15 page=0 chnl=15
char id=104 x=73 y=68 width=13 height=20 xoffset=1 yoffset=6 xadvance=15 page=0 chnl=15
char id=105 x=189 y=63 width=4 height=20 xoffset=1 yoffset=6 xadvance=6 page=0 chnl=15
char id=106 x=81 y=0 width=7 height=25 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15
char id=107 x=87 y=68 width=13 height=20 xoffset=1 yoffset=6 xadvance=14 page=0 chnl=15
char id=108 x=194 y=63 width=4 height=20 xoffset=1 yoffset=6 xadvance=6 page=0 chnl=15
char id=109 x=209 y=63 width=20 height=15 xoffset=1 yoffset=11 xadvance=22 page=0 chnl=15
char id=110 x=78 y=89 width=13 height=15 xoffset=1 yoffset=11 xadvance=15 page=0 chnl=15
char id=111 x=16 y=90 width=15 height=15 xoffset=0 yoffset=11 xadvance=15 page=0 chnl=15
char id=112 x=30 y=69 width=14 height=20 xoffset=1 yoffset=11 xadvance=15 page=0 chnl=15
char id=113 x=224 y=42 width=14 height=20 xoffset=0 yoffset=11 xadvance=15 page=0 chnl=15
char id=114 x=147 y=84 width=9 height=15 xoffset=1 yoffset=11 xadvance=9 page=0 chnl=15
char id=115 x=63 y=89 width=14 height=15 xoffset=0 yoffset=11 xadvance=14 page=0 chnl=15
char id=116 x=247 y=0 width=8 height=20 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=15
char id=117 x=92 y=89 width=13 height=15 xoffset=1 yoffset=11 xadvance=15 page=0 chnl=15
char id=118 x=32 y=90 width=15 height=15 xoffset=-1 yoffset=11 xadvance=13 page=0 chnl=15
char id=119 x=230 y=63 width=20 height=15 xoffset=-1 yoffset=11 xadvance=19 page=0 chnl=15
char id=120 x=134 y=85 width=12 height=15 xoffset=0 yoffset=11 xadvance=12 page=0 chnl=15
char id=121 x=239 y=42 width=14 height=20 xoffset=0 yoffset=11 xadvance=14 page=0 chnl=15
char id=122 x=120 y=87 width=13 height=15 xoffset=0 yoffset=11 xadvance=13 page=0 chnl=15
char id=123 x=37 y=0 width=9 height=25 xoffset=0 yoffset=6 xadvance=9 page=0 chnl=15
char id=124 x=89 y=0 width=4 height=25 xoffset=1 yoffset=6 xadvance=6 page=0 chnl=15
char id=125 x=27 y=0 width=9 height=25 xoffset=0 yoffset=6 xadvance=9 page=0 chnl=15
char id=126 x=11 y=106 width=16 height=4 xoffset=0 yoffset=14 xadvance=16 page=0 chnl=15
kernings count=91
kerning first=32 second=65 amount=-2
kerning first=32 second=84 amount=-1
kerning first=32 second=89 amount=-1
kerning first=121 second=46 amount=-2
kerning first=121 second=44 amount=-2
kerning first=119 second=46 amount=-2
kerning first=119 second=44 amount=-2
kerning first=118 second=46 amount=-2
kerning first=118 second=44 amount=-2
kerning first=114 second=46 amount=-2
kerning first=49 second=49 amount=-2
kerning first=65 second=32 amount=-2
kerning first=65 second=84 amount=-2
kerning first=65 second=86 amount=-2
kerning first=65 second=87 amount=-1
kerning first=65 second=89 amount=-2
kerning first=65 second=118 amount=-1
kerning first=65 second=119 amount=-1
kerning first=65 second=121 amount=-1
kerning first=114 second=44 amount=-2
kerning first=70 second=44 amount=-3
kerning first=70 second=46 amount=-3
kerning first=70 second=65 amount=-2
kerning first=76 second=32 amount=-1
kerning first=76 second=84 amount=-2
kerning first=76 second=86 amount=-2
kerning first=76 second=87 amount=-2
kerning first=76 second=89 amount=-2
kerning first=76 second=121 amount=-1
kerning first=102 second=102 amount=-1
kerning first=80 second=32 amount=-1
kerning first=80 second=44 amount=-4
kerning first=80 second=46 amount=-4
kerning first=80 second=65 amount=-2
kerning first=82 second=84 amount=-1
kerning first=82 second=86 amount=-1
kerning first=82 second=87 amount=-1
kerning first=82 second=89 amount=-1
kerning first=84 second=32 amount=-1
kerning first=84 second=44 amount=-3
kerning first=84 second=45 amount=-2
kerning first=84 second=46 amount=-3
kerning first=84 second=58 amount=-3
kerning first=89 second=118 amount=-2
kerning first=84 second=65 amount=-2
kerning first=84 second=79 amount=-1
kerning first=84 second=97 amount=-3
kerning first=84 second=99 amount=-3
kerning first=84 second=101 amount=-3
kerning first=84 second=105 amount=-1
kerning first=84 second=111 amount=-3
kerning first=84 second=114 amount=-1
kerning first=84 second=115 amount=-3
kerning first=84 second=117 amount=-1
kerning first=84 second=119 amount=-2
kerning first=84 second=121 amount=-2
kerning first=86 second=44 amount=-3
kerning first=86 second=45 amount=-2
kerning first=86 second=46 amount=-3
kerning first=86 second=58 amount=-1
kerning first=89 second=117 amount=-2
kerning first=86 second=65 amount=-2
kerning first=86 second=97 amount=-2
kerning first=86 second=101 amount=-2
kerning first=86 second=105 amount=-1
kerning first=86 second=111 amount=-2
kerning first=86 second=114 amount=-1
kerning first=86 second=117 amount=-1
kerning first=86 second=121 amount=-1
kerning first=87 second=44 amount=-2
kerning first=87 second=45 amount=-1
kerning first=87 second=46 amount=-2
kerning first=87 second=58 amount=-1
kerning first=89 second=113 amount=-3
kerning first=87 second=65 amount=-1
kerning first=87 second=97 amount=-1
kerning first=87 second=101 amount=-1
kerning first=89 second=112 amount=-2
kerning first=87 second=111 amount=-1
kerning first=87 second=114 amount=-1
kerning first=87 second=117 amount=-1
kerning first=89 second=111 amount=-3
kerning first=89 second=32 amount=-1
kerning first=89 second=44 amount=-4
kerning first=89 second=45 amount=-3
kerning first=89 second=46 amount=-4
kerning first=89 second=58 amount=-2
kerning first=89 second=105 amount=-1
kerning first=89 second=65 amount=-2
kerning first=89 second=97 amount=-2
kerning first=89 second=101 amount=-3

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 B

View File

@ -0,0 +1,51 @@
50
assets_group_10_25_1769154454.data
assets_group_9_25_1769154451.data
assets_info_1769154508.data
config_1_25_1767863256.data
config_2_25_1767863256.data
icons_10000_25_1766387768.data
icons_10001_25_1766387768.data
icons_10002_25_1766387768.data
icons_10003_25_1766387766.data
icons_10004_25_1766387768.data
icons_10005_25_1766387766.data
icons_10006_25_1766387766.data
icons_30000_25_1766387757.data
icons_30001_25_1768988946.data
icons_5_25_1769154449.data
icons_41_25_1769154472.data
laneprofile_1_25_1766387758.data
laneprofile_low_1_25_1766387758.data
laneprofile_mid_1_25_1766387758.data
laneprofile_travel_1_25_1768296409.data
mapfeatureprofile_1_25_1769154413.data
mapprofile_1_25_1766387758.data
mapprofile_2_25_1766387758.data
style_0_25_1769154442.data
style_X_DrvNavS_Drv_D_s_25_1769154450.data
style_X_DrvNavS_Drv_N_s_25_1769154454.data
style_X_MainPub_Pub_D_s_25_1769154449.data
style_X_MainPub_Pub_D_sl_25_1769154450.data
style_X_MainPub_Pub_N_s_25_1769154453.data
style_X_MainPub_Pub_N_sl_25_1769154453.data
style_X_MainSat_Sat_S_s_25_1769154453.data
style_X_MainStd_Std_D_s_25_1769154445.data
style_X_MainStd_Std_D_sh_25_1769154441.data
style_X_MainStd_Std_D_sh_l_25_1769154441.data
style_X_MainStd_Std_D_sh_m_25_1769154441.data
style_X_MainStd_Std_D_sl_25_1769154445.data
style_X_MainStd_Std_N_s_25_1769154444.data
style_X_MainStd_Std_N_sh_25_1769154441.data
style_X_MainStd_Std_N_sh_l_25_1769154441.data
style_X_MainStd_Std_N_sh_m_25_1769154441.data
style_X_MainStd_Std_N_sl_25_1769154445.data
style_m31_s28_Uni_S_s_25_1769154443.data
style_m31_s28_Uni_S_sl_25_1769154444.data
style_m32_s30_Uni_S_s_25_1769154444.data
style_m32_s30_Uni_S_sl_25_1769154444.data
style_m52_s53_Uni_S_s_25_1769154448.data
style_m54_s55_Uni_S_s_25_1769154448.data
style_material_25_1769154448.data
style_rule_25_1767863256.data
cloud_group_7_25_1769154448.data

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<config>
<dirs>
<data>./data/</data>
<diff>./diff/</diff>
<res>./res900/</res>
<log>./log/</log>
</dirs>
</config>

View File

@ -0,0 +1 @@
11.2.000

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>iPhone14,2</string>
<string>iPhone14,3</string>
<string>iPhone15,2</string>
<string>iPhone15,3</string>
<string>iPhone16,1</string>
<string>iPhone16,2</string>
<string>iPhone17,1</string>
<string>iPhone17,2</string>
</array>
</plist>

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Some files were not shown because too many files have changed in this diff Show More