Hallo,
nach einem halben Jahr Entwicklung habe ich nun meine erste OS X App fertig.
Nun habe ich die App im Store eingereicht und sie wurde erstmal abgelehnt weil Sandboxing nicht aktiviert war.
Gut Sandboxing aktiviert und "User Selected File" markiert. Nun funktioniert meine App natürlich nicht mehr ;D.
Eine Grundfunktion meiner App ist das Kopieren/Verschieben von Dateien.
Das Funktioniert auch sehr gut solange man, nachdem aktivieren der Sandbox Funktion, die App nicht neu startet.
Nachdem Neustart der App funktioniert die Kopierfunktion aber nichtmehr.
Ich verwende für das Kopieren copyfile(3) und für das verschieben NSFileManager.
Befindet sich beim verschieben der Source und Destination path auf einem anderen Laufwerk so wird ebenfalls copyfile(3) genutzt.
In der Konsole Applikation steht folgende Fehlermeldung:
sandboxd: open on "path" Operation not permitted
und
sandboxd: deny file-write-create "path"
Also verhindert das "nette" Sandbox feature das mein Programm korrekt läuft.
Was genau muss ich ändern oder beachten damit die Kopierfunktion wieder funktioniert?
Ich habe mir einige Artikel über Sandboxing durchgelesen finde aber keine Möglichkeit zur Lösung.
Der Benutzer bestimmt welche Dateien Kopiert werden, also hat der Nutzer volle Entscheidungsgewalt.
Das heißt auch das er den Source und Destination path bestimmt. Egal ob von einer CD/DVD, USB, HDD, oder Netzwerk source.
mfg.Jan
nach einem halben Jahr Entwicklung habe ich nun meine erste OS X App fertig.
Nun habe ich die App im Store eingereicht und sie wurde erstmal abgelehnt weil Sandboxing nicht aktiviert war.
Gut Sandboxing aktiviert und "User Selected File" markiert. Nun funktioniert meine App natürlich nicht mehr ;D.
Eine Grundfunktion meiner App ist das Kopieren/Verschieben von Dateien.
Das Funktioniert auch sehr gut solange man, nachdem aktivieren der Sandbox Funktion, die App nicht neu startet.
Nachdem Neustart der App funktioniert die Kopierfunktion aber nichtmehr.
Ich verwende für das Kopieren copyfile(3) und für das verschieben NSFileManager.
Befindet sich beim verschieben der Source und Destination path auf einem anderen Laufwerk so wird ebenfalls copyfile(3) genutzt.
In der Konsole Applikation steht folgende Fehlermeldung:
sandboxd: open on "path" Operation not permitted
und
sandboxd: deny file-write-create "path"
Also verhindert das "nette" Sandbox feature das mein Programm korrekt läuft.
Was genau muss ich ändern oder beachten damit die Kopierfunktion wieder funktioniert?
Ich habe mir einige Artikel über Sandboxing durchgelesen finde aber keine Möglichkeit zur Lösung.
Der Benutzer bestimmt welche Dateien Kopiert werden, also hat der Nutzer volle Entscheidungsgewalt.
Das heißt auch das er den Source und Destination path bestimmt. Egal ob von einer CD/DVD, USB, HDD, oder Netzwerk source.
mfg.Jan