fix(client/macos): P1 骨架修正 — bundle id 统一 PacketTunnel + Info.plist 精简
- VpnChannel/Provider: 扩展 bundle id 统一为 com.pangolin.pangolin.PacketTunnel (对齐 Xcode 新建 target 的实际 id) - PacketTunnel/Info.plist: 去掉重复 CFBundlePackageType + 多余 NEMachServiceName, 只保留 NEProviderClasses(其余标准键由 GENERATE_INFOPLIST_FILE 合并) - .gitignore: 忽略 Frameworks/Libbox.xcframework(204MB,build-libbox.sh 产出) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -5,3 +5,6 @@
|
||||
# Xcode-related
|
||||
**/dgph
|
||||
**/xcuserdata/
|
||||
|
||||
# libbox 嵌入式核心(204MB,scripts/build-libbox.sh 产出,不入 git)
|
||||
**/Frameworks/Libbox.xcframework/
|
||||
|
||||
@@ -2,37 +2,15 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Pangolin Tunnel</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>$(MARKETING_VERSION)</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||
<!-- System Extension 主体声明:NEPacketTunnelProvider。
|
||||
NetworkExtension 框架据此把扩展类与 packet-tunnel 类型绑定。 -->
|
||||
<!-- 自定义键:声明 NEPacketTunnelProvider。其余标准 CFBundle* 键由
|
||||
GENERATE_INFOPLIST_FILE=YES 自动生成并合并,此处不重复写以免冲突。 -->
|
||||
<key>NetworkExtension</key>
|
||||
<dict>
|
||||
<key>NEMachServiceName</key>
|
||||
<string>$(TeamIdentifierPrefix)group.com.pangolin.pangolin</string>
|
||||
<key>NEProviderClasses</key>
|
||||
<dict>
|
||||
<key>com.apple.networkextension.packet-tunnel</key>
|
||||
<string>$(PRODUCT_MODULE_NAME).PacketTunnelProvider</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XPC!</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -20,7 +20,7 @@ import NetworkExtension
|
||||
import os
|
||||
// import Libbox // ← gomobile bind 产物;加入 xcframework 后解开
|
||||
|
||||
private let log = Logger(subsystem: "com.pangolin.pangolin.tunnel", category: "provider")
|
||||
private let log = Logger(subsystem: "com.pangolin.pangolin.PacketTunnel", category: "provider")
|
||||
|
||||
class PacketTunnelProvider: NEPacketTunnelProvider {
|
||||
// libbox 服务句柄(类型来自 Libbox 模块,加入 xcframework 后改为 LibboxBoxService)。
|
||||
|
||||
@@ -18,7 +18,7 @@ import os
|
||||
private let log = Logger(subsystem: "com.pangolin.pangolin", category: "vpn")
|
||||
|
||||
final class VpnChannel: NSObject {
|
||||
private static let tunnelBundleId = "com.pangolin.pangolin.tunnel"
|
||||
private static let tunnelBundleId = "com.pangolin.pangolin.PacketTunnel"
|
||||
|
||||
private var statusSink: FlutterEventSink?
|
||||
private var statsSink: FlutterEventSink?
|
||||
|
||||
Reference in New Issue
Block a user