Files
DPM/src-tauri/vendor/wry/Cargo.toml.orig
T
Pine a143b94ac1 fix(tauri): patch wry 绕过 macOS 26 启动崩溃(NSBundle bundleWithIdentifier SIGTRAP)
- 根因:tauri 启动探测 webview 版本时调用 wry platform_webview_version()
  → NSBundle::bundleWithIdentifier(com.apple.WebKit) 在 macOS 26 (Tahoe) 上
  触发 CFBundle/CFRelease 断言崩溃(EXC_BREAKPOINT)
- 方案:vendor 本地 wry 0.55.1,该函数改为安全占位返回(仅被上层用作 is_ok() 探测,
  返回值无实际用途),[patch.crates-io] 指向本地副本
- 附带:移除 NSBundle import,消除 unused 警告
2026-08-18 01:53:34 +08:00

223 lines
5.3 KiB
TOML

workspace = {}
[package]
name = "wry"
version = "0.55.1"
authors = ["Tauri Programme within The Commons Conservancy"]
edition = "2021"
license = "Apache-2.0 OR MIT"
description = "Cross-platform WebView rendering library"
readme = "README.md"
repository = "https://github.com/tauri-apps/wry"
documentation = "https://docs.rs/wry"
categories = ["gui"]
rust-version = "1.77"
exclude = ["/.changes", "/.github", "/audits", "/wry-logo.svg"]
[package.metadata.docs.rs]
no-default-features = true
features = ["protocol", "os-webview"]
targets = [
"x86_64-unknown-linux-gnu",
"x86_64-pc-windows-msvc",
"x86_64-apple-darwin",
]
[features]
default = ["protocol", "os-webview", "x11"]
serde = ["dpi/serde"]
protocol = []
devtools = []
transparent = []
fullscreen = []
linux-body = ["webkit2gtk/v2_40", "os-webview"]
mac-proxy = []
os-webview = [
"javascriptcore-rs",
"webkit2gtk",
"webkit2gtk-sys",
"dep:gtk",
"soup3",
]
x11 = ["x11-dl", "gdkx11", "tao/x11"]
tracing = ["dep:tracing"]
[dependencies]
tracing = { version = "0.1", optional = true }
once_cell = "1"
thiserror = "2.0"
http = "1.1"
raw-window-handle = { version = "0.6", features = ["std"] }
dpi = "0.1"
cookie = "0.18"
[target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
javascriptcore-rs = { version = "=1.1.2", features = [
"v2_28",
], optional = true }
webkit2gtk = { version = "=2.0.2", features = ["v2_38"], optional = true }
webkit2gtk-sys = { version = "=2.0.2", optional = true }
gtk = { version = "0.18", optional = true }
soup3 = { version = "0.5", optional = true }
x11-dl = { version = "2.21", optional = true }
gdkx11 = { version = "0.18", optional = true }
percent-encoding = "2.3"
dirs = "6"
[target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dev-dependencies]
x11-dl = { version = "2.21" }
[target."cfg(target_os = \"windows\")".dependencies]
webview2-com = "0.38"
windows-version = "0.1"
windows-core = "0.61"
dunce = "1"
[target."cfg(target_os = \"windows\")".dependencies.windows]
version = "0.61"
features = [
"Win32_Foundation",
"Win32_Graphics_Gdi",
"Win32_System_Com",
"Win32_System_Com_StructuredStorage",
"Win32_System_LibraryLoader",
"Win32_System_Ole",
"Win32_System_SystemInformation",
"Win32_System_SystemServices",
"Win32_UI_Shell",
"Win32_UI_WindowsAndMessaging",
"Win32_Globalization",
"Win32_UI_HiDpi",
"Win32_UI_Input",
"Win32_UI_Input_KeyboardAndMouse",
]
[target.'cfg(target_vendor = "apple")'.dependencies]
url = "2.5"
dirs = "6"
block2 = "0.6"
objc2 = { version = "0.6.4", features = [
"exception",
# because `NSUUID::from_bytes` needs it,
# and `WebViewBuilderExtDarwin.with_data_store_identifier` crashes otherwise,
# see https://github.com/tauri-apps/tauri/issues/12843
"disable-encoding-assertions",
] }
objc2-web-kit = { version = "0.3.0", default-features = false, features = [
"std",
"objc2-core-foundation",
"objc2-app-kit",
"block2",
"WKWebView",
"WKWebViewConfiguration",
"WKWebsiteDataStore",
"WKDownload",
"WKDownloadDelegate",
"WKNavigation",
"WKNavigationDelegate",
"WKUserContentController",
"WKURLSchemeHandler",
"WKPreferences",
"WKURLSchemeTask",
"WKScriptMessageHandler",
"WKUIDelegate",
"WKOpenPanelParameters",
"WKFrameInfo",
"WKSecurityOrigin",
"WKScriptMessage",
"WKNavigationAction",
"WKWebpagePreferences",
"WKNavigationResponse",
"WKUserScript",
"WKHTTPCookieStore",
"WKWindowFeatures",
] }
objc2-core-foundation = { version = "0.3.0", default-features = false, features = [
"std",
"CFCGTypes",
] }
objc2-foundation = { version = "0.3.0", default-features = false, features = [
"std",
"objc2-core-foundation",
"NSURLRequest",
"NSURL",
"NSString",
"NSKeyValueCoding",
"NSStream",
"NSDictionary",
"NSObject",
"NSData",
"NSEnumerator",
"NSKeyValueObserving",
"NSThread",
"NSJSONSerialization",
"NSDate",
"NSBundle",
"NSProcessInfo",
"NSValue",
"NSRange",
"NSRunLoop",
] }
[target.'cfg(target_os = "ios")'.dependencies]
objc2-ui-kit = { version = "0.3.0", default-features = false, features = [
"std",
"objc2-core-foundation",
"UIResponder",
"UIScrollView",
"UIView",
"UIWindow",
"UIApplication",
"UIEvent",
"UIColor",
] }
[target.'cfg(target_os = "macos")'.dependencies]
objc2-app-kit = { version = "0.3.0", default-features = false, features = [
"std",
"objc2-core-foundation",
"NSApplication",
"NSButton",
"NSControl",
"NSEvent",
"NSWindow",
"NSView",
"NSPasteboard",
"NSPanel",
"NSResponder",
"NSOpenPanel",
"NSSavePanel",
"NSMenu",
"NSGraphics",
"NSScreen",
] }
[target."cfg(target_os = \"android\")".dependencies]
crossbeam-channel = "0.5"
sha2 = "0.10"
base64 = "0.22"
jni = "0.21"
ndk = "0.9"
tao-macros = "0.1"
libc = "0.2"
dom_query = { version = "0.27.0", default-features = false }
[dev-dependencies]
pollster = "0.4.0"
tao = "0.35"
wgpu = "23"
winit = "0.30"
getrandom = "0.3"
http-range = "0.1"
percent-encoding = "2.3"
glow = "0.16.0"
libloading = "0.8.9"
# For unit testing `inject_initialization_scripts` since we can't do it easily on Android
sha2 = "0.10"
base64 = "0.22"
dom_query = { version = "0.27.0", default-features = false }
[lints.rust.unexpected_cfgs]
level = "warn"
check-cfg = ["cfg(linux)", "cfg(gtk)"]