2012-09-24 4 views
11

Ich habe kürzlich meine Codebasis aktualisiert, um iOS6 Base SDK zu verwenden - ich verwende XCode 4.5. Ich musste nur die dylibxml2.2.3.7 in dylibxml2.2 ändern. Es funktioniert gut auf dem 6.0-Simulator. Ich verwende Bibliotheken wie GoogleAnalytics, Three20.Laufzeitausnahme nach dem Upgrade auf Xcode4.5 iOS6 Base SDK

Aber wenn ich den Code auf iOS 5 (iPhone4) laufe, stürzt es beim Start mit diesem folgenden Fehler:

Ich kann nicht sagen, wo es genau abstürzt, weil alles, was ich den Maschinencodes zu sehen ist, wenn es stürzt

dyld: faul Symbol fehlgeschlagen Bindung: Symbol nicht gefunden: _objc_setProperty_nonatomic

Referenced from: /Users//Library/Application Support/iPhone Simulator/5.0/Applications//

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/System/Library/Frameworks/Foundation.framework/Foundation

Antwort

29

ich den gleichen Fehler zu treffen, wenn meine eigenen lib Aufbau und es in meinem Beispielcode ausführen. Nachdem ich das Build-Protokoll sorgfältig gelesen habe, finde ich jetzt den Grund heraus.

Ich habe mein Bereitstellungsziel auf iOS 3.0 festgelegt, aber der neueste Xcode unterstützt nur iOS 4.3 und höher. Daher legt der Compiler das Implementierungsziel automatisch auf iOS 6.0 fest, wodurch bei der Ausführung des Projekts unter iOS 6.0 ein Fehler generiert wird. Ich habe es behoben, indem ich das Implementierungsziel in meinem lib-Projekt auf iOS 4.3 eingestellt habe.

+0

Super! Arbeitete für mich - ich habe diesen Teil völlig übersehen - Es ist unerträglich, wie verrückte Sachen man bekommen kann, wenn man auf ein neues iOS und einen neuen xCode upgradet - Vielen Dank! – user510164

+0

+1 es funktioniert für mich. – ajay

0

Es gibt ein Problem beim Ändern des SDK-Implementierungsziels allein. Ich habe gerade eine tab-basierte Anwendung erstellt. Habe in keiner Datei Änderungen vorgenommen. Läuft gut auf ios 6 simulator, aber wenn ich
deployment target auf 5 und auf ios 5 simulator, die ausnahme (signal sigabrt) erstellt. Xcode Version 4.5 und Standardbereitstellungsziel SDK 6.0.

+0

+1 für iPhoney-Antwort. Wenn Sie xib oder Storyboard verwenden, deaktivieren Sie darüber hinaus "useautolayout" im Interface Builder, wenn Sie auf ios5 ausgeführt werden. Standardmäßig ist diese Option für ios6 sdk target aktiviert. – Panesar

0

Oder es könnte sein, dass Sie eine Bibliothek verwenden, die mit einem höheren Base-SDK als Ihr Projektdatenbank-SDK kompiliert wurde.