Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>Code abhängig von Ziel-OS release auführen

Code abhängig von Ziel-OS release auführen

seaside17.08.0621:05
Kann mir jemand sagen, wie ich ObjC Code abhängig von der OS X release ausführen kann?

Möchte einen pre-10.4 call und den neuen 10.4 call in zwei zweige eines if {} else {} setzen, also die Auswahl zur Laufzeit ausführen lassen.

Früher gabe des mal dieses 'Gestalt Zeug' muss ich das noch immer nutzen. Oder gibt es elegantere Lösungen?
0

Kommentare

Rantanplan
Rantanplan17.08.0622:05
Wenn es ein völlig neuer Selektor ist, dann kannst du feststellen, ob die Klasse das implementiert mit "respondsToSelector:".
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
xplorer17.08.0622:06
vlt klappt das ja....
Für Version 10.3.5 und vorher:
if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_3_5)
{
//do something
}
else
{
// sollte 10.4 sein
}
0
xplorer17.08.0622:10
ups was vergessen...
der Aufruf prüft das Framework... also ich glaube 10_3_5 ist bis 10.3.9 gültig
zumindest hat es bei mir mal geklappt.
0
seaside17.08.0623:36
Super! Dank für alle Hinweise.

respondsToSelektor gefällt mir besser, da ich nicht explizit die Version des OS angeben muss.

0
seaside17.08.0623:38
Ach ja: Brauch das ganze für Bonjours. Neuerdings kann man angeben, wie lange man auf die Auflösung eines Bonjour Service warten möchte.
0
seaside18.08.0600:53
Rantanplan<br>
Wenn es ein völlig neuer Selektor ist, dann kannst du feststellen, ob die Klasse das implementiert mit "respondsToSelector:".

Hab nun die richtige Methode gefunden:

+ (BOOL)instancesRespondToSelector:(SEL)aSelector

.. da ich wissen muss, ob Objekt Instanzen die Methode implementieren...
0
Rantanplan
Rantanplan18.08.0601:49
seaside

Super Solche Sachen liebe ich an ObjC.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
seaside18.08.0601:59
Noch ne Frage: Mein Debugger zeigt nur noch Assembly, nicht aber Source Code an.

Ich weiss nicht, was ich verstellt habe. Hast Du eine Idee?
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.