• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

CoreData Problem

MatzeLoCal

Rheinischer Bohnapfel
Registriert
05.01.04
Beiträge
2.422
Also ich hab im Moment mehr Probleme hinter den Sinn deiner App zu kommen.

Zum einen sagst Du, dass Du sie ins App-Bundle stecken und auch so ausliefern willst und der User sie nicht finden soll.
Dann sprichst Du wieder davon, dass die Daten eingepflegt werden. Bei einer App im App-Bundle rumzuschreiben wäre ganz schlecht Stil und wird evtl. in Leopard eh nicht mehr möglich sein (hab leider kein Select-Account... aber was mensch so liest....).

Was aber im Moment viel wichtiger ist. Ändern sich die Bilder nach der Installation nochmal? Kommen welche hinzu? Werden welche gelöscht?
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Ich kann nicht den Speicherort der CoreData Daten ändern. Kann ich kaum glauben, werd' ich recherchieren.
Du kannst den Speicherort ändern. Es ist bloß nicht sinnvoll und nicht so vorgesehen, dass du die veränderlichen App-Daten im App-Bundle speicherst.

Hast du mal darüber nachgedacht, welche Schreibrechte dort existieren? Und wenn du die jetzt ändern willst, muss ich dich leider töten. (Mir ist bisher nur bekannt, dass es Microsoft so macht. Und wenn ich auf Word nicht zwingend angewiesen wäre, würde ich das Ding schon längst in Ablage P: installiert haben. Das ist erwiesene Müllitis.)

Jedenfalls bin ich schon ziemlich verwöhnt, und hab' mir auch schon eine schöne GUI gebaut um die Daten einzupflegen, von meinen ganzen Bindings ganz zu schweigen. Ist auch super um später weiteren Content zu adden - also nö - CoreData bleibt. Da müsste ich ja unmengen Code schreiben um das mit Resourcen hinzubekommen...
Niemand will dir CD ausreden. Du solltest bloß gar keine veränderlichen Daten in den App-Ordner schreiben. Das hat dermaßen viele Nachteile, dass du standrechtlich erschossen wirst.

Um es kurz zu schreiben: Das ist flasch FLASCH FLASCH

Meine Hauptbedenken waren wie ich denn die Bilder ausliefern kann, dachte ich kann alles easy in ein .app packen, auf die Homepage stellen und gut. Mit Bildern unter /Lib/AppSupport/ kann ich gut leben. Musste mir solche Gedanken noch nicht machen, aber muss ich mich dann auch noch um einen Installer kümmern, der die Files da hin packt?
Installer? Waaaaaaaaaaaaaaaah!
Du lieferst sie im Bundle aus und beim ersten Start bei einem bestimmten User kannst du sie dann in dein Model kopieren.

Kann ich das eventuell am einfachsten mit einem .pkg machen?
Pkg? Waaaaaaaaaaaaaaaaah!

Denke schon, oder?
Amin sucht nach seiner abgeschnitten Schrottfflinte

Am liebsten wär' mir immer noch ein store im .app, dann könnte man mein Tool einfach in den App-Folder ziehen und gut.
.pkg müsste aber funktionieren, oder? (Gibts da ein nettes Tool oder muss ich mit den Shell-Tools vorlieb nehemn. Komme aus der Unix Welt, aber aus .debs und .rpms hab' ich noch nichts gebaut...)
Hörst du das durchladen? Ab jetzt wird es gefährlich …
 

zorn

Zuccalmaglios Renette
Registriert
18.02.06
Beiträge
260
Lol!

Hey - ich hab' eben keine Erfahrung wie man das so bewerkstelligt. Was meinst du mit 'im Bundle ausliefern'?

Also - das ganze wird ein Multiple-Choice Test mit einigen hundert Bildern (mehr möcht' ich noch nicht verraten) die nach Auslieferung statisch sind. Allerdings stelle ich mir vor dass ich aktuallisierte Versionen bauen möchte, wofür meine CoreData GUI super ist. Ich hab' kein Problem damit wenn User im FS an die Files kommen, wollte nur vermeiden dass die Dateien in seinem /home liegen, dann wird er sicher darin rummüllen. In Applikation-Support denke ich sind sie ziemlich sicher (da sie aber statisch sind könnte ich sie vieleicht doch ins .app legen? (...was war das für ein klicken???))

Also liebe weit fortgeschrittene Profis: was soll ich armer boon aus dem lamerland tun? Fest steht dass ich bei CB bleibe.

...was ist das was da so schnell auf mich zukommt? ich nenns mal kugel. ist bestimmt nett. hallo ku...
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Also, die Bildre sind Resourcen. Die kannst du dem Xcode-Projekt hinzufügen. Dann kopiert sie Xcode automatisch mit in das App-Bundle und du kannst sie aus dem Programm heraus laden, insbesondere mit -imageNamed: (NSImage). Du kannst auch das Verzeichnis scannen. Hierfür bieten sich die NSBundle-Methoden an.

Mit diesen Informationen baust du dir dann beim ersten Programmstart ein CD-Dokument auf. Darin kannst du ja einfach die Namen speichern. Wenn du das nicht user-bezogen willst, dann kannst du das ja in All Users stecken.

Ist dir das erst einmal grundsätzlich klar? Dann demnächst weiter im Text.
 

zorn

Zuccalmaglios Renette
Registriert
18.02.06
Beiträge
260
>Also, die Bildre sind Resourcen. Die kannst du dem Xcode-Projekt hinzufügen. Dann kopiert sie >Xcode automatisch mit in das App-Bundle und du kannst sie aus dem Programm heraus laden, >insbesondere mit -imageNamed: (NSImage). Du kannst auch das Verzeichnis scannen. Hierfür >bieten sich die NSBundle-Methoden an.

Naja - wie schon gesagt hab' ich eine nette GUI gebastelt um die Bilder und dazugehörender Content wie Beschreibung, Name, etc. zu adden. Die Bilder und Daten sind dann pro Release statisch, aber die GUI möchte ich behalten. Konnte das bis zu diesem Punkt alles ohne Coding per CoreData und Bindings realisieren. Ich glaube wir reden aneinander vorbei - oder natürlich ich kapiers nicht...

Aktuell habe ich den Folder mit den Pics und Beschreibungen auf meinem Desktop, in meine CD GUI adde ich die Pfade zu den Bildern, wie von einem Foren-Kollegen vorgeschlagen einfach per Drag & Drop. Genau so möchte ich das lösen, allerdings soll der Folder vom Desktop in das Projekt wandern, bestenfalls in .app - meinetwegen als Resources, aber wie löse ich das? (Problem 1)

Sollte das nicht möglich sein, und der Folder sollte wie vorgeschlagen und App-Support liegen, wie löse ich dann das Problem mit der Auslieferung? Mein compiliertes .app beinhaltet dann ja die Pics nicht, wie löse ich dann also dieses Alternativproblem?
(Problem 2 - falls Problem 1 gelöst ist das hier überflüssig)

Meine CD DB besteht schon und ist gefüllt und funktioniert wunderbar!
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Du musst die Bilder in den Ordner Resource in Xcode ziehen, links in der Leiste. Dann landen sie automatisch hin dem Application-Bundle.

In deinem Programm kannst du die Ressourcen mittels Methoden von NSBundle oder NSImage lesen, siehe oben.
 

zorn

Zuccalmaglios Renette
Registriert
18.02.06
Beiträge
260
Danke! Das hab' ich verstanden...
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Gut, ich habe jetzt etwas den Überblick verloren. Bleiben noch Fragen offen?
 

zorn

Zuccalmaglios Renette
Registriert
18.02.06
Beiträge
260
Im Moment nicht. Vielen, vielen Dank! Das doofe ist dass solche Kleinigkeiten, die für euch Profis wie ein Witz erscheinen in keinem Tut erwähnt sind, oder vieleicht irgendwo versteckt in einem Nebensatz. Die Praxis bringts dann eben mit der Zeit. Ich tauch jetzt noch ein bischen tiefer in CB ein und wühl' mich durch die Dokus.

Auf jeden Fall nochmal: Vielen Dank für eure Mühe! Ich weiss es zu schätzen!
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Sei beruhigt, für uns Autoren ist es eine wichtige Hilfe zu sehen, wo die Leute kleben bleiben.

Eine Hand wäscht die andere.
 

zorn

Zuccalmaglios Renette
Registriert
18.02.06
Beiträge
260
Also ich hab' mir das angeschaut und gezweifelt und klick - war alles einfach. Mein Gehirn funktioniert immer noch viel zu procedural. Ich brauch keine Interaktion innerhalb der Schleife. Ich hab' das Design über 'n Hauffen geschmissen, viel mehr OOP integriert und plötzlich funktioniert mein 'check' Button ohne Schleife und daher auch ohne Sheet, bzw. Event-Loop, bzw. modaler Dialog. Das war ein langer Weg...