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.


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 .


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 .


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.


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".


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".

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.