From 9eda0debca590dd1a953933037cd932f8b2b2b40 Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Wed, 23 Sep 2026 18:07:16 +0200 Subject: [PATCH 1/2] Turn off Xcode's Thread Performance Checker in the iOS build template Xcode's Run loads the Thread Performance Checker into apps it launches on iOS 18 and later. Its SQLite tracking aborts with `Assertion failed: (0), function isBulkReadStatement, file SQLiteDatabaseTracking.cpp, line 711` when a statement is finalized after its connection was closed. SQLite allows that order, and CPython produces it when it garbage-collects an unclosed connection or when a connection is closed while a cursor still has unread rows, so apps that use `sqlite3` stopped when run from Xcode. The generated scheme now sets `disablePerformanceAntipatternChecker`, the setting behind the checker's checkbox in the scheme's Diagnostics tab. Apps that are not launched by Xcode never load the checker. --- CHANGELOG.md | 6 ++++++ .../Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme | 1 + 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4ee25dc62..19fd6d9fb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 1.0.2 + +### Bug fixes + +* Fix iOS apps that use `sqlite3` stopping with `Assertion failed: (0), function isBulkReadStatement` when run from Xcode on iOS 18 and later, by turning off Xcode's Thread Performance Checker in the scheme generated by `flet build` ([#5480](https://github.com/flet-dev/flet/issues/5480)) by @ndonkoHenri. + ## 1.0.1 ### Improvements diff --git a/sdk/python/templates/build/{{cookiecutter.out_dir}}/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/sdk/python/templates/build/{{cookiecutter.out_dir}}/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 724d08c8d9..75a274b2ff 100644 --- a/sdk/python/templates/build/{{cookiecutter.out_dir}}/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/sdk/python/templates/build/{{cookiecutter.out_dir}}/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -59,6 +59,7 @@ ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" debugServiceExtension = "internal" + disablePerformanceAntipatternChecker = "YES" allowLocationSimulation = "YES"> From f172eef8e76e40f2b0298824edecb6fc7c0e96d9 Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Wed, 23 Sep 2026 18:14:15 +0200 Subject: [PATCH 2/2] Add PR link to changelog entry --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 19fd6d9fb0..b9886010d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ### Bug fixes -* Fix iOS apps that use `sqlite3` stopping with `Assertion failed: (0), function isBulkReadStatement` when run from Xcode on iOS 18 and later, by turning off Xcode's Thread Performance Checker in the scheme generated by `flet build` ([#5480](https://github.com/flet-dev/flet/issues/5480)) by @ndonkoHenri. +* Fix iOS apps that use `sqlite3` stopping with `Assertion failed: (0), function isBulkReadStatement` when run from Xcode on iOS 18 and later, by turning off Xcode's Thread Performance Checker in the scheme generated by `flet build` ([#5480](https://github.com/flet-dev/flet/issues/5480), [#6882](https://github.com/flet-dev/flet/pull/6882)) by @ndonkoHenri. ## 1.0.1