2011-10-01 17 views
12

Uygulamamı iOS'a derlerken bazı sorunlar yaşıyorum. Ben sqlite3 kullanarak ve ithal ediyorum Simülatördeki libsqlite ve iOS derleme

#import <sqlite3.h> 

Eh, ben sadece benim Mac libsqlite3.0.dylib adlı bir dosya buldum ve projeme kopyaladı. iOS Simulator için derlediğimde, gayet iyi çalışıyor. Ancak, iOS Aygıtı için uygulamayı derlemeye çalıştığımda, uygulamamda sqlite işlevine (_sqlite3_open, vb. Gibi) yaptığım her çağrıya bir hata (Apple Match-O Bağlayıcı Hatası) atar.

Nasıl olabilir? IOS Cihazına derledim mi?

Teşekkür ederiz!

#import <sqlite3.h>

cevap

58

yerine basitçe kütüphane kopyalayarak, böyle yapmak: yerine

#import "sqlite3.h"

:

+0

Tamam, senin ipucu ile derlendi! Teşekkür ederim!! Bununla birlikte, uygulama, iPhone'da çalışmamaktadır, en kısa sürede sqlite3 kütüphanesini kullanan yöntemi çağırır ve uygulamayı kapatır ve kapatır. Simülatörde iyi çalışıyor ... Neden bu? Herhangi bir fikir? Humm ... libcode3.dylib'i Xcode 4.1'in görüntülediği varsayılan klasörden ekledim. – Ibai

+0

Cihazda bir kilitlenme günlüğü (Organizer => Aygıtlar => Aygıt Günlüğü) almalısınız. –

+0

Merhaba.Sanırım bir hobi olarak bu iOS programlama dünyasında başladım ve bir öğrenci olarak benim bunun için mümkün değildir, bir Geliştirici lisansı göze alamaz. Umarım anlarsın. Bunun neden kazalara sebep olabileceğine dair bir fikrin var mı? Ben çok söyleyemem kaynak kodu olmadan tekrar – Ibai

0

sizin gibi Sqlite3 kitaplık almayı deneyin mı

    Xcode N'de
  • kaptanı, tıklayın hedef (upmost girişi)

  • sonra Link Binary With Libraries

  • , Build Phases gitmek bu kadar yer vaka birisi o karşılaştığı Sadece içeri /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOSxx.sdk/usr/lib/

+0

O farklı olmadığını gezebilirsiniz tüm ayrıntılar ve örnek kaynak kodu için

. –

1

de libsqlite3.dylib eklemek benim gibi aynı problem. Kodunuzu test eden bir birim iseniz, lib dosyasını da test hedefinize ekleyin.

-1

IOS uygulamanızda SQLite kullanmayı bulduğum en iyi yol, SQLit kitaplığının kendi kopyanızı oluşturmak ve bunu projenize dahil etmektir. libsqlite3.0.dylib, SQLite'nin çok eski bir kopyasıdır.

SQLite Amalgamation kaynak kodunu kolayca indirebilir ve IOS için oluşturabilirsiniz. Bu, size en son hata düzeltmeleri ve iyileştirmeleri içeren en yeni SQLite kaynak kodunu verir.

Xcode'u açıp yeni bir statik kitaplık projesi oluşturabilirseniz, o zaman yolun% 75'i sizsiniz.

Statik kütüphane projesine sahip olduktan sonra, SQLite Amalgamation'dan indirdiğiniz SQLite kaynaklarını dahil edin ve birkaç Önişlemci seçeneği belirleyin ve en son kodla kapatıp çalıştırın. Eğer bloguma conedogers