NS runtime crashes in iOS18 Simulators
維護者通常 2 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 35/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 停滯
- 技術堆疊
- ios, typescript
- 領域
- mobile-dev
研究方向
首先,使用所示的 openUrlWithParametersCompletion 方法在 iOS 18 Simulator 中重現當機,然後檢查 crashiOS18SimOniPhone15Pro.txt 和 SFSafariViewController 的呼叫路徑。在回報的模擬器設定上開啟 Safari 檢視不再導致 NativeScript iOS runtime 當機,即表示完成。
由索引模型根據 Issue 內容生成。
描述
Hello together,
I am currently trying to migrate my app from NS 8.7 to 8.8. It seems like NS has an issue on simulators running iOS18. The relevant code block which kills the runtime is the following, hence opening an SFSafariViewController breaks the app. The crash log is attached below,
crashiOS18SimOniPhone15Pro.txt
seems like it is a V8 related issue.
private openUrlWithParametersCompletion(fullUrl: string, frame: Frame): void {
SFSafariViewController.prewarmConnectionsToURLs([NSURL.URLWithString(fullUrl)]);
this.safariViewController = SFSafariViewController.alloc().initWithURL(NSURL.URLWithString(fullUrl));
// color of top and bottom bar
if (this.styleOptions) {
this.safariViewController.preferredBarTintColor = this.styleOptions.preferredBarTintColor.ios;
}
// color of the buttons
if (this.styleOptions) {
this.safariViewController.preferredControlTintColor = this.styleOptions.preferredControlTintColor.ios;
}
// text for dismiss button can be Done, Close, Cancel
this.safariViewController.dismissButtonStyle = SFSafariViewControllerDismissButtonStyle.Done;
this.safariViewController.delegate = this;
if (!this._timeout) {
this._timeout = setTimeout(() => {
const windowScene = UIApplication.sharedApplication.connectedScenes.allObjects.firstObject as UIWindowScene;
if (windowScene) {
const keyWindow = windowScene.windows.firstObject as UIWindow;
if (keyWindow.keyWindow) {
let rootVC = keyWindow.rootViewController;
rootVC.presentViewControllerAnimatedCompletion(this.safariViewController, true, null);
} else {
console.error('no key window');
}
}
this._timeout = null;
}, 150);
}
}
OS: macOS 15.0
CPU: (10) arm64 Apple M1 Pro
Shell: /bin/zsh
node: 20.11.1
npm: 10.2.4
nativescript: 8.8.2
# android
java: 17.0.12
ndk: Not Found
apis: Not Found
build_tools: Not Found
system_images: Not Found
# ios
xcode: 16.0/16A242d
cocoapods: 1.15.2
python: 3.12.4
python3: 3.12.4
ruby: 2.7.8
platforms:
- DriverKit 24.0
- iOS 18.0
- macOS 15.0
- tvOS 18.0
- visionOS 2.0
- watchOS 11.0
Dependencies
"dependencies": {
"@angular/animations": "18.2.5",
"@angular/common": "18.2.5",
"@angular/compiler": "18.2.5",
"@angular/core": "18.2.5",
"@angular/forms": "18.2.5",
"@angular/platform-browser": "18.2.5",
"@angular/platform-browser-dynamic": "18.2.5",
"@angular/router": "18.2.5",
"@apollo/client": "3.11.8",
"@mnd/external-web-view": "file:../app-plugins/dist/packages/external-web-view/mnd-external-web-view-2.0.0.tgz",
"@nativescript/angular": "18.1.3",
"@nativescript/core": "8.8.2",
"@nativescript/iqkeyboardmanager": "2.1.1",
"@nativescript/localize": "5.2.0",
"@nativescript/mlkit-barcode-scanning": "2.1.0",
"@nativescript/mlkit-core": "2.1.0",
"@nativescript/secure-storage": "3.0.3",
"@nativescript/theme": "3.1.0",
"@nativescript/ui-charts": "0.2.4",
"apollo-angular": "7.2.0",
"apollo3-cache-persist": "0.15.0",
"d3-ease": "3.0.1",
"graphql": "16.9.0",
"graphql-tag": "2.12.6",
"intl": "1.2.5",
"moment": "2.30.1",
"nativescript-health-data": "file:../app-plugins-customized/nativescript-health-data/publish/package/nativescript-health-data-3.0.0.tgz",
"nativescript-oauth2-ext": "file:../app-plugins-customized/nativescript-oauth2-ext/publish/package/nativescript-oauth2-ext-3.0.4.tgz",
"nativescript-sqlite": "2.8.6",
"nativescript-sqlite-commercial": "file:../app-plugins-customized/commercial-sqlite/nativescript-sqlite-commercial-1.8.0.tgz",
"nativescript-ui-calendar": "15.2.3",
"nativescript-ui-gauge": "15.2.3",
"qs": "npm:[email protected]",
"rxjs": "7.8.1",
"util": "0.12.5",
"uuidjs": "5.1.0",
"zone.js": "0.15.0"
},
"devDependencies": {
"@angular-devkit/build-angular": "18.2.5",
"@angular/compiler-cli": "18.2.5",
"@graphql-codegen/cli": "5.0.2",
"@graphql-codegen/fragment-matcher": "5.0.2",
"@graphql-codegen/introspection": "4.0.3",
"@graphql-codegen/typescript": "4.0.9",
"@graphql-codegen/typescript-apollo-angular": "4.0.0",
"@graphql-codegen/typescript-operations": "4.2.3",
"@nativescript/android": "8.7.0",
"@nativescript/ios": "8.8.2",
"@nativescript/types": "8.8.0",
"@nativescript/webpack": "5.0.22",
"@ngtools/webpack": "18.2.5",
"@types/d3-ease": "3.0.2",
"@types/intl": "1.2.2",
"@types/lodash": "4.17.7",
"@types/node": "22.5.5",
"keycloak-request-token": "0.1.0",
"rimraf": "6.0.1",
"sass": "1.77.8",
"ts-node": "10.9.2",
"typescript": "5.5.4"
}
- 主要語言
- JavaScript
- 星號
- 150
- 分支
- 44
- 平均合併
- 3 天 23 小時
- 30 天內合併 PR
- 19
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
NativeScript/ios 的其他 Issue
-
interop.FunctionReference function passed as a block, then as a function pointer, asserts可能已有人在做 @edusperoni 於 3 天前認領。 未關閉
難度 4/5 3-5 天 新手友好度 22/100
NativeScript/ios#503 ·
維護者通常 2 天內回覆
-
難度 5/5 一週以上 新手友好度 38/100
NativeScript/ios#459 · 1 則留言 ·
維護者通常 2 天內回覆
-
難度 3/5 3-5 天 新手友好度 66/100
NativeScript/ios#414 ·
維護者通常 2 天內回覆
-
question
難度 4/5 3-5 天 新手友好度 34/100
NativeScript/ios#364 · 2 則留言 ·
維護者通常 2 天內回覆
-
難度 4/5 3-5 天 新手友好度 35/100
NativeScript/ios#355 ·
維護者通常 2 天內回覆
相似的 Issue
-
難度 1/5 1 小時以內 新手友好度 65/100
-
[BUG] Tools returned by input processors get an empty context.agent.agentId可能重新可做 關聯的 PR 已關閉且未合併。 未關閉@mastra/core effort:low impact:medium status: auto-triaged Tools
難度 2/5 1-3 小時 新手友好度 68/100
mastra-ai/mastra#26794 · 3 則留言 ·
維護者通常 1 天內回覆
-
release:v5.34
難度 1/5 1-3 小時 新手友好度 88/100
Jason-Vaughan/TangleClaw#2365 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 76/100
-
enhancement
難度 1/5 1-3 小時 新手友好度 85/100
holepunchto/hrpc-test#28 ·