iOS 5 keine sqlite dateien einspielbar?

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

  • chmod

    chmod setzt oder ändert die Zugriffsrechte einer oder mehrerer Dateien. Die Benutzung von chmod ist nur dem Eigentümer oder dem Systemverwalter (root) erlaubt.
    chmod Modus Datei(en)

    Die Zugriffsrechte werden als Modus bezeichnet. Der Modus kann entweder als (drei- oder vierstellige) Oktalzahl oder durch Buchstabenkennungen angegeben werden. Bei Angabe als Oktalzahl legen die letzten drei Ziffern jeweils die Rechte für den Besitzer, die Gruppe und die Anderen fest. Die einzelnen Bits der Oktalziffer stehen dabei für Lesen (4), Schreiben (2) und Ausführen (1).
    Der Modus 640 würde also dem Modusstring rw-r----- entsprechen.

    Es ist auch möglich, einzelne Rechte zu setzen, hinzuzufügen oder abzuziehen. Dafür werden die Rechte nach dem Schema

    ugoa =+- rwx

    gesetzt. Das bedeutet, dass zuerst ein u (user) oder ein g (group) oder ein o (other) oder ein a (all - alle drei) gesetzt wird. Dieses Zeichen wird gefolgt von einem = (Recht wird gesetzt), oder + (Recht wird zugefügt) oder - (Recht wird abgezogen). Danach folgt ein r, w oder x.

    Wird der erste Teil (ugoa) weggelassen, so wird a (all) angenommen.

    Mit dieser Methode kann also zu den bestehenden Rechten z.B. ein Schreibrecht für ein Gruppenmitglied gesetzt werden, indem als Modus g+w angegeben wird. Ein +x würde der Datei Ausführungsrecht für alle (User, Group und Other) vergeben.

    Auch chmod kennt den Parameter -R, der Verzeichnisse rekursiv bearbeitet.

    - linux-praxis.de/linux1/befehle2.html

    Warscheinlich hat iOS 5 damit Zugriffsprobleme (Rechte).
    Komischerweise hat iOS 4 es problemlos gemacht^^
    lernen, lernen, lernen :)
  • Das Problem bleibt. Ich habe aber rausgefunden, wenn ich die Berechtigung mit chmod im Terminal ändere auf 777, dann kann er die Datensätze aus der DB lesen.
    Leider lässt sich diese Wirkung nicht reproduzieren. An dem Code liegt es nicht. Es liegt meines Erachtens an die Zugriffsrechte von iOS 5 auf meine sqlite Datei.

    Kann mir bitte jemand helfen?

    Gruß
    Mani
    lernen, lernen, lernen :)
  • Ich habe immer noch nicht kapiert was du da eigentlich machen willst. Kann Du das mal genauer erklären ? Du willst eine sqlite datei kopieren oder öffnen oder was ? Und die soll dann eine CoreData Datei ersetzen oder wie ? Alles nur Bahnhof

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Sry.
    - Also ich habe eine sqlite Datenbank mit vielen Tabellen, die als T9 Wörterbuch dienen.
    - Dann habe ich CoreData hergenommen und die Schnittstelle dazu gebaut.
    - In meinem Code greife ich über die NSManagedObjectContext, NSManagedObjectModel und NSPersistentStoreCoordinator Methoden auf diese Datensätze zu.

    Beispiel:
    Wenn ich die T9 Tastatur in meinem Programm einschalte und die Zahlenkombination "42556" eingebe, dann schaut er in meine Datenbank und sucht mir in der Tabelle "Kombi" den Wert
    "42556" aus und liefert mir das Wort "Hallo" zurück. So funktioniert T9.

    Aktueller Stand:
    iOS 5 liefert mir keine Werte mehr. Ich habe die Datenbank mal im Terminal überprüft. Sie ist leer. ABER wenn ich ein neues Wort der T9 Datenbank beibringe, dann gibt er mir diese auch zurück. Ich habe eine Lernfunktion für die T9 Datenbank gebaut.
    In iOS 4 läuft es aber einwandfrei. (Bestimmt schon seit 2 Jahren im Appstore)

    Bisherige Lösungsversuche:
    - Ich habe die Schreib- Lese- und Gruppen Zugriffe verändert. Momentan auf 777 ( Das bedeutet, der Admin, die Gruppe und Others dürfen schreiben, lesen und ausführen. Also -rwx)
    - Zudem habe ich es mit dem Befehl chmod -x im Terminal probiert. => Kurzseitig hat es funktioniert. Lässt sich nun aber nicht mehr reproduzieren.

    Hoffe ihr könnt mir helfen
    lernen, lernen, lernen :)
  • Ich habe es nun hinbekommen. Und zwar mit chmod -x <Datei>.
    Xcode ist hier ziemlich pingelig. Ändert ma es in chmod 777 um, will er nicht. Er will nur read and write.

    Habs nun auf einem iPhone 3gs mit iOS 5. Es läuft, aber performancetechnisch sehr sehr schlecht?
    Liegt das an dem 3GS oder Core Data iOS 5?
    lernen, lernen, lernen :)