Pergunta

Eu estou trabalhando em um aplicativo Core Data (para iPhone 3.0, embora eu não acho que realmente faz a diferença aqui) e ele terá de ser fornecido com uma base de dados "arranque" preenchida com dados. Com SQLite, eu teria apenas copiar a App banco de dados povoada do pacote no diretório de documentos do App no ??primeiro lançamento e, em seguida, carregar esse banco de dados - todas as informações viria junto com ele e nós estaria pronto para ir. Mas com Core Data, eu realmente não estou certo se eu puder apenas salvar o armazenamento persistente para o pacote de App e copiá-lo antes de ter Core Data começar a fazer a sua coisa. Será que isto vai causar algum problema? Há um pouco de dados iniciais, então eu não quero empacotá-lo em outro formato e tem que analisar com ele.

Foi útil?

Solução

Sim, você pode copiar um armazenamento persistente pré-preenchido.

Eu criei um aplicativo Mac que preenche uma loja. Ele é copiado para minha trouxa e no início, copiados para o diretório Docs. Isso funciona bem. Disseram-me o exemplo Core Data Books foi desenvolvido da mesma forma.

Por favor note que este não significa que você pode simplesmente copiar qualquer arquivo SQLite idade. Tem que ser um armazenamento persistente Core Data, embora eu acho que você entenda que, com base na sua pergunta.

Outras dicas

Na verdade, há um truque: você deve nomear o arquivo que você está indo para copiar com uma extensão diferente de ".sqlite", ".bin" vai fazer. Caso contrário Xcode vai mudar o conteúdo do arquivo quando ele copia-lo para o aplicativo durante a fase de construção e não vai carregar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top