Pergunta

eu quero Compartilhe dados de texto entre dois aplicativos para iPhone. Como posso usar a placa de pasta para esse fim. Alguém pode me ajudar com um código de exemplo. Desde já, obrigado. Sugira -me se houver maneiras melhores do que a Pasteboard para realizar minha tarefa.

Foi útil?

Solução

Se você simplesmente deseja usar o IPC, faça com que os dois aplicativos reconheçam algum esquema de URL. Então ligue

[[UIApplication sharedApplication] openURL:
  [NSURL URLWithString:@"theOtherApp://dataToShare"]];

Para enviar e usar -application:handleOpenURL: receber.


Para compartilhar strings através do Pasteboard, use

 UIPasteboard* board = [UIPasteboard generalPasteboard];
 board.string = @"Some string to share";

para salvar e usar board.string como um getter para recuperar a string para compartilhar. Mas se o usuário copiar algo entre seus dados compartilhados será perdido.


Como alternativa, você pode compartilhar coisas via:

  • Livro de endereços. Crie um contato fictício e use -o para compartilhar.
  • Chaveiro. Faça um item de chaveiro compartilhado. 3.x apenas.
  • Leia/escreva em pastas compartilhadas. /var/mobile/Library/AddressBook e Keyboard e Preferences pode ser acessado mesmo se o seu aplicativo estiver na caixa de areia. Isso pode violar as regras do SDK.

Outras dicas

Você poderia usar esquemas de URL personalizados para se comunicar entre seus aplicativos.

Eu não poluaria a área de transferência do usuário, a menos que eles quisessem copiar algo para a área de transferência - imagine a frustração de armazenar um trecho de texto na prancheta e depois ter algum aplicativo sobrescrever apenas para enviar dados para outro aplicativo ... não um boa experiência do usuário.

Atualizar:

Como @ohhorob Comentado, é possível criar pasteboards personalizados. Se você quiser compartilhar dados através do Pasteboard, crie seu próprio aplicativo (persistente) Pasteboard e use -o em vez do Pasteboard principal. Ver aqui Para maiores informações.

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