Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

App-Store-Prüfung wird komplizierter

Wie auf The Unofficial Apple Weblog (TUAW) berichtet wird, scheint der Prüfungsprozess des App Stores durch den Einsatz eines automatisierten Code-Scanner komplizierter zu werden. Durch den von Apple entwickelten Scanner, der eingereichte iPhone-Software nach undokumentierten Funktionsaufrufen untersucht, werden laut TUAW auch völlig legitime Programme abgelehnt. Der Grund sind hier falsch gewählte Funktionsnamen wie setThumbnail oder setOrder, die durchaus im eigenen Software-Projekt vorkommen können. Problematisch ist dies allerdings für den Prüfungsprozess, weil diese Funktionsnamen auch in undokumentierten inoffiziellen APIs des iPhones verwendet werden. Da Apple deren Nutzung untersagt, werden wohl einige iPhone-Programme oder -Aktualisierungen momentan zu unrecht abgelehnt. Inwieweit Apple die Code-Scanner noch verbessern kann, ist nicht bekannt. Zumindest dürfte der zeitliche Aufwand für einige iPhone-Apps mit dem Code-Scanner nun zunehmen und Rückfragen im Prüfungsprozess unumgänglich machen.

Weiterführende Links:

Kommentare

l-vizz
l-vizz27.11.09 09:11
Da muss Apple endlich mal in die Hufen kommen. Dieses Gatekeeper gehabe ähnelt einer Diktatur und beschert mit recht reichlich schlechte Presse.
Wer bis zum Hals in Scheisse steckt sollte den Kopf nicht hängen lassen!
0
locoFlo27.11.09 09:22
Schwachsinniger Artikel. Die Entwicklung ist ein Fortschritt, da die Kriterien transparent und für jeden Entwickler einsehbar sind. Aber Hauptsache meckern.
Nobody dies as a virgin, life fucks us all. KC
0
borisstock27.11.09 09:42
Es ist ok auf die Verwendung von nicht dokumentierten oder privaten API's zu prüfen. Aber die ungerechtfertigten Ablehnungen bringen Apple viel Ärger und den Entwicklern viel Frustration. Außerdem kann man immer noch private API's verwenden. Das ist das übliche Katz- und Mausspiel wie bei den Jailbreaks...
0
Tekl27.11.09 10:10
Viel Ärger würden sie sich sparen, wenn der Scanner von jedem lokal ausgeführt werden könnte. Aber vermutlich hat Apple Angst, dass der Scanner zu viele Internas preisgibt.
0
Garp200027.11.09 10:21
locoFlo Die Prüfung ist erst mal für Apple eine Verbesserung. Wo ist es eine für Entwickler wenn der ohne Vorwarnung und im Prinzip vollkommen willkürlich dafür bestraft wird, dass er vollkommen legal eine eigene Funktion so benannt hat wie Apple seine private API? Woher soll er das wissen?

Der Prozess von Apple ist so doch Müll. Der muss doch unterscheiden ob hier wirklich eine private API aufgerufen wird oder der Entwickler in seinem Namespace eine Klasse mit einem beliebigen Namen aufgezogen hat.
Star of CCTV
0
Gilderoy Lockhart27.11.09 11:06
Zunächst finde ich es blamabel, wenn Apple ein Tool zur Prüfung erstellt, das dann nicht richtig funktioniert -- und das bei diesem sensiblen Thema.

Abgesehen davon finde ich es problematisch, Apps aufgrund der Verwendung von internen bzw. undokumentierten Funktionen abzulehnen. I.A. werden solche Funktionen ja nicht verwendet, weil es so cool ist, interne/undokumentierte Funktionen zu verwenden, sondern weil anders bestimmte Sachen nicht umgesetzt werden können (die wiederum dann extrem cool sind ). Am Ende liegt es in der Verantwortung der Programmierer, Apple kann ja dem Kunden mit Hinweisen im App-Store darauf hinweisen, dass die Software u.U. in der nächsten Release nicht mehr läuft. Kann mir keiner erzählen, das wäre zum Schutz der Anwender -- Eigenverantwortung ist doch ein ganz großes Buzz-Word des Kapitalismus, der einzige, der sich hier schützt ist Apple selbst. Auf der einen Seite mit den vielen Apps werben, auf der anderen Seite die Programmierer so gängeln -- irgendwie ist da eine Diskrepanz.

Konstruktiv wäre es, wenn Apple eine Prüfung durchführen würde, oder noch besser, gleich dem Entwickler das Tool geben würde. Das Ergebnis kann dann dem Entwickler helfen, evtl. Probleme zu beseitigen, solange gibt es einen Warnhinweis im Store. Und Apple könnte auch aus den Problemen lernen und evtl. Funktionen öffentlich machen oder dokumentieren (oder die APIs anpassen).
0
Gerhard Uhlhorn27.11.09 11:18
Na, dann hänge ich eben an alle meine eigenen Aufrufe mein Namenskürzel hinter: setThumbnail setThumbnailUhl
Wo ist das Problem?
0
teorema67
teorema6727.11.09 11:20
Apple Zensur = *sick* Schönreden hilft da nicht. Apple weiss halt, was in China Usus ist.
Rassismus ist, überall Rassismus zu wittern, wo keiner ist, und damit echten Rassismus zu bagatellisieren. (Dieter Nuhr)
0
clauer27.11.09 12:02
Also jeder Compilerbauer weiss ja wie eifach so ein Parser zu bauen ist, das Apple das nicht auf die Reihe kriegt ist echt ein Armutszeugniss. Ich hatte letztes Jahr auch eine Entwicklerlizens bin abe nicht dazu gekommen was anständiges zu schreiben, wenn ich jetzt aber sehe wieviele Leute sich wegen der Prüfungsprozedur beklagen... Die können es sich ja erlauben, immerhin haben Sie die erfolgreichste Embedded Softwareplatform der Welt enwickelt...
0
locoFlo27.11.09 12:36
Woher soll er das wissen?
Weil sie die zugängliche Dokumentation von Apple lesen?
Klar, noch besser wäre es wenn die Prüfung schon beim Entwickler selber stattfinden könnte, bevor er was einreicht.
Nobody dies as a virgin, life fucks us all. KC
0
Garp200027.11.09 12:43
locoFlo Und in der Doku steht das man keine Namen verwenden darf die Apple schon für seine privaten APIs verwendet? LOL. Zeig mir mal den Link. Alleine weil man dafür schon eine Auflistung aller privaten Apple APIs bräuchte.

Gerhard Uhlhorn Ja weil Apple nicht in der Lage sind zu erkennen woher die Funktion kommt sondern ein billiges Script zu verwenden scheinen, muss man seine ganzen Funktionen umbenennen? Und woher genau hat man erfahren, dass man so zu verfahren hat? Apple hat diese Schleife ohne Vorwarnung eingeführt und vollkommen aus dem Nichts Apps abgewiesen (mal wieder).
Star of CCTV
0
achso27.11.09 12:55
Warum wohl gibt es undokumentierte Funktionen?

Wenn Apple (oder sonst jemand) eine Funktion nicht dokumentiert, dann, weil die Funktion noch nicht funktioniert oder in Probe ist.
Derartige Funktionen können vom Master (in diesem Fall Apple) kommentarlos entfernt oder geändert werden. Ist die Funktion fertig, kommt sie in die Doku.

Auf diese Weise kann Apple Systemupdates rausbringen, ohne das die Apps alle überarbeitet werden müssen.

Als Entwicklung kann man sich über fehlende Funktionalität ärgern. Wenn die Funktion unbedingt gebraucht wird: selber bauen (mit eigenem Namen).

Auf jeden Fall ist das ein deutlicher Schritt hin zur Professionalisierung!
Schließlich machen sich, mit gutem Grund, schon seit Jahren intensiv Gedanken darüber, die "Richtigkeit" eines Programms automatisch testen und idealerweise sogar beweisen zu können.
0
erikhuemer
erikhuemer27.11.09 13:38
irgendwie ist diese ganze Software-Prüfung weit weit weg von den sonstigen hohen Qualitäts- und Kundenorientierung-Standards von Apple.
Der Fortgang der wissenschaftlichen Entwicklung ist im Endeffekt eine ständige Flucht vor dem Staunen. Albert Einstein
0
Esäk
Esäk27.11.09 14:02
Was für ein Sprachmüll!
Es ist kaum zu verstehen, was der Autor da sagen wollte.
Wie kann man nur stur jede Kritik so ignorieren und dabei nicht depressiv werden?
Du kannst es nicht, sb!
Die Todesstrafe gehört auch in Hessen abgeschafft!
0
clauer27.11.09 14:23
@Esäk Genau, möchte mich anschliessen, die Sprache der Autoren hier ist wirklich manschmal sehr sehr übel !!!
0
Dieter27.11.09 17:46
Man kann aber sehr wohl prüfen, ob ein Call mit fragwürdigem Bezeichner selbst definiert ist oder ins System springt.
0
AppleSeitKindheit28.11.09 03:45
@locoFlo

Echt sowas von null Ahnung von der Materie, aber so ein ... Großes Mundwerk, sowas sieht man auch selten. Du bist sicherlich kein Dev, richtig? Ach was frag ich überhaupt.

Warum nicht einfach mals M... Na, du weißt schon.

Das mit dem iPhone, das is nunmal n riesen Scheiß ... Sorry.
Aber die Rechner, die sind (noch?) cool
0
AppleSeitKindheit28.11.09 03:55
Des is aber ... ne dumme Editierfunktion???

>>
(Es ist nunmal schwierig, UN-dokumentierte Funktionsnamen zu kennen. Na, verstehst du? Und deswegen ist es nunmal saublöde von Apple, so eine pauschale Abweisung vorzunehmen. Allerdings gibt es einen Tipp für die Devs: Alle Funktionsnamen mit einem Prefix versehen: askSetOrder: oder maSetOrder: dann geht nicht soviel schief.)

Das mit dem iPhone, das is nunmal n riesen Sch... Sorry.
Ich lasse mir nunmal von niemanden vorschreiben, was ich mit meinem Gerät mache, was ich teuer bezahlt habe. Knackpunkt.

Aber die Rechner, die sind cool
>>
0

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.