Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>Sandboxing ist einfach großer Mist *sick*

Sandboxing ist einfach großer Mist *sick*

Duck Dodgers10.11.1111:18
Muss mich mal kurz aufregen *sick* Wir setzen uns seit einiger Zeit mit MAS Sandboxing auseinander. Eine unserer Apps speichert im Hintergrund alle paar Minuten ihre Daten in HTML Dateien. Normalerweise werden die Dateien dann direkt im Webserver-Ordner abgelegt und sind sofort über die Webseite erreichbar! Mit Sandboxing können wir nur noch in diesen scheiß Container speichern, der auch noch für den User unsichtbar ist *sick* Was soll der Mist? Sicherheit hin oder her, aber mit dieser Art Sandboxing macht die Software-Entwicklung für den MAS einfach keinen Spaß mehr. Unsere App ist dann teilweise einfach verkrüppelt und macht so wenig Sinn :'( Im Endeffekt überlegen wir schon, ganz aus dem MAS auszusteigen und nur noch über die Webseite zu verkaufen. Die Alternative wäre halt zwei Versionen - eine verkrüppelte und eine "Voll"-Version - anzubieten ...

Die Idee des Sandboxing ist super, aber die Umsetzung und Einführung ist einfach ätzend. Vermutlich wird dann Sandboxing in 10.8 Systemweit Pflicht :'(
0

Kommentare

rene204
rene20412.11.1105:47
Vorab, ich erstelle keine Programme, habe aber Zugriff auf die Developer-Discussions bei Apple.

Soweit ich die dortigen Diskussionen mit verfolge gibt es mit dem Sandboxing diverse Unklarheiten und Probleme.. allerdings gibt es dort ebenso immer wieder hilfreiche Tipps und Informationen von Apple-Developern und anderen Entwicklern, die sich gerade bei solchen Problemen gegenseitig helfen.

Ich gehe mal davon aus, das auch dort eine Hilfe möglich und vermutlich viel einfacher und schneller zu bekommen ist, als hier.

Diese (Eure) Diskussion führt hier zu rein gar nichts, ausser das es alle anderen mit hinzuzieht.

Vielleicht ist es für alle hilfreicher, die Diskussion dort fortzusetzen und sich mit der Problematik dort zu beschäftigen.



„Gelassenheit und Gesundheit.. ist das wichtigste...“
0
o.wunder
o.wunder12.11.1109:49
Ich finde das Thema sehr interessant. Ich bin zwar kein Apple Programmierer, verfolge das aber gerne.

Wenn ich mir vorstelle das der Benutzer einmalig ein Verzeichnis festlegt wo die Daten liegen sollen und die App dann angeblich über die Resume Funktion immer wieder Zugriff auf dieses Verzeichnis bekommen kann, hört sich das für mich so an, als wenn das der App reichen müßte, oder was ist der Grund woran es trotzdem scheitert?

Es ist ja eigentlich eine gute Sache das der Benutzer die möglichen Zugriffspfade der App festlegen muss, sobald es außerhalb der Sandbox liegt, eigentlich ist mir das als Benutzer sogar sehr sympathisch, weil ich weiss das eine App nicht ungefragt irgendwo speichern kann.
0
Duck Dodgers12.11.1110:26
@rene:
Ja Recht hast du, aber es gibt Leute (einen ganz besonders), die das anders sehen. Nicht gerade förderlich für so ein Forum. Aber ich habe keine Lust mehr darüber zu diskutieren, das Problem mit dem Sandboxing wird dadurch auch nicht gelöst.

@o.wunder:
Ja eigentlich ist das eine tolle Sache und ich finde das Sandboxing ein richtiger Schritt in OS X ist, aber es wäre noch bessern, wenn es eine Möglichkeit gebe, den User zu fragen, ob er bestimmte Rechte mit in die Sandbox aufnehmen will und sich die App dann diese merkt. So könnte ich mir vorstellen, dass durch einen Öffnen-Dialog (zur Laufzeit) einfach ein Pfad zur Sandbox hinzugefügt wird, der dann immer wieder genutzt werden kann. Oder vielleicht gibt es eine Meldung an den Nutzer (ähnlich wie im iOS) mit der Frage, ob das Programm wirklich die Rechte haben darf, um auf einen Pfad, Device, Web, o.ä. zuzugreifen. Die Möglichkeiten sind da ja unbegrenzt und sollten nicht das große Problem sein. Somit kann der Entwickler alles nutzen und der User entscheidet, was das Programm darf oder nicht! iOS zeigt ja wie es geht. Sandboxing ist noch in den Kinderschuhen und wird meiner Meinung nach (und anscheinend geht es anderen Entwicklern auch so) viel zu früh aktiviert bzw. zur Pflicht.
0
o.wunder
o.wunder12.11.1110:43
Duck Dodgers
@o.wunder:
... So könnte ich mir vorstellen, dass durch einen Öffnen-Dialog (zur Laufzeit) einfach ein Pfad zur Sandbox hinzugefügt wird, der dann immer wieder genutzt werden kann.
So hatte ich das mit der Resume Funktion verstanden:
Der Benutzer wählt einmal ein Verzeichnis aus, dieses wird dann zur Sandbox hinzugefügt und steht der App jederzeit über die Resume Funktion wieder zur Verfügung. Oder was macht die Resume Funktion an dieser Stelle? Wenn die Resume Funktion nur auf die zuletzt geöffneten Dokumente wirkt, ist das für Eure App natürlich nicht brauchbar.

Allerdings schalten Manche ja auch die Resume Funktion Systemweit ab, weil es sie nervt, zB das die Vorschau trotz CMD+Q die letzten Dokumente wieder aufmacht, aber dafür gibt es ja auch eine APp:
0
o.wunder
o.wunder12.11.1110:51
Duck Dodgers
Sandboxing ist noch in den Kinderschuhen und wird meiner Meinung nach (und anscheinend geht es anderen Entwicklern auch so) viel zu früh aktiviert bzw. zur Pflicht.
Apple müßte wirklich anfangen mehr auf seine Anwender/Programmierer zu hören, bevor sie zu drakonischen Einschränkungen greifen. Ich habe allerdings das Gefühl, dass es in der Tim Cook Zeit, die ja erst sehr kurz ist, schon ein Umschwenken in diese Richtung gegeben hat, siehe iOS 5.0.1.

Man kann es nur hoffen, wie auch der Fall Final Cut Pro X zeigt, oder Sandboxing, das Apple sich sehr schnell seine Anwenderschaft abtrünnig macht, wenn es den Bedarf seiner Kunden nicht sieht und nur nach eigenem Gusto entscheidet, wie das unter Steve Jobs der Fall war.
0
qbert
qbert12.11.1111:38
Duck Dodgers
qbert
In der weiter oben zitierten Apple-Doku steht, daß die Powerbox Dateien und Verzeichnisse zur Verfügung stellen kann. Dein User muß also nur ein Verzeichnis auswählen und Du kannst dann darin wüten wie Du willst.
Jupes genau, eben der User muss!!! Ohne User keine Rechte!

Das ist mir klar. Es ging mir um die Aussage von Mapache. Die klang nämlich so als müßte der User jede Datei einzeln in der Powerbox freischalten, was wohl so nicht stimmt.

Das bringt uns dann aber zurück zu deinem ursprünglichen Problem (ich nehme mal an, daß euer automatischer Export nur zusätzlich und vom normalen Öffnen/Speichern/Schließen der Projektdateien unabhängig ist):

Wer hat denn dort bisher ausgewählt, wo der automatische Export hingehen soll? Ich gehe doch mal stark davon aus, daß das euer User gemacht hat. Das gleiche Verhalten kannst Du heute über die Powerbox durch Auswahl eines Verzeichnisses erreichen. Die Erweiterung der Sandbox, dieses Verzeichnis frei zu beschreiben, kannst Du in gewissen Grenzen auch zwischen App-Starts persistent halten.

Im Idealfall muss eure App also genau einmal nachfragen, wo das Exportverzeichnis liegen soll. Im schlimmsten Fall muss sie das einmal pro Öffnen eines Projektes (bzw. der App selbst) machen. Die Gängelung des Users läßt sich dabei - durch Vorauswahl des Verzeichnisses als Default - darauf beschränken, einmal auf OK zu klicken.

Also wo ist jetzt das Problem? Oder habe ich was falsch verstanden?
0
twilight
twilight12.11.1112:29
Also Problem ist, dass ein Hintergrundprogramm ohne Interaktion mit em User irgendwelche Sachen immer wegschreibt, sodass andere drauf Zugriff haben. Und offensichtlich soll der User auch keinen Einfluss drauf haben und es vielleicht auch gar nicht mitbekommen.

Für mich klingt das ganz nach ... Bundestrojaner for Mac OS X.



Peter
„Auch dienstlich tu ich mir garantiert kein Windows an!“
0
Duck Dodgers12.11.1118:49
o.wunder
So hatte ich das mit der Resume Funktion verstanden:
Der Benutzer wählt einmal ein Verzeichnis aus, dieses wird dann zur Sandbox hinzugefügt und steht der App jederzeit über die Resume Funktion wieder zur Verfügung. Oder was macht die Resume Funktion an dieser Stelle? Wenn die Resume Funktion nur auf die zuletzt geöffneten Dokumente wirkt, ist das für Eure App natürlich nicht brauchbar.
Ich sehe das so, das die Resume Funktion eher für Programme wie TextEdit, Pages, etc. gedacht ist, wo der User ein Dokument aktiv öffnet und beim nächsten Programmstart, dieses Dokument wieder angezeigt bekommt.
o.wunder
Allerdings schalten Manche ja auch die Resume Funktion Systemweit ab
Eben, dass käme noch dazu.
qbert
Wer hat denn dort bisher ausgewählt, wo der automatische Export hingehen soll? Ich gehe doch mal stark davon aus, daß das euer User gemacht hat.
Es läuft so ab: Der User setzt in den Einstellungen des Programms entweder manuell oder über den "Browse-Button" den Ordner. Im Hintergrund werden dann die Webseiten-Dateien erzeugt und in diesen Ordner geschrieben. Diese Dateien werden aber irgendwann zur Laufzeit ohne Nutzeraktion gespeichert. Das ist ja auch sinnvoll, denn warum soll der Nutzer immer wieder für das gleiche "belästigt" werden? Bei der Entwicklung kann ich als Entwickler nicht wissen, wo der Nutzer seine Dateien abspeichern will, damit kann ich auch keine temp. Exceptions setzen - höchstens für die gesamte Platte, aber das ist ja irgendwie nicht Sinn der Sache und wird von Apple bestimmt nicht genehmigt. Genau dieses Problem, hat 1Password mit dem Dropbox Ordner. Die Agile-Leute wissen nicht, wo der Ordner liegt und können auch keine Exception festlegen. Aus diesem Grund erwarten sie einfach, dass der Dropbox Ordner in ~/Dropbox liegt, was dem standardpfad von Dropbox entspricht.
qbert
Im Idealfall muss eure App also genau einmal nachfragen, wo das Exportverzeichnis liegen soll. Im schlimmsten Fall muss sie das einmal pro Öffnen eines Projektes (bzw. der App selbst) machen. Die Gängelung des Users läßt sich dabei - durch Vorauswahl des Verzeichnisses als Default - darauf beschränken, einmal auf OK zu klicken.
Leider trifft beides nicht zu und genau das ist das Problem. Es ist nicht möglich ein Verzeichnis einmalig zu öffnen und dann dauerhaft oder während der Laufzeit darauf zuzugreifen.

Zur Powerbox:
So wie ich das verstanden habe (ansonsten würde ich mich freuen, wenn mich jemand korrigiert), dann wird bei einem sandboxed-app der Powerbox daemon nur aufgerufen, wenn der user aktiv über den Öffnen-/Schließen-Dialog eine Auswahl trifft. Ausserhalb dieses Vorgang gibt es keine Powerbox und somit kann auch nicht auf diese Dateien zugegriffen oder in diese Ordner gelesen/geschrieben werden! Als Entwickler habe ich auch keine Möglichkeit die Powerbox direkt anzusprechen.
0
MacMark
MacMark12.11.1118:56
Duck Dodgers
… Somit kann der Entwickler alles nutzen und der User entscheidet, was das Programm darf oder nicht! iOS zeigt ja wie es geht. Sandboxing ist noch in den Kinderschuhen …

1. Beim iOS unterliegt eine App viel, viel strengerem Sandboxing als beim Mac.
2. Der User soll nicht entscheiden, was eine App darf. Der soll davon nichts mitkriegen bei Apple. Dei Entscheidung auf den User abzuwälzen, ist eine schlechte Lösung, da er nicht kompetent für Sicherheit ist. Android macht das beispielhaft schlecht vor und fragt den User jeden Mist, von dem er keine Ahnung hat.
3. Sandboxing steckt nicht in den Kinderschuhen. Es ist schon seit drei Generationen (10.5.0) in OS X und genauso lange nutze ich das auch schon. Mit 10.7 wurde eine vereinfachende Schicht drübergelegt, die den Bedürfnissen von Userland- und GUI-Apps entgegenkommt. Details hier:
„@macmark_de“
0
MacMark
MacMark12.11.1119:21
Duck Dodgers
…wird bei einem sandboxed-app der Powerbox daemon nur aufgerufen, wenn der user aktiv über den Öffnen-/Schließen-Dialog eine Auswahl trifft. Ausserhalb dieses Vorgang gibt es keine Powerbox und somit kann auch nicht auf diese Dateien zugegriffen [Anmerkung: Quark!] oder in diese Ordner gelesen/geschrieben werden! Als Entwickler habe ich auch keine Möglichkeit die Powerbox direkt anzusprechen.

[Blaue Farbe sind Kommentare von mir, rot sind gravierende Fehler]

*hüstel*

Wenn die Powerbox eine API hätte, könnte bösartiger Code das ausnutzen. Als Entwickler hast Du darum keinen Zugriff darauf und das brauchst Du auch nicht und das ist gut so.

*hüstel again*

Die Sandbox wird dynamisch um die Dokumente erweitert, die der User beispielsweise öffnet oder sichert. Die App hat darauf weiter Zugriff bis sie beendet wird. Falls das Dokument beim Beenden noch offen ist, wird es beim nächsten App-Start automatisch wieder geöffnet (Resume) und ist wieder in der Sandbox.

Deine Ausführungen zeigen, daß Du diese Grundlagen noch nicht verstanden hast. Und genau das ist der Grund, warum Du Dich hier aus meiner Sicht objektiv völlig grundlos aufregst.
„@macmark_de“
0
Mapache12.11.1120:29
Wenn du dich schon so gut auskennst, wie sollte man dann folgendes Problem lösen:
Eine Applikation lädt Daten, welche referenzierte Daten nachladen können. Diese referenzierten Daten können selbst wieder Daten referenzieren. Die Daten müssen auf beliebigen Datenträgern liegen können (lokal, in Netzwerk, im Internet, auf beliebigen Betriebssystemen). Wie kann ein Benutzer diese Dateien laden und schreiben?
Ausserdem muss die Applikation die Daten (mit Referenzen) über die Festplatte oder den Speicher an andere Applikationen verschicken können.
Auch soll die Applikation Daten im Batchbetrieb verarbeiten können, also Daten laden und Ergebnisse in ein beliebiges, in der Datei (welche nicht unbedingt auf der gleichen Maschine, gleiches Betriebssystem erzeugt wurde) gespeichertem, Ziel speichern.
0
MacMark
MacMark12.11.1121:58
Mapache
… lokal, in Netzwerk, im Internet, auf beliebigen Betriebssystemen … diese Dateien laden und schreiben …
Das geht auch ohne Sandbox nicht, weil Du nicht weltweit und überall schreiben und lesen kannst.

Ansonsten kannst Du mit dem Entitlement com.apple.security.network.client als Netzwerkclient arbeiten.
Mit com.apple.security.files.downloads.read-write beispielsweise kannst Du Dateien über den Downloads-Folder mit anderen Apps austauschen.

Mir kommt Dein Vorhaben etwas komisch vor. Sag mir mal, was Du eigentlich erreichen willst, und nicht, wie Du es erreichen willst. Ich glaube, Du gehst einen komischen Weg zum Ziel.

Oben hatten anderen nach Zugriff, wie ihn iTunes hat, gefragt: Den bekommt man mit com.apple.security.assets.music.read-write.
„@macmark_de“
0
o.wunder
o.wunder12.11.1123:03
MacMark:
Du hast eben selber gesagt, dass nur die Dokumente der Sandbox hinzugefügt werden die der User bewusst speichert. Dokumente!!! nicht Pfade!!!

Sie brauchen aber einen Pfad in den die App BELIEBIGE Dokumente!!! speichern kann, und nicht nur diejenigen die der Benutzer gespeichert hat. Also ist das doch ein klarer Fall wo Sandboxing einfach nicht funktioniert. Für mich sonnenklar. Ich weiss nicht warum hier immer wieder aneinander vorbei geredet wird.
0
Mapache12.11.1123:18
Stell dir vor, du hast eine Software die Mediendaten (Bilder, Filme, Sounds, ...) verarbeitet. Die Daten liegen nicht zwangsläufig in dem gleichen Verzeichnis in dem auch die Projektdatei liegt. Die Ergebnisse dieser Verarbeitung werden in ein oder mehrere Verzeichnisse gespeichert, welche in dieser Projektdatei angegeben sind. Beim Speichern der Projektdatei werden möglicherweise auch die referenzierten Mediendateien neu geschrieben. Selbst wenn die Verarbeitung nicht im Batchbetrieb läuft will der Benutzer nicht jede referenzierte Datei händisch laden oder speichern müssen um die Sandboxbeschränkungen umgehen zu können. Ebenso soll die Software Daten an andere Programme oder Instanzen der Software übergeben können oder diese Programme steuern und von ihnen gesteuert werden. Dies in einem möglicherweise gemischten Netzwerk mit unterschiedlichen Betriebssystemen und Speicherlösungen.

Ich weiss, dass man nicht weltweit lesen und schreiben kann, man kann aber davon ausgehen, das eine Firma die Daten auf Servern, Desktopmaschinen, etc. ablegt dafür sorgt, dass die Daten für den Anwender der sie benötigt auch zugreifbar sind. Ich weiss nur nicht wie man der Sandbox klar macht, dass eine Software auf alle Verzeichnisse auf die der Anwender lesend und/oder schreibend zugreifen darf auch schreiben und/oder lesen darf. Ohne dass diese Verzeichnisse vorher bekannt sein müssen oder vom Anwender manuell angegeben werden müssen.
0
MacMark
MacMark13.11.1109:42
Die App Sandbox ist anfangs natürlich komplett restriktiv, aber man kann die Features, die man braucht, hinzufügen auf verschiedene Weise. Mit "App Sandbox Entitlement Keys" kann man die Sandbox prinzipiell erweitern:

Im konkreten Fall bei Euch dann:

o.wunder "einen Pfad in den die App BELIEBIGE Dokumente!!! speichern kann"
Wie ich oben gerade erwähnte, geht das zum Beispiel mit dem Downloads-Verzeichnis.
com.apple.security.files.downloads.read-write: Read/write access to the user’s Downloads folder


Mapache"Bilder, Filme, Sounds, mit Projektdateien usw."
Bilder, Filme und Sounds hast Du generell im Zugriff mit:
com.apple.security.assets.movies.read-write: Read/write access to the user’s Movies folder and iTunes movies
com.apple.security.assets.pictures.read-write: Read/write access to the user’s Pictures folder
com.apple.security.network.client: Netzwerk-Zugriff
Das sind dann nicht nur einzelne Dateien, sondern alles darin.

Diverse Verzeichnisse, die POSIX-world-readable sind, sind auch immer in der Sandbox. Die POSIX-Rechte schützen fremde Daten vor Malware anderer User. Die Sandbox schützt hingegen die eigenen Daten vor Malware.

Wenn Dein Programm "auf alle Verzeichnisse auf die der Anwender lesend und/oder schreibend zugreifen darf auch schreiben und/oder lesen" können soll, dann heißt das im Klartext "ich will keine Sandbox". Sandbox bedeutet, man legt fest, worauf man sich freiwillig beschränkt als Untermenge von dem, was der User darf. Dann kann Dein Programm, auch wenn es "exploited" wird, nur in diesem Rahmen ausgenutzt werden.

Ich würde es einfach mal ausprobieren wie in "App Sandbox Quick Start" beschrieben: App sandboxen mit Default, dann ausprobieren und die Sandbox-Verletzungen in Console.app beobachten. Dort tauchen die Sandbox-Einstellungen auf, die Du verletzt. Und genau die kannst Du dann auch für Deine Sandbox hinzudefinieren:
„@macmark_de“
0
Duck Dodgers13.11.1111:31
@MacMark:
Bist du erkältet?

Eigentlich wollte ich ja nichts mehr schreiben, aber ich warte immer noch auf dein Programm-Besipiel - am besten mit Quellcode. Auch hast du auf etliche Fragen nicht geantwortet und weichst immer wieder aus. Andernfalls solltest du dich mal Fragen, wie viel Hand und Fuß deine Äußerungen haben und wie unseriös du damit wirkst.

@o.wunder, Mapache:
Er schreibt immer nur das, was er irgendwo mal gelesen hat und wird leider nichts produktives mehr beitragen können Lassen wir ihn einfach in dem Glauben, dass wir die Sandbox nicht verstehen.
0
Mapache13.11.1111:44
MacMark
Wenn Dein Programm "auf alle Verzeichnisse auf die der Anwender lesend und/oder schreibend zugreifen darf auch schreiben und/oder lesen" können soll, dann heißt das im Klartext "ich will keine Sandbox".
Na also, geht doch. Wie du hier schreibst und was andere schon die ganze Zeit sagen ist, dass die Sandbox nicht in allen Fällen funktioniert. Wenn Apple die Programmierer nun zur Sandbox zwingt, dann haben die Programmierer ein Problem, welches sie in einigen Fällen nicht oder nur schwer lösen können.
0
_mäuschen
_mäuschen13.11.1113:19
Duck Dodgers
Im Endeffekt überlegen wir schon, ganz aus dem MAS auszusteigen und nur noch über die Webseite zu verkaufen.

Die Lösung des Problems habt ihr ja schon erkannt.

0
MacMark
MacMark13.11.1113:22
Entchen
Du meinst, wenn Du eine Beleidigung nach der anderen raushaust, würde ich aus lauter Gegenliebe Deinen Job machen? Niedlich. Daß Du die App Sandbox nicht kapierst, habe ich schon oben (12.11.11 19:21) bestaunt.
Schau in die aktuelle c't (24/2011), da ist meine WallsOfTroy.app drauf. Sandboxed.

Mapache
Du hast die Stelle zitiert, in der ich Deine Geisteshaltung analysiere. Da Dir das Ergebnis gefällt, war das wohl ein Volltreffer. Die aufgezeigten Lösungen hingegen interessieren Dich anscheinend leider nicht die Bohne.

Ihr führt Euch beide auf wie bockige Kinder. Dann vergeigt mal Eure "Apps" schön
„@macmark_de“
0
Tiger
Tiger13.11.1114:06
Wer sich den Launen Apple´s nicht unterwefen möchte bleibt dem Mac App Store fern.

Genau das zeigt doch das Problem auf: Apple kann jederzeit die Spielregeln ändern wie es ihnen gefällt. Wer nicht mitspielen will oder kann der muss draußen bleiben.

Aus diesem Grund nutze ich den Mac App Store ausschließlich zum Stöbern durch die Apps. Geladen und gekauft wird nur noch direkt. Gibt es die App nur noch im App Store wird sie nicht genutzt.

Der Vertrieb von Software hat bisher auch so sehr gut funktioniert und wird es auch weiterhin und ich bin froh über jeden Anbieter der seine Software auch ausserhalb des App Stores anbietet.
0
Duck Dodgers13.11.1119:10
_mäuschen
Die Lösung des Problems habt ihr ja schon erkannt.
Schaut so aus Aber ich hoffe noch auf Apple ...
MacMark
Schau in die aktuelle c't (24/2011), da ist meine WallsOfTroy.app drauf. Sandboxed.
Wirklich beeindruckend!!! Du liest eine poplige Textdatei aus ... das muss man erst einmal nachmachen Abgesehen davon, dass deine App nichts mit den hier "diskutieren" Problemen zu tun hat, warum ist deine App nicht im Mac-App-Store???
0
Mapache13.11.1119:35
MacMark

Mapache
Du hast die Stelle zitiert, in der ich Deine Geisteshaltung analysiere. Da Dir das Ergebnis gefällt, war das wohl ein Volltreffer. Die aufgezeigten Lösungen hingegen interessieren Dich anscheinend leider nicht die Bohne.

Ihr führt Euch beide auf wie bockige Kinder. Dann vergeigt mal Eure "Apps" schön
Um meine Geisteshaltung brauchst DU dir keine Sorgen zu machen.
Natürlich ist Sandboxing ganz einfach und wunderbar, wenn man all das unterlässt was dem Sandboxing entgegensteht.
Klar, wenn man nur das macht, was das Sandboxing erlaubt, dann hat man auch kein Problem damit. Und auch, wenn einem seine Kunden egal sind und man sein Programm so umbaut, dass es in der Sandkiste funktioniert. Blöd nur wenn die Kunden dann sagen: "OK, dieses Programm passt nicht in unsere Pipeline, wir nehmen ein anderes."

Aber eins habe ich mittlerweile Verstanden, du willst einfach nicht diskutieren, sondern bleibst auf deinem Standpunkt bestehen. Dann dir viel Spass mit der Sandbox, du hast ja keine Probleme damit. Ich schreib mal Apple was mich an der Sandbox stört.

0
_mäuschen
_mäuschen13.11.1123:46



Doch, doch

MacMark weiss Bescheid und ist sehr diskussionsfreudig http://de.linkedin.com/pub/markus-möller/3a/977/889

                                                                  


0
iCode
iCode14.11.1110:57
Mapache
Stell dir vor, du hast eine Software die Mediendaten (Bilder, Filme, Sounds, ...) verarbeitet. Die Daten liegen nicht zwangsläufig in dem gleichen Verzeichnis in dem auch die Projektdatei liegt. (...)

Der Problematik wird Apple besonders bei Final Cut oder Logic begegnen. Bin mal gespannt wie sie das lösen. Ob es dann einen allgemein gültigen Weg geben wird oder sie sich einen speziellen für den Eigenbedarf schaffen.
0
o.wunder
o.wunder14.11.1110:58
MacMark redet hier einfach an den Erfordernissen der App vorbei, obwohl das doch sehr einfach zu verstehen ist, selbst für Nicht Programmierer.

Es ist offensichtlich, das Apple für Dateisystem Zugriffe ausserhalb der Sandbox, noch ein tragfähiges Konzept fehlt und trotzdem schreiben Sie das Sandboxing als Pflicht vor. Etwas vorschnell.

Wer möchte außerdem ein OS X das sich an dem mobilen iOS orientiert? Wie soll es da weitergehen?

Apple fehlt, meiner Meinung nach, ein schlüssiges neues Konzept für die Dateiablage. Einfach die Dateien bei den Apps abzulegen, kann es nicht sein, denn eine Datei lässt sich oft von mehreren Programmen bearbeiten.

Außerdem, warum dürfen die Apps trotz Sandboxing z.B. auf die Musik und Bilder Ordner zugreifen? Also da ist doch einiges nicht richtig durchdacht, wie mir scheint.

Hier ist ein ganz schöner Artikel zu den Möglichkeiten die die Apps haben:

Ich kann nur hoffen, das es sehr viele Apps sind die mit der jetzigen Form des Sanboxing nicht klar kommen und aus dem MAS raus fliegen, nur so wird Apple lernen, das man solche einschneidenden Dinge nicht ohne gute Vorüberlegungen in die Welt setzt. Apple wird immer mehr zur Beta Company, es ist schlimm.
0
iCode
iCode14.11.1111:51
o.wunder
Es ist offensichtlich, das Apple für Dateisystem Zugriffe ausserhalb der Sandbox, noch ein tragfähiges Konzept fehlt und trotzdem schreiben Sie das Sandboxing als Pflicht vor. Etwas vorschnell.

Es wurde im Sommer auf der WWDC angekündigt. Jetzt wurde es noch mal verschoben. Und der Unterbau wurde gar vor über 3 Jahren eingeführt.

Unter "Vorschnell" verstehe ich doch was anderes.
o.wunder
(...) nur so wird Apple lernen, das man solche einschneidenden Dinge nicht ohne gute Vorüberlegungen in die Welt setzt. (...)

Nein. Die haben im Sommer die Entwickler um ihre Mithilfe gebeten und sich ihnen mitzuteilen. Nur bis 5 Minuten vor Torschluss hat sich davon kaum einer gerührt.
0
jogoto14.11.1112:37
Mapache
Wenn du dich schon so gut auskennst, wie sollte man dann folgendes Problem lösen:
Eine Applikation lädt Daten, welche referenzierte Daten nachladen können. Diese referenzierten Daten können selbst wieder Daten referenzieren. Die Daten müssen auf beliebigen Datenträgern liegen können (lokal, in Netzwerk, im Internet, auf beliebigen Betriebssystemen). Wie kann ein Benutzer diese Dateien laden und schreiben?
Ausserdem muss die Applikation die Daten (mit Referenzen) über die Festplatte oder den Speicher an andere Applikationen verschicken können.
Auch soll die Applikation Daten im Batchbetrieb verarbeiten können, also Daten laden und Ergebnisse in ein beliebiges, in der Datei (welche nicht unbedingt auf der gleichen Maschine, gleiches Betriebssystem erzeugt wurde) gespeichertem, Ziel speichern.

Nimm es mir nicht übel, ich bin absoluter Programmier-Laie, aber Deine Beschreibung liest sich wie die eines Trojaners unter Windows. Ich kann Durch Deine späteren Ausführungen den Hintergrund verstehen, aber vielleicht ist es doch einmal an der Zeit über völlig neue Ansätze nachzudenken. Das gilt natürlich auch für mich als User; mir schmeckt erst mal auch nicht, wenn Software nicht mehr so funktioniert, wie ich es gewohnt bin, aber es ist mir immer noch lieber als Viren und Würmer zu suchen, die sich so tief ins System reingefressen oder sogar die Herrschaft über andere Programme (inklusive Virenschutz) übernommen haben.
0
MacMark
MacMark14.11.1118:09
o.wunder
Einfach die Dateien bei den Apps abzulegen, kann es nicht sein,

Das passiert ja auch nicht.
„@macmark_de“
0
Duck Dodgers14.11.1121:17
_mäuschen
Doch, doch

MacMark weiss Bescheid und ist sehr diskussionsfreudig http://de.linkedin.com/pub/markus-möller/3a/977/889

                                                                  


0
MacMark
MacMark14.11.1123:06
Auf meiner Webseite findest Du noch weitere Links (genauer gesagt: alle) zu Profilen von mir im Netz. Viel Spaß!

Wo ich grad hier bin und es zum Thema paßt:
Keine Sicherheitslücke in der App Sandbox
„@macmark_de“
0
_mäuschen
_mäuschen14.11.1123:38

     Zur allgemeinen Belustigung sind die Links ja was wert

               Dieser Inhalt ist derzeit nicht verfügbar

               beep beep tweet tweet bäng bäng



Und zu Duck Dodgers wie auch anderer Problemlösung immer noch nichts

0
o.wunder
o.wunder14.11.1123:53
iCode
Nein. Die haben im Sommer die Entwickler um ihre Mithilfe gebeten und sich ihnen mitzuteilen. Nur bis 5 Minuten vor Torschluss hat sich davon kaum einer gerührt.
Witzig, ist Apple nicht selbst in der Lage herauszufinden was Ihre Entwickler brauchen...

Ach sollen doch alle Entwickler Ihre Daten im Bilder Ordner speichern, egal was für Arten von Dateien, der User kann die dann ja woanders hin kopieren, ne also ehrlich, das ist einfach Murks, einfach so ein paar Verzeichnisse zu erlauben und alle anderen nicht. Was für eine Logik. Als wenn der User nur Downloads, Bilder und Musik hat.... typisch Apple Denke. iOS Denke... damit machen Sie OS X kaputt.
0
twilight
twilight15.11.1101:03
o.wunder
Ach sollen doch alle Entwickler Ihre Daten im Bilder Ordner speichern, egal was für Arten von Dateien, der User kann die dann ja woanders hin kopieren, ne also ehrlich, das ist einfach Murks, einfach so ein paar Verzeichnisse zu erlauben und alle anderen nicht. Was für eine Logik. Als wenn der User nur Downloads, Bilder und Musik hat.... typisch Apple Denke. iOS Denke... damit machen Sie OS X kaputt.
MacMark schreibt auf seinem Blog: "Ohne daß der Entwickler Änderungen an seiner App dafür vornehmen müßte, werden Öffnen- und Sichern-Dialoge nicht mehr vom App-Prozeß selbst präsentiert, sondern vom neuen Powerbox-Dämon. Die vom Benutzer in diesen Dialogen gewählten Dateien werden der Sandbox der App hinzugefügt. Zusätzlich werden System-Dienste wie Drag&Drop sowie die Liste der zuletzt benutzten Dateien für die sandboxed App transparent unterstützt."[/quote]

Ich seh zwischen Deiner Aussage und der (durchaus richtigen) von MacMark einen Widerspruch. Kannst Du mir bitte erläutern, inwiefern Deine Aussage korrekt ist. (Meine Bitte ist ernst gemeint! Danke!)

Peter


„Auch dienstlich tu ich mir garantiert kein Windows an!“
0
MacMark
MacMark15.11.1107:45
o.wunder
Ach sollen doch alle Entwickler Ihre Daten im Bilder Ordner speichern, egal was für Arten von Dateien, der User kann die dann ja woanders hin kopieren, ne also ehrlich, das ist einfach Murks, einfach so ein paar Verzeichnisse zu erlauben und alle anderen nicht. Was für eine Logik. Als wenn der User nur Downloads, Bilder und Musik hat.... typisch Apple Denke. iOS Denke... damit machen Sie OS X kaputt.

Wenn man in der Lage ist, ein paar Haken in Xcode zu setzen in den Sandbox-Einstellungen, dann kann man auch das gesamte Userhome lesen oder schreiben - auch "unmediated".
„@macmark_de“
0
o.wunder
o.wunder15.11.1108:13
twilight

MacMark schreibt auf seinem Blog: "Ohne daß der Entwickler Änderungen an seiner App dafür vornehmen müßte, werden Öffnen- und Sichern-Dialoge nicht mehr vom App-Prozeß selbst präsentiert, sondern vom neuen Powerbox-Dämon. Die vom Benutzer in diesen Dialogen gewählten Dateien werden der Sandbox der App hinzugefügt."

Ich seh zwischen Deiner Aussage und der (durchaus richtigen) von MacMark einen Widerspruch.
Die Sandbox wird automatisch um diejenigen Dateien erweitert die der Benutzer speichert, aber nur um diese Dateien, nicht um ein Verzeichnis, genau das ist der Punkt!.
0
o.wunder
o.wunder15.11.1108:17
MacMark
Wenn man in der Lage ist, ein paar Haken in Xcode zu setzen in den Sandbox-Einstellungen, dann kann man auch das gesamte Userhome lesen oder schreiben - auch "unmediated".
Das ist ja interessant, damit könnte man das Sandbox Konzept dann teilweise aushebeln. Jetzt wäre nur noch gut zu wissen, welche Einstellungen in XCode das sind.

0
MacMark
MacMark15.11.1109:10
Das hat nichts mit Aushebeln zu tun, sondern damit, daß man seine individuelle Sandbox so einstellt, daß sie genau das erlaubt, was das Programm braucht – und nicht mehr.
„@macmark_de“
0
MetallSnake
MetallSnake15.11.1109:12
o.wunder
Die Sandbox wird automatisch um diejenigen Dateien erweitert die der Benutzer speichert, aber nur um diese Dateien, nicht um ein Verzeichnis, genau das ist der Punkt!.

Kann man nun im Öffnen Dialog nur noch Dateien aber keine Verzeichnisse öffnen lassen?
„Das Schöne an der KI ist, dass wir endlich einen Weg gefunden haben, wie die Wirtschaft weiter wachsen kann, nachdem sie jeden Einzelnen von uns getötet hat.“
0
Duck Dodgers15.11.1109:13
MacMark
Das hat nichts mit Aushebeln zu tun, sondern damit, daß man seine individuelle Sandbox so einstellt, daß sie genau das erlaubt, was das Programm braucht – und nicht mehr.
Und wo sind diese Einstellungen?
0
Duck Dodgers15.11.1109:20
MetallSnake
Kann man nun im Öffnen Dialog nur noch Dateien aber keine Verzeichnisse öffnen lassen?
Du kannst auch Verzeichnisse öffnen, ändert aber am Problem nichts!
0
MetallSnake
MetallSnake15.11.1109:23
Duck Dodgers
MetallSnake
Kann man nun im Öffnen Dialog nur noch Dateien aber keine Verzeichnisse öffnen lassen?
Du kannst auch Verzeichnisse öffnen, ändert aber am Problem nichts!

Das von O.Wunder in meinem Zitat benannte Problem aber doch schon. Dadurch hat man doch die Rechte an dem Verzeichnis oder nicht?
Umgekehrt beim Speichern kann man doch sicher auch ein Verzeichnis auswählen, der Benutzer kann sogar Ordner erstellen in dem Speicher Dialog.
„Das Schöne an der KI ist, dass wir endlich einen Weg gefunden haben, wie die Wirtschaft weiter wachsen kann, nachdem sie jeden Einzelnen von uns getötet hat.“
0
milk
milk15.11.1109:31
Mein Gott, hier ist ja ne Menge Testosteron unterwegs...
0
iCode
iCode15.11.1111:12
o.wunder
Witzig, ist Apple nicht selbst in der Lage herauszufinden was Ihre Entwickler brauchen...
Apple hat seine Entwickler mal zum Mitmachen animiert. Das ist imho doch bedarfsgerecht. Was ist für Dich daran jetzt witzig?

Ich finde es bedauerlich, dass sich anfangs so wenige daran beteiligt haben, obwohl so viel Bedarf besteht.
0
iCode
iCode15.11.1111:20
Ergänzung zu meinem letzen Beitrag: Ersetze Bedarf durch Notwendigkeit.

@MacTechNews: Diese Änderungssperre stört wirklich.
0
MacMark
MacMark15.11.1111:34
MetallSnake
… Dadurch hat man doch die Rechte an dem Verzeichnis oder nicht?

Korrekt. Und wenn der User sein Home auswählt, kannst Du auch beliebig irgendwo in Subverzeichnissen in seinem Home arbeiten. Wenn er nur Documents wählt, dann nur dort aber nicht in anderen. Und so weiter.
„@macmark_de“
0
twilight
twilight15.11.1111:47
o.wunder
Die Sandbox wird automatisch um diejenigen Dateien erweitert die der Benutzer speichert, aber nur um diese Dateien, nicht um ein Verzeichnis, genau das ist der Punkt!.

Laut Doku umfasst das aber nicht nur Dateien: "Xcode provides a pop-up menu, in the Summary tab of the target editor, with choices to enable read-only or read/write access to files and folders that the user explicitly selects. When you enable user-selected file access, you gain programmatic access to files and folders that the user opens using an NSOpenPanel object, and files the user saves using an NSSavePanel object."



Peter
„Auch dienstlich tu ich mir garantiert kein Windows an!“
0
Duck Dodgers15.11.1112:10
MetallSnake
Das von O.Wunder in meinem Zitat benannte Problem aber doch schon. Dadurch hat man doch die Rechte an dem Verzeichnis oder nicht?
Umgekehrt beim Speichern kann man doch sicher auch ein Verzeichnis auswählen, der Benutzer kann sogar Ordner erstellen in dem Speicher Dialog.
Aber halt NUR über NSOpenPanel/NSSavePanel. MacMark will uns ja weiß machen, dass das auch so geht, nur kann er das leider nicht belegen.

@twilight:
o.wunder hat das schon verstanden, erklär das mal MacMark! Aber auf seine Antwort können wir ja hier vergeblich warten
0
söd knöd15.11.1112:17
Bis her dachte ich ja das Begriffe Zickenkrieg und Stutenbissigkeit eher weiblich besetzt sind, jetzt beim lesen dieses Threads werde ich belehrt. Man lernt ja nie aus Danke
0
twilight
twilight15.11.1112:35
Duck Dodgers
@twilight:
o.wunder hat das schon verstanden, erklär das mal MacMark! Aber auf seine Antwort können wir ja hier vergeblich warten

Okay, nun bin ich völlig verwirrt. So wie ich das verstehe, hat MacMark nix anderes behauptet (Zugriff auf userspezifizierte Dateien und Verzeichnisse) ...

Peter

„Auch dienstlich tu ich mir garantiert kein Windows an!“
0
MetallSnake
MetallSnake15.11.1112:42
Duck Dodgers

Aber halt NUR über NSOpenPanel/NSSavePanel. MacMark will uns ja weiß machen, dass das auch so geht, nur kann er das leider nicht belegen.

Eigentlich hat er doch immer betont, dass der Nutzer Verzeichnisse auswählen muss. Beim nächsten Start des Programms wird das Verzeichnis dank Resume Funktion dann automatisch wieder mit in die Sandbox aufgenommen solange das Programm das Verzeichnis nicht "schließt".
Nur ohne Resume hättest du dann ein Problem weil der Benutzer jedesmal den selben Ordner öffnen müsste.
„Das Schöne an der KI ist, dass wir endlich einen Weg gefunden haben, wie die Wirtschaft weiter wachsen kann, nachdem sie jeden Einzelnen von uns getötet hat.“
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.