Was passiert mit Methoden, die den Status Deprecated verpasst bekommen von Apple?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Was passiert mit Methoden, die den Status Deprecated verpasst bekommen von Apple?

    Meine Frage ist etwas allgemeiner Natur weil mir die Tage etwas auffiel, was mich ein wenig verwirrte.
    Kurz: Wie ist deprecated zu verstehen?
    Lang: Ich hab die Tage mal ohne groß Nachzudenken eines meiner alten Programme benutzt. Da sind u.a. Methoden des NSFileManagers in Verwendung, die seit 2007 eigentlich überholt sind. Das Programm und auch die Methoden (z.B. movePath:toPath:) funktionieren aber selbst heute unter 10.9.2 immer noch so wie sie sollen.
    Werden denn solche Funktionen nicht über kurz oder lang aus Mac OS X raus geworfen?
    [self setSignature:null];
    [[self postCount] increment];
  • Wann und ob Apple die Methoden rausschmeißt kann niemand genau sagen, wobei bei Apple die Wahrscheinlichkeit des Rausschmeißens sehr hoch ist - im Gegensatz zu Java beispielsweise. Sofern es nicht zu aufwändig ist, solltest Du die Methoden ersetzen, falls Du das Programm noch weiter verwenden willst.
    „Meine Komplikation hatte eine Komplikation.“
  • Das hab ich schon gemacht, es hat mich nur verwundert, dass Methoden, die schon so lange deprecated sind, scheinbar immer noch unterstützt werden. Ich mein, im Beispiel movePath:toPath, 2007 war ja nicht erst gestern oder so sondern ist schon einige Tage her. Daher war/bin ich doch recht stark verwundert.
    [self setSignature:null];
    [[self postCount] increment];
  • Mike schrieb:

    Das hab ich schon gemacht, es hat mich nur verwundert, dass Methoden, die schon so lange deprecated sind, scheinbar immer noch unterstützt werden. Ich mein, im Beispiel movePath:toPath, 2007 war ja nicht erst gestern oder so sondern ist schon einige Tage her. Daher war/bin ich doch recht stark verwundert.


    es würde ja keinen vorteil bringen solche methoden komplett zu entfernen sondern einfach nur den nachteil bringen dass irgend ein älteres programm nicht mehr funktioniert (es gibt ja genug software die vor 10 jahren geschrieben wurde und immer noch verwendet wird - oder wann kam i386 auf die apple-platform?).
    ganz entfernen wird apple diese methoden wol nie sondern sie eher nur komplett aus der doku nehmen.
    sie sagen ja nur dass es jetzt bessere methoden gibt die eventuell schneller, sicherer sind oder bessere infos liefern, andere parameter verwenden etc. aber entfernen wird apple solche methoden nicht so schnell außer es gibt wirklich gründe dafür.
  • macmoonshine schrieb:

    Wobei die Lebenszeit mancher Methoden schon erstaunt. Gerade mal einen Lenz alt, und schon deprecated... ;) +scnr+


    naja, solange sie andere möglichkeiten anbieten ist es ja relativ egal.
    was aber viel mehr stört ist wenn sie funktionen entfernen und keine anderen einführen die man anstelle dessen verwenden soll.

    gutes beispiel dafür ist AuthorizationExecuteWithPrivileges.
    wurde komplett rausgestichen, sobald diese funktion aus dem system entfernt wird werden dann wohl viele sachen nicht mehr funktionieren weil apple nicht für alle anwendungsfälle eine ersatz-funktion anbietet (SMJobBless funktioniert zb nur mit app-bundles, jedoch nicht mit einfachen command-line-tools oder preference-panes...)