Eigentlich sagt der Titel schon alles.
Ich habe eine Anwendung, die ich schon lange zum Download anbiete. Jetzt möchte ich die Anwendung (Mac OS) auch über den App-Store von Apple anbieten. Apple hat dafür ja diverse Regeln.
Gibt es die als Zusammenfassung des Wesentlichen in deutsch?
Oder gibt es eine Checkliste, die man schon mal abarbeiten kann?
Wo sind die üblichen Fallstricke?
Es gibt vieles zu beachten und noch viel mehr Fallstricke. Ich habe am Ende einfach meine Apps an Apple übermittelt und aus den Rückmeldungen (Ablehnungen) gelernt. Das dauerte bis zum Release der ersten App dann etwa 6 Wochen. Aber ich habe sehr viel in dieser Zeit gelernt.
z.B. bleibe in der Sandbox, jedes Menü muss funktionierende Menüpunkte haben (darf nicht leer sein), …
Das allerbeste was mir in dieser Zeit passierte und wofür ich unendlich dankbar bin, ist AppWrapper.
Als ersten solltest Du den jhrlichen Obulos fr den MacApp-Store entrichten (hier). XCode hast Du ja hoffentlich installiert. Wenn nicht, dann mache das als nchstes. Lade die Zertifikate herunter. Dann kommt AppWrapper dran.
Nach WinzigWeich und Goggle finde ich das Apple-Zeugs am verwirrendsten. Mute vor ein paar Wochen nach einer Neuinstallation die Zertifikate neu laden. Das war echt frustrierend.
Erst mal Danke für die Tipps.
Den jährlichen Obulus wollte ich so spät wie möglich bezahlen. Ich brauche bestimmt noch geraume Zeit für diverse Vorarbeit, die ohne App Store zu erledigen ist (immerhin läuft mein REALstudio Code bereits in Xojo, auch wenn immer wieder Hinweise wie GUI-Zugriffe aus Threads auftreten).
Der Hinweis auf Artikel im XDev Magazin ist gut. Da muss ich mal auf die Suche gehen.
… Ein kurzer Blick hat noch nicht wirklich geholfen. In den Beschreibungen der aktuelleren Ausgaben fand ich jetzt nichts, was auf einen Artikel für die Aufbereitung für den App-Store hindeutet.
Moderne Optik ist sicherlich eine gute Idee. Vieleicht sollte ich auch überdenken, ob eine Mindestauflösung von 800x600 noch unterstützt werden muss. Ingesamt bin ich sicher nicht auf dem Laufendem, was die Apple Style Guidelines vorgeben.
Gibt es da vieleicht auch einen guten Artikel im XDev Magazin?
Generell habe ich das Probem, dass ich war die Funktionen irgendwie in mein Programm bekomme, für einen guten Designer/Grafiker halte ich mich jedoch nicht. Somit ist die optische Überarbeitung sicher eine Herausforderung.
Das fängt ja schon mit den Icons an. Da muss ich bestimmt auch noch größere Varianten einbauen.
Die Apple Style Guidelines haben keine Bedeutung mehr. Jeder macht, wie er mag. Das ist sehr schade, da dabei dann manchmal Programme herauskommen, die schwierig zu bedienen sind. Schau Dich im App-Store um. Wie sehen Deine Konkurrenten aus? Was ich persönlich nicht mag:
weiß in weiß in weiß, weil dann alles gleich aussieht (MS Office!!!)
kleine Schriften kann ich kaum lesen
weiße Schrift auf schwarzem Hintergrund, dann kann ich kaum etwas sehen
das gleiche gilt für geringen Kontrast
Es gibt fertige Icons zu kaufen (www.dryicons.com z.B.). Einen Graphikdesigner brauchst Du IMO nur für Dein Programm-Icon.
Und Retina nicht vergessen. Da meckern die Kunden, wenn es das nicht gibt.
Hallo Beatrix,
ich teile deine Bedenken und kann versichern, dass ich das entsprechend berücksichtige. Bei mir git es guten Kontrast, die meisten Farben kann man nach eigenem Bedaf einstellen und auch Schriftart und -größe lassen sich verstellen.
Sieht so aus, als würdest du noch eine sehr alte Version von Xojo oder RealStudio benutzen?
Manche Dinge, wie zB LiveResize und Textkorrektur gehören heute einfach dazu.
Meine dertzeit öffentlich verfügbaren Programme sind mit RS2010r1 erzeugt worden. Ich habe den Code aber inziwschen auf Xojo 2015r1 angepasst. Der Umstieg auf die aktuelle Version kommt in den nächsten Tagen.
Um Retina habe ich mich bislang noch nicht bemüht. Macht das Xoja nicht automatisch?
LiveResize sagt mir momentan nichts. Auch hier hoffe ich, dass Xojo sich darum kümmert.
Textkorrektur biete ich bereits an (abstellbar in den Einstellungen). Dazu verwende ich das MBS-Plugin. Gibt es da in Xojo etwas aktuelles?
Alle Controls werden natürlich von der aktuellen Xojo-Version auch in retina dargestellt, aber alle deine Icons müssen in beiden Auflösungen vorliegen.
Textkorrketur kannst du nun Cocoa überlassen, oder weiterhin das MBS-Plugin benutzen.
Live Resize macht Xojo, alle Controls werden beim Vergrößeren eines Fenster visuell angepasst und nicht erst nach dem Losalssen
Wie muss ich dass denn jetzt versthen?
Ich habe doch ein Canvas in einer definierten Größe vorgegeben (z. B. 200x200 Pixel). Wenn ich nun darin zeichne (g.drwaline, g. filloval, etc.) muss ich doch nur diese 200x200Pixel als Berechnungsgrundlage nutzen.
Wenn nun mein Programm auf einem Retina-Rechner läuft, wird das Canvas dann intern mit 400x400 vom System angelegt und die Grafikbefehle entsprechend umgerechnet (so jedenfalls stelle ich es mir vor). Somit sollten diese Grafikbefehle doch von selbst retinafähig sein.
Anpassen müsste ich dann doch lediglich alle Ausgaben wie:
g.DrawPicture Bild,0,0,Canvas.Width,Canvas.Height,0,0,Bild.Width,Bild.Height
Hier müsste ich doch dann lediglich ein doppelt so großes “Bild” vorgeben, welches dann auf niht retinafähigen Rechnern dann halt verkleinert wird. Scheint mir dann doch ein erheblicher Aufwand zu sein
Ja genau, es geht lediglich um ein Bild. In deinem, Fall brauchst du das Bild in 200x200 und in 400x400, bei Retina musst du dann das 400er Bild in das Canvas malen, damit es scharf dargestellt wird.
Nein, der Aufwand ist gering, sihet bei mir in der Toolbar zB so aus, dass einmal das Icon in 32x32 und bei Retina in 64x64 gemalt wird.
if ScalingFactor>1 then// Retina
me.ti1.icon=database_add_64
else
me.ti1.icon=database_add_32
end if
Den ScalingFactor musst du pro Fenster ermitteln, da der benutzer ja mehrere Bildschirme haben könnte mit und ohe Retina.
Die methode sieht so aus:
Dim ovi as OSVersionInfo = OSVersion
if ovi.major>=10 and ovi.minor>=7 and TargetCocoa then
Declare Function BackingScaleFactor Lib “AppKit” Selector “backingScaleFactor” (target As WindowPtr) As Double
Return BackingScaleFactor(Self)
Else
Return 1
End if
Kann auch sein, dass es einfacher geht, ich wüsste nur grad nicht wie
Muss ich also alle Grafikausgaben doppelt haben? Etwa so:
If retina then
g.DrawPicture BildRetina,0,0,Canvas.Width,Canvas.Height,0,0,BildRetina.Width,BildRetina.Height
else
g.DrawPicture Bild,0,0,Canvas.Width,Canvas.Height,0,0,Bild.Width,Bild.Height
end
Wird die Textkorrektur in den TexArray und TextField automatisch eingeschaltet oder braucht es dafür zusätzlichen Code?
Ich muss mir doch schon mal die aktuelle Version ansehen. Kann ich halt nur noch nicht compilieren.
Irgendwo findet sich sicher ein kleines Beispiel, muss ich mal suchen.
Was ist in der Nutzung einfacher?
Gibt es eine systemübergreifende Funktion, die ich dann auch unter Windows und Linux nutzen kann?
Das muss ich mir auch mal ansehen. Mal sehen, wie sich das auswirkt. Ich habe momentan keine Vorstellung dazu.
Wenn ich überlege, wie oft ich DrawPicture nutze (379 mal), ist das doch eine Fleißarbeit
[quote]Den ScalingFactor musst du pro Fenster ermitteln, da der benutzer ja mehrere Bildschirme haben könnte mit und ohe Retina.
Die methode sieht so aus:[/quote]
Hast Du einen Retina-Monitor? Oder wenigstens einen Monitor, der gro genug ist zum Testen? Meiner ist 2560xirgendwas. Das ist nicht toll, reicht aber zum Testen.