2009-05-28 35 views
3

Ich benutze iphone_sdk_3.0_beta_5__9m2735 SDK. Wenn ich versuche, meinen Code mit der Option Simulator 3.0 zu kompilieren, erhalte ich den folgenden Fehler. Der Code kompiliert für Ruhe alle Simulator Option dh 2.0, 2.1, 2.2, 2.2.1 Während mein Code kompiliert ich folgende erhalten FehlerUIKit SDK 3.0 Fehler

 
from /Users/videomac/manish/EXPLab/2009-05-27-11-20 myApp_LL_2/myApp_Prefix.pch:7: 
In file included from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:30, 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalizedIndexedCollation.h:11: error: syntax error before 'AT_NAME' token 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalizedIndexedCollation.h:19: error: syntax error before '}' token 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalizedIndexedCollation.h:21: fatal error: method definition not in @implementation context 

Die Fehler werden in der Datei UILocalizedIndexedCollation.h befindet, die am SDK file.I ist Verwenden von UIKit Framework von SDK 3.0. Kann mir jemand sagen, was ich tun soll, um diesen Fehler zu entfernen?

Antwort

0

Zuerst sollten Sie die Beta-Produkte hier diskutieren.

Dies ist jedoch nicht mit der Beta verbunden. Sie haben einen Fehler in einer Ihrer eigenen Header-Dateien, wahrscheinlich eine fehlende @end-Anweisung.

BTW, Google könnte dies für Sie gelöst haben, anstatt hier zu fragen.

+0

Ich werde dies im Auge behalten, während Anfragen veröffentlichen. – Manish

+0

@Roger, ich denke du meintest, wir sollten hier keine Beta-Produkte diskutieren. – Abizern

6

Ich habe dieses Problem als Compiler-Version verfolgt. Soweit ich das beurteilen kann, benötigt [ANONYMISIERT] GCC 4.2, während das iPhone SDK 2.x nur mit GCC 4.0 funktioniert.

Hier ist eine Möglichkeit, das zu beheben.

In Ihrem Target Info, wählen Sie Build Separator und suchen Sie nach dem Abschnitt Compiler Version. Dann:

  1. Wählen Sie die C/C++ Compiler Version Reihe
  2. Stellen Sie die Standard GCC 4.0
  3. An der linken unteren Steuer, Add Build Setting Condition Hit
  4. Auf der linken Seite Device - iPhone OS 3.0
  5. Auf der rechten Seite wählen, entschied sich GCC 4.2
  6. Wiederholen Sie die Schritte 3 bis 5, jetzt mit Simulator - iPhone OS 3.0 in Schritt 4.
+0

Hallo jpedroso Ich habe die oben genannten Schritte, aber ich bekomme die gleichen 3 Fehler. – Manish

+0

Eine Klarstellung: Für Schritt 3 müssen Sie die Build-Einstellung "C/C++ Compiler Version" gewählt haben, ansonsten ist "Add Build Setting Condition" ausgegraut. Das hat mich für ein bisschen ratlos gemacht! Sobald ich getan hatte, behob diese Anweisungen das Problem für mich. Manish - hast du einen Clean Build versucht? –

4

Apple-Ingenieur hatte bestätigt, dass sie einen Fehler in UIKit Rahmen hatte:

Wir haben eine einfache Abhilfe für dieses UIKit Fehler. In UILocalizedIndexedCollation.h dies ändern:

UIKIT_EXTERN @interface UILocalizedIndexedCollation : NSObject 
to 
UIKIT_EXTERN_CLASS @interface UILocalizedIndexedCollation : NSObject 

Denis2342

+0

Dieses Problem betrifft nur das 3.0 SDK. Version 3.1 hat es nicht. –

+0

genial, das ist ein königlicher Schmerz in den Arsch, und jetzt ist es behoben. Danke! – WrightsCS