mirror of
https://github.com/xweiba/location-spoofer.git
synced 2026-09-21 22:30:46 +08:00
chore: prepare v1.0.3 release
This commit is contained in:
+1
-1
@@ -12,7 +12,7 @@ responses in a controlled test environment.
|
|||||||
[](project.yml)
|
[](project.yml)
|
||||||
[](project.yml)
|
[](project.yml)
|
||||||
[](Core/go.mod)
|
[](Core/go.mod)
|
||||||
[](docs/CHANGELOG.md)
|
[](docs/CHANGELOG.md)
|
||||||
|
|
||||||
[Features](#feature-overview) ·
|
[Features](#feature-overview) ·
|
||||||
[How It Works](#how-it-works) ·
|
[How It Works](#how-it-works) ·
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
[](project.yml)
|
[](project.yml)
|
||||||
[](project.yml)
|
[](project.yml)
|
||||||
[](Core/go.mod)
|
[](Core/go.mod)
|
||||||
[](docs/CHANGELOG.md)
|
[](docs/CHANGELOG.md)
|
||||||
|
|
||||||
[功能概览](#功能概览) ·
|
[功能概览](#功能概览) ·
|
||||||
[工作原理](#工作原理) ·
|
[工作原理](#工作原理) ·
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ struct AppRemoteConfiguration: Decodable, Equatable {
|
|||||||
let communityPromptClients: [String]
|
let communityPromptClients: [String]
|
||||||
|
|
||||||
static let fallback = AppRemoteConfiguration(
|
static let fallback = AppRemoteConfiguration(
|
||||||
latestVersion: "1.0.2",
|
latestVersion: "1.0.3",
|
||||||
minimumSupportedVersion: "1.0.0",
|
minimumSupportedVersion: "1.0.0",
|
||||||
communityPromptClients: [
|
communityPromptClients: [
|
||||||
ThirdPartyProxyClient.surge.rawValue,
|
ThirdPartyProxyClient.surge.rawValue,
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ final class AppRemoteConfigurationTests: XCTestCase {
|
|||||||
func testFallbackMatchesCurrentProjectPolicy() {
|
func testFallbackMatchesCurrentProjectPolicy() {
|
||||||
let configuration = AppRemoteConfiguration.fallback
|
let configuration = AppRemoteConfiguration.fallback
|
||||||
|
|
||||||
XCTAssertEqual(configuration.latestVersion, "1.0.2")
|
XCTAssertEqual(configuration.latestVersion, "1.0.3")
|
||||||
XCTAssertEqual(configuration.minimumSupportedVersion, "1.0.0")
|
XCTAssertEqual(configuration.minimumSupportedVersion, "1.0.0")
|
||||||
XCTAssertFalse(configuration.requestsCommunityPrompt(for: .shadowrocket))
|
XCTAssertFalse(configuration.requestsCommunityPrompt(for: .shadowrocket))
|
||||||
for client in ThirdPartyProxyClient.allCases where client != .shadowrocket {
|
for client in ThirdPartyProxyClient.allCases where client != .shadowrocket {
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ test -s "$ROOT/docs/onboarding-screenshots/shadowrocket/shadowrocket-module-impo
|
|||||||
grep -q 'presentSuccessfulOperationTip(.activation)' "$ROOT/App/MapHomeView.swift" || fail "third-party save must present the activation tip"
|
grep -q 'presentSuccessfulOperationTip(.activation)' "$ROOT/App/MapHomeView.swift" || fail "third-party save must present the activation tip"
|
||||||
grep -q 'presentSuccessfulOperationTip(.deactivation)' "$ROOT/App/MapHomeView.swift" || fail "third-party clear must present the deactivation tip"
|
grep -q 'presentSuccessfulOperationTip(.deactivation)' "$ROOT/App/MapHomeView.swift" || fail "third-party clear must present the deactivation tip"
|
||||||
grep -q 'if spoofState == .active' "$ROOT/App/MapHomeView.swift" || fail "manual help must follow the shared spoof state"
|
grep -q 'if spoofState == .active' "$ROOT/App/MapHomeView.swift" || fail "manual help must follow the shared spoof state"
|
||||||
grep -q 'MARKETING_VERSION: "1.0.2"' "$ROOT/project.yml" || fail "marketing version must be 1.0.2"
|
grep -q 'MARKETING_VERSION: "1.0.3"' "$ROOT/project.yml" || fail "marketing version must be 1.0.3"
|
||||||
grep -q 'CURRENT_PROJECT_VERSION: "3"' "$ROOT/project.yml" || fail "build version must be 3"
|
grep -q 'CURRENT_PROJECT_VERSION: "4"' "$ROOT/project.yml" || fail "build version must be 4"
|
||||||
|
|
||||||
echo "PASS: third-party proxy mode contract"
|
echo "PASS: third-party proxy mode contract"
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import sys
|
|||||||
with open(sys.argv[1], encoding="utf-8") as handle:
|
with open(sys.argv[1], encoding="utf-8") as handle:
|
||||||
config = json.load(handle)
|
config = json.load(handle)
|
||||||
|
|
||||||
assert config["latestVersion"] == "1.0.2"
|
assert config["latestVersion"] == "1.0.3"
|
||||||
assert config["minimumSupportedVersion"] == "1.0.0"
|
assert config["minimumSupportedVersion"] == "1.0.0"
|
||||||
assert "shadowrocket" not in config["communityPromptClients"]
|
assert "shadowrocket" not in config["communityPromptClients"]
|
||||||
assert set(config["communityPromptClients"]) == {
|
assert set(config["communityPromptClients"]) == {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
## 已发布
|
## 已发布
|
||||||
|
|
||||||
|
- [v1.0.3](https://github.com/xweiba/location-spoofer/releases/tag/v1.0.3) — 2026-08-09
|
||||||
- [v1.0.2](https://github.com/xweiba/location-spoofer/releases/tag/v1.0.2) — 2026-08-07
|
- [v1.0.2](https://github.com/xweiba/location-spoofer/releases/tag/v1.0.2) — 2026-08-07
|
||||||
- [v1.0.1](https://github.com/xweiba/location-spoofer/releases/tag/v1.0.1) — 2026-08-06
|
- [v1.0.1](https://github.com/xweiba/location-spoofer/releases/tag/v1.0.1) — 2026-08-06
|
||||||
- [v1.0.0](https://github.com/xweiba/location-spoofer/releases/tag/v1.0.0) — 2026-08-05
|
- [v1.0.0](https://github.com/xweiba/location-spoofer/releases/tag/v1.0.0) — 2026-08-05
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# v1.0.3
|
||||||
|
|
||||||
|
发布日期:2026-08-09
|
||||||
|
|
||||||
|
## 主要更新
|
||||||
|
|
||||||
|
- 增加 APP 模式与第三方代理模式的独立初始化状态和切换引导。
|
||||||
|
- 调整环境检测时机,启动时不再阻塞首屏,开启虚拟定位时再执行检测。
|
||||||
|
- 完善证书重置、下载、安装、信任和异常修复流程。
|
||||||
|
- 完善第三方代理导入、连接检测、诊断日志和客户端跳转。
|
||||||
|
|
||||||
|
## 第三方代理与社区
|
||||||
|
|
||||||
|
- 增加 Shadowrocket 图文引导并修正配置步骤顺序。
|
||||||
|
- 增加社区配置分享、Bug 报告和 GitHub Discussions 工作流。
|
||||||
|
- 补充第三方 WLOC 配置接口、JSON 格式及客户端适配说明。
|
||||||
|
- 支持通过远程配置控制社区投稿提示。
|
||||||
|
|
||||||
|
## 更新与兼容性
|
||||||
|
|
||||||
|
- 增加异步版本检测,支持强制更新和推荐更新策略。
|
||||||
|
- App 内置远程配置兜底,不因 GitHub 访问超时阻塞首屏。
|
||||||
|
- 新生成的根证书固定显示为 `Location Spoofer CA`;已有有效证书继续复用。
|
||||||
|
|
||||||
|
## 自签安装
|
||||||
|
|
||||||
|
- Release 附件为未签名 IPA,安装前需要自行签名。
|
||||||
|
- 可使用免费 Apple ID 和 Impactor 完成签名安装,无需付费开发者账号。
|
||||||
|
- 签名时请保留 Bundle ID `com.paopaolabs.location-spoofer`、App Group `group.com.paopaolabs.location-spoofer` 及原有 entitlements。
|
||||||
|
- 免费 Apple ID 签名通常只有 7 天有效期,到期后需要重新签名安装。
|
||||||
|
|
||||||
|
<!-- commit-range: v1.0.2..v1.0.3 -->
|
||||||
+2
-2
@@ -8,8 +8,8 @@ options:
|
|||||||
settings:
|
settings:
|
||||||
base:
|
base:
|
||||||
SWIFT_VERSION: "5.9"
|
SWIFT_VERSION: "5.9"
|
||||||
MARKETING_VERSION: "1.0.2"
|
MARKETING_VERSION: "1.0.3"
|
||||||
CURRENT_PROJECT_VERSION: "3"
|
CURRENT_PROJECT_VERSION: "4"
|
||||||
CODE_SIGN_STYLE: Manual
|
CODE_SIGN_STYLE: Manual
|
||||||
CODE_SIGNING_ALLOWED: "NO"
|
CODE_SIGNING_ALLOWED: "NO"
|
||||||
CODE_SIGNING_REQUIRED: "NO"
|
CODE_SIGNING_REQUIRED: "NO"
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"latestVersion": "1.0.2",
|
"latestVersion": "1.0.3",
|
||||||
"minimumSupportedVersion": "1.0.0",
|
"minimumSupportedVersion": "1.0.0",
|
||||||
"communityPromptClients": ["surge", "quantumultX", "loon", "stash", "egern"]
|
"communityPromptClients": ["surge", "quantumultX", "loon", "stash", "egern"]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user