11
votes

Le développeur IOS est-il capable de voir le système de fichiers?

Je me demande si le développeur a une sorte de façons de pouvoir afficher le système de fichiers sur un périphérique iOS comme ifile mais sans jailbreaker l'appareil? Besoin de cela pour le but de devlopement.

éditer Merci pour vos réponses! Je sais qu'il y a une place dans un dossier d'application et peut être lu et écrit à. Mais je cherchais un moyen de voir les données rapidement sans codage, comme ifile. Donc, je peux vérifier si mes fonctions d'écriture réussissent ou non.


9 Réponses :


6
votes

On peut afficher des fichiers dans un périphérique iOS mais uniquement dans la bac à sable de votre application. Chaque application a reçu un documents code>, cache code> et TEMP code> dossiers. Je pense que les deux premiers sont automatiquement sauvegardés par iTunes lorsque vous connectez votre appareil, ce dernier n'est pas sauvegardé.

exemple, pour obtenir le chemin du répertoire cache - P>

- (NSMutableArray *)showFiles
{
    NSError *err        = nil;
    NSArray *myPathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *myPath    = [myPathList  objectAtIndex:0];
    NSArray *dirContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:myPath error:&err];
    if(err) NSLog(@"showFiles() - ERROR: %@",[err localizedDescription]);
    NSMutableArray *filePaths  = nil;

    int count = (int)[dirContent count];
    for(int i=0; i<count; i++)
    {
        [filePaths addObject:[dirContent objectAtIndex:i]];
    }
    return filePaths;
}


5 commentaires

Merci d'avoir répondu! Je sais qu'il y a une place dans un dossier d'application et peut être lu et écrit à. Mais je cherchais un moyen de voir les données rapidement sans codage, comme ifile. Donc, je peux vérifier si mes fonctions d'écriture réussissent ou non.


Il est difficile de dire ce que vous entendez par "pour voir les données rapidement sans codage", mais je suppose que vous voulez dire que vous voulez pouvoir stocker et récupérer des objets en mémoire sur le disque. Pour cela, j'utiliserais le protocole Nscoding sur vos objets. Il est très facile d'enregistrer / charger des objets vers / depuis le disque


Comment obtenir une fenêtre de file choisissant comme dans le cas d'Android, comme lorsque nous cliquons sur Choisir un fichier, la fenêtre apparaît pour l'utilisateur de choisir et de télécharger


@ 王 til Comment obtenir la fenêtre de choix de fichiers comme dans le cas de Android, comme lorsque nous cliquons sur Choisir un fichier, la fenêtre apparaît pour l'utilisateur de choisir et de télécharger


il suffit d'utiliser retour [dircontent mutablecopy] au lieu de cette boucle stupide



3
votes

Ouais, vous pouvez accéder au système de fichiers. Vous êtes limité à votre propre boîte de sable d'application que cependant. Et vous ne pouvez pas modifier le Bundle de l'application, tout ce que vous téléchargez dans le cadre de l'application, cela ne peut pas être modifié (pour des raisons de sécurité car chaque application est signée). Mais vous pouvez stocker des fichiers dans le dossier Documents de votre application.

Regardez cette conférence, explique tout ce que vous devez savoir:

http: // www. Stanford.edu/class/cs193p/cgi-bin/drupal/system/files/lecures/09_data.pdf


1 commentaires

Je suis à peu près sûr que la motivation d'Apple n'est pas la sécurité.



1
votes

Si vous définissez une touche UifileSharingEnabled dans votre plist comme true, vous pourrez utiliser iTunes sur votre Mac pour afficher le système de fichiers dans le répertoire de documents Sandboxed de votre application sans codage supplémentaire. Cela ne vous aidera pas si vous souhaitez visualiser votre répertoire de caches ou regarder en dehors de la boîte à sable de votre application.


0 commentaires

13
votes

Bien que le système de fichiers sur l'IDEVICE soit sandboxé, celui du simulateur iPhone n'est pas. Vous pouvez exécuter votre application avec le simulateur et vérifier le contenu via: xxx

il doit fonctionner pour vos besoins.


0 commentaires

9
votes

Pour le périphérique: Utilisez l'application de bureau iPhone-Explorer , il lit le système de fichiers via USB ( Il peut lire et écrire toute la zone désignée par l'utilisateur (applications, musique, photos, vidéos, notes, etc.), mais pas le système entier sauf si vous jailbreak et installez AFC2Ajoud)

Pour iPhonesImulator (comme Liz mentionné): ~ / Bibliothèque / Support d'application / Simulateur iPhone / 5.0 / Applications


1 commentaires

Tout devinez comment IExplorer capable d'y accéder. J'ai besoin d'accéder à mon dossier de documentation de mon application d'application de My MacOS App



1
votes

peut, il y a un exemple . Vous pouvez regarder.


0 commentaires

1
votes

Lorsque votre périphérique IOS est connecté à votre ordinateur et provisionné correctement pour le développement, vous pouvez utiliser Xcode 4 pour télécharger des fichiers pour vos propres projets, et non seulement les fichiers du répertoire Documents .

Voir cette autre réponse: Comment télécharger des données de l'application dans xcode 4.2


0 commentaires

0
votes

Oui LMS est correct. Apple a limité l'accès au fichier à l'application uniquement (répertoire de documents). Donc, il n'y a pas d'autre moyen d'y accéder. J'ai confronté à cette question dans l'un de mes projets et j'ai commencé à développer le système complet d'accès au dossier. Toutes les opérations sont prises en charge comme sile. Vous pouvez tout faire de manière similaire comme une application ifile visuellement.

https://github.com/cianapple/filesystem

J'ai posté le projet sur GitHub pour le public. Sentez-vous libre de l'utiliser. Cela pourrait vous aider avec votre problème.


0 commentaires

0
votes

iTools est un petit outil qui fonctionne autour des efforts des pommes pour protéger l'iPhone. là-bas pourrait enfreindre certaines des politiques des pommes, mais le travail


0 commentaires