Framework nicht gefunden MapKit

stimmen
1

Ich verwende Xcode 3.2.1 in Projekt, in dem Basis SDK iPhone Gerät 3.0 ist und iPhone OS Deployment Ziel ist iPhone OS 2.0 , mit anderen Worten eine rückwärts kompatible Anwendung.

Das Problem ist , MapKit Rahmen . Es ist , als hinzugefügt Weak verknüpfte Bibliothek , aber die App eines Anknüpfungspunkt nicht nur für „Device - 2.2.1“ Ziel. Ich habe die Ideen ausgehen ... Was kann ich sonst noch tun , aber die Bibliothek als „schwach“ verknüpft markieren? Früher war es ursprünglich arbeiten, aber nicht mehr.

Hier ist ein Teil der Befehlszeile, die ich ganz gut aussieht:

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

Fehlerhinweis:

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
Veröffentlicht am 16/12/2009 um 12:50
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
1

Nur um das Problem und Lösung zu klären:

Problem: Ich wollte einen erstellen rückwärts kompatible Anwendung , die auf beiden iPhone OS 2.x und 3.x - Geräte laufen würde. Es wäre 3.x Besonderheiten , wenn verfügbar zB MapKit verwenden.

Lösung: stellen Sie Ihren "Basis SDK als iPhone - Gerät 3.0" und "iPhone OS Deployment Ziel als iPhone OS 2.0" . Verbinden Sie Ihr iPhone OS 2.x - Gerät (meins war iPod Touch, wo ich mich weigere zu neuesten iPod Software - Version zu aktualisieren) , und wählen Sie in der oberen linken Ecke , um das Ziel als „Device - 3.0“ - auch wenn das angeschlossene Gerät nicht 3.0 kompatibel ist überhaupt !!!

Ziemlich verwirrend, sieht völlig nicht-logisch auf den ersten, aber das ist die Art, wie es funktioniert!

Beantwortet am 17/12/2009 um 08:23
quelle vom benutzer

stimmen
1

Versuchen Sie, das MailComposer Beispielprojekt von Apple, die mit dem MessageUI Rahmen eine ähnliche Sache tut. Was Sie tun müssen, ist die Basis - SDK 2.2.1 statt 2.0 eingestellt.

Beantwortet am 17/12/2009 um 06:20
quelle vom benutzer

stimmen
1

Um Ihre Anwendung auf 2.2.1 zu laufen, brauchen Sie nicht zu wählen 2.2.1 in diesem Menü, lassen Sie die „Aktiv SDK“ auf 3,0 oder darüber hinaus.

Beantwortet am 16/12/2009 um 18:47
quelle vom benutzer

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