Fehler beim Erstellen der 32-Bit OS X App?

9

Ich arbeite an meiner ersten Mac OS X App. Mein Projekt wurde mit XCode-Standardeinstellungen eingerichtet und ich habe keine Build-Einstellungen berührt. Beim Erstellen für Mac 64-Bit läuft die App gut. Wenn ich für Mac 32-Bit baue, erhalte ich jedoch einen scheinbar willkürlichen Fehler, der besagt:

Semantic issue: Synthesized property 'myProperty' must either be named the same as a compatible ivar or must explicitly name an ivar.

Auf welche Dinge kann ich achten?

    
anna 18.08.2011, 15:46
quelle

2 Antworten

21

Es hört sich so an, als hätten Sie den Fehler gefunden, aber ich denke, ich kann Ihre Frage beantworten, falls jemand anders sie später findet.

Apple hat viele Änderungen in der 64-Bit-Objective-C-Laufzeit vorgenommen, die sie vorher nicht durchführen konnten, da es die Binärkompatibilität sprengen würde. Eine Sache, die anders ist, ist, dass in der 32-Bit-Laufzeit synthetisierte Eigenschaften durch Instanzvariablen unterstützt werden müssen. Auf der 64-Bit-Laufzeit benötigen die synthetisierten Eigenschaften sills, die aber automatisch für Sie erstellt werden. Standardmäßig sollte der Name der Instanzvariable mit dem Namen der Eigenschaft übereinstimmen.

Wenn Sie also 32 Bit unterstützen müssen, stellen Sie sicher, dass Sie Instanzvariablen für alle Ihre Eigenschaften erstellen. Wenn Sie nur 64 Bit unterstützen, können Sie dies immer noch tun, damit Ihr Code gleichzeitig für 32 Bit und 64 Bit erstellt werden kann, aber Sie müssen nicht.

    
My Karlsson 18.08.2011, 19:16
quelle
0

Sie können das Präprozessor-Makro NS_BUILD_32_LIKE_64 in Xcode für das 32-Bit-Build-Ziel festlegen. Dadurch ersparen Sie sich den separaten Code für 32-Bit- und 64-Bit-Versionen.

    
theUltimateNoob 31.08.2017 17:43
quelle