Como habilitar o compartilhamento de arquivos para meu aplicativo?

158

Eu tenho um aplicativo de edição de imagens onde os usuários podem aplicar efeitos às fotos. Como habilitá-lo para que os usuários possam ver meu aplicativo no iTunes na guia Compartilhamento de arquivos e, em seguida, basta arrastar e soltar fotos no aplicativo?

Alguns leitores de e-book como o Stanza funcionam assim e seria uma opção interessante. Talvez alguém possa apontar um tutorial ou recurso que fale sobre como habilitar e usar essa técnica.

Membro orgulhoso
fonte

Respostas:

281

Você só precisa definir UIFileSharingEnabled( Application Supports iTunes file sharing) a chave no info do seu aplicativo. Aqui está um link para a documentação. Role para baixo até a parte do suporte ao compartilhamento de arquivos.

No passado, também era necessário definir CFBundleDisplayName( Bundle Display Name), se já não estava lá. Mais detalhes aqui .

Vin
fonte
57
Para aqueles de vocês desafiados como eu, o seguinte: O aplicativo suporta o compartilhamento de arquivos do iTunes ao editar o arquivo info.plist no Xcode.
LavaSlider
Existe alguma razão para não ter efeito em um aplicativo? I habilitado, mas a App não vai aparecer no iTunes File Sharing
rraallvv
@rraallvv você está tentando com uma construção de desenvolvimento ou uma construção ad-hoc?
Vin
@rraallvv você provavelmente terá que configurar os tipos de arquivo ... (tipos de documentos sob target / Info)
nielsbot
E caso alguém esteja arrancando os cabelos por causa dele, verifique se você tem mais de um * Info.plist.
Tony Adams
42

De acordo com o doc da apple :

Suporte
ao compartilhamento de arquivos O suporte ao compartilhamento de arquivos permite que os aplicativos disponibilizem arquivos de dados do usuário no iTunes 9.1 e posterior. Um aplicativo que declara seu suporte ao compartilhamento de arquivos disponibiliza o conteúdo do diretório / Documents. O usuário pode mover arquivos para dentro e para fora deste diretório, conforme necessário, no iTunes. Esse recurso não permite que seu aplicativo compartilhe arquivos com outros aplicativos no mesmo dispositivo; esse comportamento requer a área de transferência ou um objeto controlador de interação do documento.

Para habilitar o compartilhamento de arquivos para seu aplicativo, faça o seguinte:

  1. Adicione a chave UIFileSharingEnabled ao arquivo Info.plist do seu aplicativo e defina o valor da chave como YES . (O nome da chave real é "O aplicativo suporta o compartilhamento de arquivos do iTunes")

  2. Coloque os arquivos que você deseja compartilhar no diretório Documents do seu aplicativo.

  3. Quando o dispositivo está conectado ao computador do usuário, o iTunes exibe uma seção Compartilhamento de arquivos na guia Aplicativos do dispositivo selecionado.

  4. O usuário pode adicionar arquivos a este diretório ou mover arquivos para a área de trabalho.

Os aplicativos que oferecem suporte ao compartilhamento de arquivos devem ser capazes de reconhecer quando os arquivos foram adicionados ao diretório Documentos e responder adequadamente. Por exemplo, seu aplicativo pode disponibilizar o conteúdo de quaisquer novos arquivos a partir de sua interface. Você nunca deve apresentar ao usuário a lista de arquivos desse diretório e solicitar que ele decida o que fazer com esses arquivos.

Para obter informações adicionais sobre a chave UIFileSharingEnabled, consulte Referência da chave da lista de propriedades de informações .

Nico
fonte
1
Por que o aplicativo não deve apresentar ao usuário a lista de arquivos?
Cutetare
1
@ Cuterare: Suponha, você deseja apenas arquivos mp3 no diretório de documentos, mas o usuário coloca os arquivos .pdf e, em seguida, você os deixa, cabe ao usuário ou manipula-los. Portanto, cuide do que você está fazendo com os arquivos. É referência do documento da apple, por favor visite url.
Nico
Como posso exportar os detalhes do log do Windows PC?
Vineesh TP
13

O novo XCode 7 exigirá apenas a chave 'UIFileSharingEnabled' no Info.plist. 'CFBundleDisplayName' não é mais necessário.

Mais uma dica: não modifique apenas a lista de informações do destino 'tests'. O aplicativo principal e os 'testes' têm Info.plist diferente.

wanyancan
fonte
Oi. Adicionei "Aplicativo compatível com compartilhamento de arquivos do iTunes" - "SIM" no meu info.plist. Mas a linha é removida automaticamente quando inicio o botão "Executar" no Xcode. Você não tem o mesmo problema?
11777 M.Masa
6

Se você encontrar, por ordem alfabética, deve ser "O aplicativo suporta o compartilhamento de arquivos do iTunes".

Tim
fonte
2

Talvez seja óbvio para vocês, mas eu coço a cabeça por um tempo porque a pasta não apareceu no aplicativo de arquivos. Na verdade, eu precisava armazenar algo na pasta. você poderia conseguir isso

  • salvando alguns arquivos no diretório de documentos do aplicativo
  • mova algo do iCloud Drive para o seu aplicativo (na caixa de diálogo Mover, a pasta será exibida). Assim que não houver mais arquivos na sua pasta, ela desaparecerá da guia "no meu iPad".
iVentis
fonte
Obrigado por adicionar isso. A única outra coisa que achei confusa é que, na primeira vez em que você ativa o compartilhamento de arquivos e salva um arquivo, é necessário ejetar e reconectar o dispositivo para que tudo apareça. Apenas no caso de alguém perder tempo brincando com isso.
Cosworth66
1

No Xcode 8.3.3, adicione nova linha no .plist com valor verdadeiro

Aplicativo suporta compartilhamento de arquivos do iTunes

oscar castellon
fonte