рдирдорд╕реНрддреЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ iOS рдХреЗ рд▓рд┐рдП рд╕рд░рд▓рддрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд░реВрд╕реА (рдФрд░ рди рдХреЗрд╡рд▓) рд░реВрд╕реА рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдЧрд╛, рдЬреИрд╕реЗ рдХрд┐ UPPER / LOWER, LIKE, рдпрд╛ ORDER BYред
рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдУрдПрд╕ рдПрдХреНрд╕ рд▓реЙрдпрди 10.7.2 рдХреЗ рддрд╣рдд Xcode 4.2 рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдиреАрдЪреЗ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢ рд╣реИред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- SQLite рд╕рдорд╛рдореЗрд▓рди рд╕реНрд░реЛрдд рдХреЛрдб (рдСрдЯреЛрдХреЙрдиреНрдлрд╝ рдХреЗ рдмрд┐рдирд╛) рдбреЗрд╡рд▓рдкрд░ рдХреА рд╕рд╛рдЗрдЯ рд╕реЗ (рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ 2 рдлрд╝рд╛рдЗрд▓реЗрдВ)
- рдлрд╝рд╛рдЗрд▓реЗрдВ sqlite_unicode.c рдФрд░ sqlite_unicode.h, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рд╕реЗ
рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ
Xcode рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ, iOS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ - рд╕рд┐рдВрдЧрд▓ рд╡реНрдпреВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, "рдЕрдЧрд▓рд╛" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ, рд╕рднреА рдЪреЗрдХрдмреЙрдХреНрд╕ рдЕрдирдЪреЗрдХ рдХрд░реЗрдВ, "рдЕрдЧрд▓рд╛" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рд╣реЛ рдЧрдпрд╛ред
рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ SQLite рд╕рдкреЛрд░реНрдЯ рдЬреЛрдбрд╝рдирд╛
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдиреЗрд╡рд┐рдЧреЗрдЯрд░ рдореЗрдВ рдмрд╛рдИрдВ рдУрд░, рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдЧреБрдгреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЗ рд╕рдмрд╕реЗ рдКрдкрд░реА рддрддреНрд╡ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдиреАрдЪреЗ рд▓рдХреНрд╖реНрдп рдЬреЛрдбрд╝реЗрдВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
IOS рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЪреБрдиреЗрдВ - рдХреЛрдХреЛ рдЯрдЪ рд╕реНрдЯреЗрдЯрд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдПрдХ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВред рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред
рд╣рдо рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдиреЗрд╡рд┐рдЧреЗрдЯрд░ рдореЗрдВ рдирдП рдмрдирд╛рдП рдЧрдП рд╕рдореВрд╣ (libsqliteunicode) рдореЗрдВ рдЦреАрдВрдЪреЗрдВред
рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ, рджреЛрдиреЛрдВ рд▓рдХреНрд╖реНрдпреЛрдВ (рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ) рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред
рдлрд┐рд░ рд╕реЗ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЧреБрдг рдЦреЛрд▓реЗрдВ, рд▓рдХреНрд╖реНрдп рд╕реВрдЪреА рд╕реЗ рдирд┐рд░реНрдорд┐рдд libsqlunicode рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдмрд┐рд▓реНрдб рдЪрд░рдгреЛрдВ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ, "рд▓рд┐рдВрдХ рдмрд╛рдЗрдирд░реА рд╡рд┐рдж рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝" рд╕реВрдЪреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рд╕реЗ Foundation.framework рдирд┐рдХрд╛рд▓реЗрдВред
рдмрд┐рд▓реНрдб рд╕реЗрдЯрд┐рдВрдЧ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░ Preprocessor Macros рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдВ
SQLITE_CORE SQLITE_ENABLE_UNICODE
рд▓рдХреНрд╖реНрдп рд╕реВрдЪреА рд╕реЗ, sqliteunicode рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдирд┐рд░реНрдорд╛рдг рдЪрд░рдгреЛрдВ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ, рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрднрд░рддрд╛ рд╕реВрдЪреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реА libsqliteunicode рдЬреЛрдбрд╝реЗрдВ
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред
рдЗрд╕ рд╕рдм рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреА рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдкрдХреЛ рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝рдиреА рдЪрд╛рд╣рд┐рдП
#import "sqlite3.h"
#import "sqlite3_unicode.h"
рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
sqlite3_unicode_load();
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдореБрдлреНрдд рдореЗрдореЛрд░реА рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ
sqlite3_unicode_free();
рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ libsqlite3.dylib рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдФрд░ рдЦреЛрдЬ рдмрд╛рд░ рдФрд░ рдЦреЛрдЬ рдкреНрд░рджрд░реНрд╢рди рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕ рдкрд░ рдЦреЛрдЬ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛:
рдбрд╛рдЙрдирд▓реЛрдб (4 рдПрдордмреА)
рдпреБрдкреАрдбреА:SQLite рд╕рдорд╛рдореЗрд▓рди recompiling рдмрд┐рдирд╛ рд╡рд┐рдХрд▓реНрдк:
- рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдорд╛рдирдХ libsqlite3.dylib рдЬреЛрдбрд╝реЗрдВ
- рд╡рд╣рд╛рдВ рд▓реЗрдЦ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рд╕реЗ sqlite_unicode.c рдФрд░ .h рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реЗрдВред
- SQLITE_CORE SQLITE_ENABLE_UNICODE рдХреЗ рд▓рд┐рдП рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░реЗрдВ
- рд╕рдВрдХрд▓рди
рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:
рдбрд╛рдЙрдирд▓реЛрдб (1.5 рдПрдордмреА)
рд╡реИрд╕реЗ, рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА .app рдХрд╛ рдЖрдХрд╛рд░ 1 210 597 рдмрд╛рдЗрдЯреНрд╕ рд╣реИ
рджреВрд╕рд░реЗ рдореЗрдВ - 266 332