Pergunta

Estou tentando entender como criar minha própria árvore de diretório e acessá -la a partir do meu aplicativo.

Estou fazendo algum tipo de programa de aprendizado e quero criar uma estrutura de diretório como esta:

-MyLessonsDirectory
--LessonDirectory_1
---Step_1
---Step_2
---Step_3
--LessonDirectory_2
---Step_1
---Step_2
---Step_3
.
.
and so on

Em cada diretor de "etapa", terei conteúdo específico para essa etapa da lição. O conteúdo é adicionado por mim enquanto se desenvolve. Portanto, não quero criar a estrutura e o conteúdo de dentro do aplicativo, basta acessar -o e ler o conteúdo dos diretórios. Se eu puder criar esse tipo de estrutura e usá -la, será muito fácil criar um bom design que facilite a criação de novas lições no meu aplicativo.

O que não consigo descobrir é onde devo criar esses diretórios na estrutura de arquivos no Xcode e qual é o caminho para esses diretórios do meu aplicativo.

Foi útil?

Solução

No iPhone, você só tem acesso aos próprios diretórios de aplicativos. O melhor lugar para colocar diretórios de prática na pasta Documentos no diretório do aplicativo.

Este...

NSString *dp=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

... dá o caminho para a pasta de diretório, que você pode entregar ao NSFilemanager.

Se você quiser ver a estrutura do diretório visualmente, execute o aplicativo no simulador e procure

~/Library/Application Support/iPhone Simulator/User/Applications

O aplicativo estará em uma das pastas com o nome uuid sem sentido. Você pode ver os diretórios e arquivos no Finder.

Eu acrescentaria que o iPhone já possui a maioria dos diretórios que você pode praticamente precisar. Você tem preferências, cache, TMP, documentos etc.

Edit01:

O que eu quero fazer é adicionar conteúdo manualmente antes de iniciar o aplicativo. Em seguida, de dentro do aplicativo, lerei o conteúdo que adicionei antes de iniciar o aplicativo.

Você não pode alterar a estrutura do diretório padrão e não possui absolutamente nenhum controle sobre como o aplicativo ou seus diretórios são instalados. Os aplicativos para iPhone não possuem arquivos de suporte externos de qualquer tipo. Tudo está dentro do pacote de aplicativos.

No entanto, o pacote de aplicativos é realmente apenas um diretório para que você possa encher as coisas dentro dele e copiá -las em um dos diretórios padrão na primeira vez que o aplicativo é executado. Você pode escrever o que quiser no diretório de documentos.

Outras dicas

Você quer olhar para o NSFilemanager para criar diretórios:

NSFileManager *fm = [NSFileManager defaultManager];
NSError *error;
BOOL result = [fm createDirectoryAtPath:@"path....." withIntermediateDirectories:YES attributes:nil error:&error];
if(result){
   NSLog(@"success!");
} else {
   NSLog(@"error: %@",error);
}

Quanto a onde criar os diretórios, você pode colocá-lo em ~/Support/-Nome do seu aplicativo-É aqui que você deve armazenar os dados do seu aplicativo se o usuário não exigir acesso a ele. Caso contrário, você deve deixar o usuário decidir onde salvá -lo.

- (NSString *)applicationSupportDirectory {

       NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
       NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : NSTemporaryDirectory();
       return [basePath stringByAppendingPathComponent:@"MyApplication"];
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top