SQLLite 3 and iOS 18

Hi,

I've got an app using SQLLite. Under iOS 17 I could insert and select rows with no issues. Under iOS 18 the same code runs without errors but the select returns no results. Various select statements with and without where clause's, and freshly created database files all behave the same way.

Unless... the phone is in developer mode, then it works same as iOS 17. I'm assuming it's some security change, how do we fix it? Same issue with Swift 5 and Swift 6 for context but I don't think its related to Swift.

Thanks !

Based on your description, it seems that you are testing with a physical iPhone. If that is the case though, you will need to enable the developer mode (Settings > Privacy & Security) before being able to install and app with Xcode, and so I am wondering how you observed the behavior on a device without enabling the developer mode ...

Best,
——
Ziqiao Chen
 Worldwide Developer Relations.

Hi, thanks for the response. Installed the app without developer mode using TestFlight.

TestFlight distribution does not require the developer mode be on, as mentioned in the following WWDC video:

In your case, it sounds that turning on the developer mode is the only reason that brings your app back to work, which seems to be a regression in iOS 18. I don't see any workaround for that, and can only suggest that you file a feedback report – If you do so, please share your report ID here for folks to track.

Best,
——
Ziqiao Chen
 Worldwide Developer Relations.

https://feedbackassistant.apple.com/feedback/15436663

Feedback logged here. I can’t be the only person to have noticed this? Surely system apps / libraries use the Apple provided SQLlite library?

Just switched to CoreData, problem solved !

SQLLite 3 and iOS 18
 
 
Q