Framework niet gevonden MapKit

stemmen
1

Ik gebruik Xcode 3.2.1 in project, waarbij Base SDK iPhone Device 3.0 en iPhone OS Deployment Target is iPhone OS 2.0 , met andere woorden een backwards compatible applicatie.

Het probleem is MapKit Framework . Het is toegevoegd als Zwakke gekoppelde bibliotheek , maar de app gewoon niet verwijzen naar Device - 2.2.1 target. Ik heb geen ideeën ... Wat kan ik doen, maar markeren de bibliotheek als zwakke gekoppeld? Vroeger was het oorspronkelijk werken, maar nu niet meer.

Hier is een deel van de command line, die ziet er gewoon prima voor mij:

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

Error note:

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
De vraag is gesteld op 16/12/2009 om 12:50
bron van user
In andere talen...                            


3 antwoorden

stemmen
1

Gewoon om het probleem en de oplossing te verduidelijken:

Probleem: Ik wilde een te creëren backwards compatible applicatie , die zou draaien op zowel iPhone OS 2.x en 3.x apparaten. Het zou 3.x specifieke functies te gebruiken wanneer deze beschikbaar bv MapKit.

Oplossing: stel uw "Base SDK iPhone Device 3,0" en "iPhone OS Deployment Target als iPhone OS 2.0" . Sluit je iPhone OS 2.x-apparaat (de mijne was iPod Touch, waar ik weiger om te upgraden naar de nieuwste beschikbare iPod-software versie) en selecteer in de linkerbovenhoek van de target as "Device - 3,0" - zelfs als uw aangesloten apparaat niet 3.0 compatible helemaal !!!

Nogal verwarrend, ziet er totaal niet logisch in het begin, maar dat is de manier waarop het werkt!

antwoordde op 17/12/2009 om 08:23
bron van user

stemmen
1

Probeer de MailComposer voorbeeldproject van Apple, dat een vergelijkbaar ding doet met de MessageUI kader. Wat moet u doen is het Base SDK om 2.2.1 in plaats van 2,0.

antwoordde op 17/12/2009 om 06:20
bron van user

stemmen
1

Als u uw app op 2.2.1 draaien, hoeft u niet te kiezen 2.2.1 in dat menu, laat de "Active SDK" ingesteld op 3,0 of daarbuiten.

antwoordde op 16/12/2009 om 18:47
bron van user

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