Über Bits und so

Bits und so ist der wöchentliche
Mac- und Gadget-Podcast mit
Timo Hetzel und Crew.

Kostenlos abonnieren

RSS-Symbol

Bits und so Plus

Plus-Symbol

Bits und so Plus kaufen und glücklich werden
Infos zu Bits und so Plus...

Bits und so Live

Live-Symbol

Live-Streams hören…
Folge @bitsundso für Termine

Forum und so

Um an Diskussionen teilzunehmen, musst du dich
Register or log in.

Forum und so » Bits und so

Definition "private API"

(6 posts)

  1. Posted 1 year ago #

    uwe (Member)

    Hallo,

    ich tu mich im Moment nen bisschen schwer mit den Begriffen in der 3.3.1 Diskussion und was man als Entwickler denn nun darf und was nicht.

    Vielleicht kann ja mal hier jemand zur Aufklärung beitragen. Ich schreibe mal und hoffe auf Korrekturen:

    Eine API ist eine Abstraktion zwischen Hardware und Software, ich sage als Entwickler der API mach dieses oder jenes und die API übersetzt das dann in die gerätespezifischen Befehle.

    Nun gibt es im SDK von Apple private und öffentliche API. Das sind beides Befehle an die API, nur dass die einen nicht dokumentiert und nicht erlaubt sind. Oder meint "private API" etwas anderes ?

    In einer Software habe ich ja normalerweise verschiedene Ebenen: Daten einlesen, Daten verarbeiten, Daten ausgeben. Für die Einlesen von Daten und die Ausgabe von Daten darf ich nur aus ausschließlich die API von Apple benutzen. Somit ist auch die Interaktion mit dem Benutzer nur mittels Apple API erlaubt.

    Was ist nun mit dem Teil "Daten verarbeiten". Darf ich mich hier anderer Software bedienen ? Also zum Beispiel irgendwelche C/C++ Klassen und Bibliotheken einbinden und zur Datenverarbeitung benutzen ?

    Gruß

    Uwe

  2. Posted 1 year ago #

    AlexC (Member)

    Solange diese Klassen und Bibliotheken auch nur die erlaubte API und Werkzeuge nutzen, darfst Du - aus technischer Sicht. Aber auch auf die rechtliche Sicht sollte man achten. Nur weil eine Bibliothek z.B. Open Source ist, heißt nicht, dass Du die problemlos nutzen kannst. D.h. Du musst darauf achten, ob sich die Nutzungslizenzen der Bibliotheken mit dem AppStore vertragen. Die GPL tut es z.B. vermutlich nicht.

  3. Posted 1 year ago #

    uwe (Member)

    Danke für die Rückmeldung.

    Mir ging es erstmal um die Klärung der Begriffe, die Lizenzen sind ein anderes Thema. Nochmal zur Klärung um mir nen Bild zu machen.
    openCV zum Beispiel besitzt einen Haufen Funktionen zur Bildbearbeitung und ein paar um Fenster usw. anzuzeigen.

    Ich dürfte also Bilder mittels Apple API abgreifen, mittels openCV verarbeiten und mittels AppelAPI anzeigen, ausgeben etc. Ich darf nicht openCV benutzen um auch Bilder anzuzeigen oder eine Art GUI zu erzeigen. Korrekt ?

    Ich hatte es in der Diskussion teilweise so verstanden, als dürfe keinerlei Fremdsoftware verwendet werden. Das ist dann aber scheinbar nur für die Interaktion mit dem System so. Oder ?

  4. Posted 1 year ago #

    AlexC (Member)

    Sofern openCV Bilder auf dem iPhone überhaupt anzeigen kann ("Fenster aufmachen" im herkömmlichen Sinne geht auf dem iPhone ja generell nicht, derartige Funktionen würden also sowieso schon technisch Probleme machen, d.h. entsprechende Sourcen würden gar nicht erst ohne massiven Änderungen compilieren), und dies über die öffentliche API geschieht, und keine von Apple nicht gewünschten Tools involviert sind, wäre das auch kein Problem.

    Grundsätzlich darfst Du schon eine eigene GUI schreiben (siehe Opera Mini), wobei man sich, außer bei Spielen, aber schon an der Apple-GUI orientieren sollte. Eine selbstgestrickte GUI ganz außerhalb Apples Richtlinien verschreckt nur die User und macht einen schlechten Eindruck (siehe Opera Mini).

    Fremdsoftware die als C, C++, Objective-C oder Javascrip-Sourcen vorliegt, macht technisch keine Probleme (wie gesagt, rechtlich gibt's immer noch einiges zu beachten), weil Du alles in Dein XCode-Projekt einbinden kannst. Fremde Entwicklungsumgebungen darfst Du aber nicht verwenden (siehe die Diskussion um Adobe vs. Apple). D.h. Solange Du mit XCode auskommst, dürfte alles mehr oder weniger klar gehen.

  5. Posted 1 year ago #

    uwe (Member)

    Danke für die Infos, jetzt weiß ich auf welcher Seite ich stehe bei der Diskussion. :-)

    Nochmal der Begriff "private API". Sind dies undokumentierte Teile der offiziellen API oder wie definiert sich dies ?

  6. Posted 1 year ago #

    stq66 (Member)

    Die private API umfasst alle Teile, die nicht im SDK dokumentiert und veröffentlicht sind, aber natürlich trotzdem im System vorhanden sind um dem System gewisse Funktionen zu ermöglichen.

    Beispiel für eine private API (zumindest zu pre-OS 3.0 Zeiten): das direkte Abgreifen der Kamerabilder um einen Videostrom daraus zu erzeugen.

    cheers
    hELMUT


RSS feed for this topic

Reply

You must log in to post.

Infos

Mehr aus dem Undsoversum

  • Games und so
  • Undsoversity