2013-01-11 10 views
20

Phiên bản Sqlite của iOS bao gồm những gì?Phiên bản nào của sqlite mà iOS cung cấp?

+0

Tôi thực sự quan tâm đến phiên bản SQLite iOS 8.0 và iOS 8.1 vì tin tức này: http://permalink.gmane.org/gmane.comp.db.sqlite.general/90549 – k06a

+0

Tôi nhận được 3.7.13: 3007013 trên bảng điều khiển . Làm cách nào để chuyển sang phiên bản SQLite mới nhất? –

+0

@ k06a liên kết đó không còn giá trị. Bạn có nhớ lại "tin tức này" là gì, điều đó khiến bạn quan tâm đến các phiên bản SQLite phiên bản iOS 8.0 và 8.1? – Syclone0044

Trả lời

12

Sử dụng CHỌN sqlite_version() trên iOS khác nhau phiên bản:

Từ internets:

2.2: 3.4.0 
3.1.3: 3.6.12 
4.0.2: 3.6.22 
4.1.0: 3.6.23.2 
4.2.0: 3.6.23.2 

tôi chỉ thử nghiệm tại:

6.0.1: 3.7.13 
+1

Đối với một điểm dữ liệu bổ sung, 5.1.1 sử dụng SQLite 3.7.7. Và, như một sang một bên, tên hàm là 'sqlite3_version()'. – Rob

+1

Bất cứ ai đã kiểm tra iOS 7 chưa? – CasaDelGato

+1

iOS 7.0.6: 3.7.13 –

10

Tôi vừa mới kiểm tra trên iOS 7 :

7.0: 3.7.13 
+0

Không thay đổi kể từ 6.0, ngay cả trong phiên bản 7.0.6 mới nhất. –

+0

Ngay cả trong phiên bản iOS 7.1.2 mới nhất (mới nhất cho iPhone4), nó vẫn là 3.7.13. – tokentoken

7

Chỉ cần làm:

p (const char*) sqlite3_libversion() 

trong một trình gỡ lỗi chạy một ứng dụng (mà liên kết đến các lib sqlite) trên một thiết bị mà bạn muốn biết phiên bản sqlite.

Trên iPhone 5s iOS 8.0.2, tôi nhận 3.7.13 vì vậy có vẻ như họ không thay đổi phiên bản trong một thời gian dựa trên các báo cáo trong các câu trả lời khác mà phiên bản 6.0 đã sử dụng cùng một phiên bản.

3

SQLite đã được cập nhật trong iOS 8.2 lên phiên bản 3.8.5

1

Trong iOS 9.0 phiên bản SQLite là 3.8.10.2

18

This wiki có danh sách mới nhất, mà hiện nay là:

╔═════════════╦════════════════╗ 
║ iOS Version ║ SQLite Version ║ 
╠═════════════╬════════════════╣ 
║ 2.2   ║ 3.4.0   ║ 
║ 3.1.3  ║ 3.6.12   ║ 
║ 4.0.2  ║ 3.6.22   ║ 
║ 4.1.0  ║ 3.6.23.2  ║ 
║ 4.2.0  ║ 3.6.23.2  ║ 
║ 5.1.1  ║ 3.7.7   ║ 
║ 6.0.1  ║ 3.7.13   ║ 
║ 7.0   ║ 3.7.13   ║ 
║ 7.0.6  ║ 3.7.13   ║ 
║ 8.0.2  ║ 3.7.13   ║ 
║ 8.2   ║ 3.8.5   ║ 
║ 9.0   ║ 3.8.8   ║ 
║ 9.3.1  ║ 3.8.10.2  ║ 
║ 10.0 beta 2 ║ 3.13.0   ║ 
║ 10.0 GM  ║ 3.14.0   ║ 
║ 10.2  ║ 3.14.0   ║ 
║ 10.3.1  ║ 3.16.0   ║ 
║ 11.0  ║ 3.19.3   ║ 
╚═════════════╩════════════════╝ 
0

Sử dụng sau đây để in ra phiên bản trong mã của bạn. Bạn có thể xác định sau đây dưới dạng một chức năng gỡ lỗi riêng biệt và gọi nó từ didFinishLaunchingWithOptions trong ứng dụng của bạnTelegate.

#if DEBUG 
// Int representing version; e.g. "3016000" for macOS 10.12.4 
int sqliteVersion = sqlite3_libversion_number(); 
NSLog(@"Sqlite Version: %d", sqliteVersion); 

// String representing version; e.g. "3.19.3" for iOS 11 
const char *sqliteLibVersion = sqlite3_libversion(); 
NSString *sqliteLibVersionStr = [NSString stringWithUTF8String:sqliteLibVersion]; 
NSLog(@"Sqlite Lib Version: %@", sqliteLibVersionStr); 

// String representing sourceId; e.g. "2017-06-27 16:48:08 2b09...2e2377b" on iOS11 
const char *sqliteSourceid = sqlite3_sourceid(); 
NSString *sqliteSourceidStr = [NSString stringWithUTF8String:sqliteSourceid]; 
NSLog(@"Sqlite SourceID: %@", sqliteSourceidStr); 
#endif 

Hoặc, xem sqlite3.h trực tiếp trong Xcode. Đối với iOS 11:

#define SQLITE_VERSION  "3.19.3" 
#define SQLITE_VERSION_NUMBER 3019003 
#define SQLITE_SOURCE_ID  "2017-06-27 16:48:08 2b09...2e2377b" 

sqlite3.h cũng có các phương pháp khác có thể được sử dụng cho mục đích gỡ lỗi.