diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 82090dd..818f3e4 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -1,6 +1,6 @@
name: ClashX
-on: [ push, pull_request ]
+on: [ push ]
env:
FASTLANE_SKIP_UPDATE_CHECK: true
diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml
new file mode 100644
index 0000000..71df35e
--- /dev/null
+++ b/.github/workflows/pull_request.yaml
@@ -0,0 +1,29 @@
+name: ClashX
+
+on: [ pull_request ]
+
+env:
+ FASTLANE_SKIP_UPDATE_CHECK: true
+
+jobs:
+ build:
+ runs-on: macos-13
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: setup Go
+ uses: actions/setup-go@v3
+ with:
+ go-version: 1.20.x
+
+ - uses: maxim-lobanov/setup-xcode@v1
+ with:
+ xcode-version: latest-stable
+
+ - name: install deps
+ run: |
+ bash install_dependency.sh
+
+ - name: check
+ run: |
+ bundle exec fastlane check
diff --git a/.gitignore b/.gitignore
index 79cd508..d67b4bd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,5 @@ fastlane/report.xml
ClashX/Resources/Country.mmdb.gz
.bundle/config
*.app/**
+ClashX.app.dSYM.zip
+build_derived_data
diff --git a/ClashX.xcodeproj/project.pbxproj b/ClashX.xcodeproj/project.pbxproj
index 4a9a421..ed94968 100644
--- a/ClashX.xcodeproj/project.pbxproj
+++ b/ClashX.xcodeproj/project.pbxproj
@@ -576,7 +576,6 @@
49CF3B1B20CD7463001EBF94 /* Resources */,
A741C26F5755233F0D7CEC6F /* [CP] Embed Pods Frameworks */,
663E4677213FCDC4006F11BB /* Copy Files */,
- 494ED8F023EB0B36008D5D2F /* Run Script - Sparkle */,
318032FABBC2E552CB58B254 /* [CP] Copy Pods Resources */,
49B93AD42A3965B40080967C /* Swift Lint */,
);
diff --git a/ClashX/AppDelegate.swift b/ClashX/AppDelegate.swift
index 9bb5e8d..4750bf5 100644
--- a/ClashX/AppDelegate.swift
+++ b/ClashX/AppDelegate.swift
@@ -22,7 +22,8 @@ let statusItemLengthWithSpeed: CGFloat = 72
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
var statusItem: NSStatusItem!
-
+ @IBOutlet weak var checkForUpdateMenuItem: NSMenuItem!
+
@IBOutlet var statusMenu: NSMenu!
@IBOutlet var proxySettingMenuItem: NSMenuItem!
@IBOutlet var autoStartMenuItem: NSMenuItem!
@@ -587,6 +588,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
}
AutoUpgardeManager.shared.setup()
AutoUpgardeManager.shared.addChanelMenuItem(&experimentalMenu)
+ AutoUpgardeManager.shared.setupCheckForUpdatesMenuItem(checkForUpdateMenuItem)
updateExperimentalFeatureStatus()
RemoteControlManager.setupMenuItem(separator: externalControlSeparator)
}
diff --git a/ClashX/Base.lproj/Main.storyboard b/ClashX/Base.lproj/Main.storyboard
index 99d2aa7..f1969ff 100644
--- a/ClashX/Base.lproj/Main.storyboard
+++ b/ClashX/Base.lproj/Main.storyboard
@@ -614,6 +614,7 @@
+
@@ -817,9 +818,6 @@