I had developed an application which uses the SQLite database. It was working perfectly fine until iOS 8.4 on both iOS simulators and devices but on iOS 9.0 it is crashing by giving error "database is locked" on physical device while working perfectly on iOS 9.0 simulator.
It is giving error in SQLiteManager.m
Please note that:
I am using XCode 7.0 Beta 3
My physical device has iOS 9.0 Beta 3 which is the same version of my iOS simulator
I have set the build target to 9.0 which was initially showing many warnings but I have updated all the deprecated things in the code according to iOS 9.0 like UIAlertControllerView etc.
There is no warning in code now.
I have tried by deleting and adding again both libsqlite3.0 and libsqlite framework. But the error is still there.
I have read many blogs and even on Stack Overflow related to this and found solution of writing sqlite3_close(database) and sqlite3_finalize(command) after execution of command and I have done that too, but still failed to achieve any output.
There was problem in compatibility. It has been resolved automatically since X Code 7 and iOS 9 Beta 5 is released.
Related
I have an app that needs to support iOS 9.3 and above. I was trying Unified Logging which is only available on iOS 10.0+ (specific method: os_log).
Here's how I used it:
#include <os/log.h>
os_log(OS_LOG_DEFAULT, "this is a log");
I expected it to crash on iOS 9.3. To my surprise, when I ran the app on iOS 9.3 simulator and then an iPhone, it ran fine. I tried cleaning and then rebuilding but it still worked.
Why would the os_log() still work on an iOS version it's not supposed to be on?
I saw that iOS 11.1 has been officially rolled out but I still see "deployment target" in Xcode to support up to iOS 11.
Does that mean that if I update it to iOS 11.1 I won't be able to test my apps on it? Is that what It means or I interpret it wrong?
So some quick information on deployment targets:
Lets say you have set minimum deployment target to iOS 9. This means your application is compatible for iOS 9 and above devices.
The application won't run on below 9.0 devices but can run on any iOS version greater than iOS 9.0. Article here
I tested this and it DID NOT work unfortunately. I was running the latest Xcode and just updated my phone. You should wait until Xcode officially supports iOS 11.1+ before upgrading.
I downloaded a calendar tutorial and ran it with deployment target as iOS 6.1 and ran it in the simulator, everything went fine. I loaded it onto a iOS 6.1 device and it crashed with "selector not found"
It uses 'startOfDayForDate'
return [[NSCalendar currentCalendar] startOfDayForDate:self.start];
This crashes on the iOS 6.1 test device yet it works in the simulator even though I have a deployment target of iOS 6.1.
I used instancesRespondToSelector and found it doesn't respond.
I listed out the methods and found about 30 methods fewer when I run the same program on the device when compared to the simulator.
Note that the other settings are the same.
Q. How do you set the simulator to simulate a certain OS?
Is there some hidden setting I don't see that would cause the simulator to load methods from a different version of iOS?
Looking at the documentation here it looks like this method is only supported in iOS 8.0 and later which is why this crashes on your iOS 6.1 device.
You are probably running a simulator for a version of iOS later than 8.0.
If you're running xCode 6.0 or later the earliest simulator you can download is iOS 7. This is better described here
I'm trying to run a very simple (Hello World-ish) Fire Monkey app to an iOS Simulator (Mac Mini) from Delphi-XE7 (Windows 7).
When I do this I get a "Class linkage error", and a Trouble shooting window that contains the same text as this link.
Working through this:
I've verified that my connection profile is set up
And that it's able to talk to the Platform Assistant server (/w a Passwordl.
I've verified this by turning it off and using the Test Connection button to see that it fails when it is off and works when it is on.
I've added the SDK Manager for iOS Simulator (iPhoneSimulator 8.3)
I've added the SDK Manager for iOS Device (iPhoneOS 8.3)
I've get Xcode (6.3) started on the MAC.
I've got iOS Simulator already started
What have I missed?
I'll note that I don't see Phone Simulators for iOS 7.1, 8.1, or 8.2 even though they are installed for Xcode when I add the SDK Managers - I'm wondering if that is at all related.
There is a known issue with deploying iOS 8 code from Delphi XE7. Actually, it seems to be more to do with the version of Xcode (as of 2015-04-22 the latest version is 6.3).
The latest version of XCode that works with Delphi XE7 is 5.1.1. Downgrading from Xcode 6.3 to Xcode 5.1.1 has solved my issues. Delphi had other cryptic issues with Xcode 6.0.1 and above.
I'll note that the latest version of iOS that Xcode 5.1.1 capable deploying is 7.1, which is also the oldest version (as of 2015-04-22) that the AppStore will support. However, the App store will not support any new application in 7.1. So your path is to move to XE8 and I presume they've fixed the problems talking to XCode 6.x there.
Just updated my local SDK to iOS 7.1 and Xcode to 5.1. All is fine but when I tried to compile a perfectly fine 7.0 codebase targeting the Simulator it runs fine but when I tried to target a device that runs iOS 7.1 it gave a whole set of new compile errors. There's just a lot to list out here but the more prominent one is from the famous SVPRogressHUD.
Is anything changed in iOS 7.1 SDK that need treatments differently? This is so annoying for the past hour or so.