Framework nebyl nalezen MapKit

hlasů
1

Já jsem za použití Xcode 3.2.1 v projektu, kde základna SDK je iPhone zařízení 3.0 a iPhone OS Deployment Target je iPhone OS 2.0 , jinými slovy zpětně kompatibilní aplikace.

Problém je v tom MapKit Framework . Je přidán jako slabé linkovaná knihovna , ale aplikace právě neodkazuje na „Device - 2.2.1“ cíl. I došly nápady ... Co jiného můžu dělat, ale označit knihovnu jako „slabý“ propojeny? To fungovalo původně, ale nic víc.

Zde je část příkazového řádku, který vypadá stejně dobře na mě:

-framework Foundation -framework UIKit -framework CoreGraphics
 -weak_framework CoreLocation -weak_framework MapKit

Se zobrazí chybová zpráva:

ld: framework not found MapKit
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.0 failed with exit code 1
Položena 16/12/2009 v 12:50
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
1

Jen pro objasnění problému a řešení:

Problém: Chtěl jsem vytvořit zpětně kompatibilní aplikaci , která by běžet na obou iPhone OS 2.xa 3.x. zařízení. To by se používat 3.x specifické vlastnosti pokud jsou k dispozici např MapKit.

Řešení: nastavte „Základní SDK jako iPhone zařízení 3.0“ a „iPhone OS nasazení cíl jako iPhone OS 2.0“ . Připojte 2.x zařízení iPhone OS (důl byl iPod Touch, kde jsem odmítnout provést upgrade na nejnovější dostupnou verzi softwaru pro iPod) a vyberte v levém horním rohu na cíl jako „Device - 3,0“ - i když připojené zařízení NENÍ 3.0 kompatibilní vůbec !!!

Docela matoucí, vypadá naprosto nelogický na první, ale to je způsob, jak to funguje!

Odpovězeno 17/12/2009 v 08:23
zdroj uživatelem

hlasů
1

Zkuste MailComposer ukázkový projekt od společnosti Apple, který dělá něco podobného s rámcem MessageUI. Co budete muset udělat, je nastavit základní SDK 2.2.1 namísto 2,0.

Odpovězeno 17/12/2009 v 06:20
zdroj uživatelem

hlasů
1

Chcete-li spustit aplikaci na 2.2.1, nemusíte vybírat 2.2.1 v této nabídce, nech „Aktivní SDK“ nastavena na hodnotu 3,0 nebo mimo ni.

Odpovězeno 16/12/2009 v 18:47
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more