2010-07-31 8 views
3

Je partage de fichiers via iTunes travail dans mon application (référence What's New in iOS 3.2) en permettant la clé UIFileSharingEnabled, mais selon la documentation:Partage de fichiers iPhone: Comment reconnaître quand les fichiers ont été ajoutés?

« Les applications qui prennent en charge le partage de fichiers devrait être en mesure de reconnaître lorsque les fichiers ont été ajoutés à la Répertoire de documents et répondre de manière appropriée. "

Ma question est, si ma demande est en cours d'exécution, et l'utilisateur décide d'ajouter un fichier, comment puis-je répondre à cet événement? Et quel événement est-ce que je répondrais?

En d'autres termes, je sais ce que mon application iPhone doit faire lorsqu'un fichier est ajouté, mais ne savez pas où mettre ce code « répondre ». Actuellement, si mon application est en cours d'exécution (peut-être en cours d'exécution en arrière-plan) et qu'un fichier est ajouté, la seule façon de voir les effets de ce fichier ajouté est de quitter l'application de force et de relancer l'application.

Répondre

6

Vous devez vous rappeler que votre application n'est pas vraiment en cours d'exécution en arrière-plan, ou du tout pour cette question lorsque les fichiers sont ajoutés au dispositif. Pour que l'utilisateur ajoute des fichiers à l'appareil, il doit le synchroniser dans iTunes. Ainsi, une fois la synchronisation terminée, votre application sera relancée ou reprise. Dans les deux cas, vous disposez de méthodes dans votre délégué d'application que vous pouvez utiliser pour vérifier si de nouveaux fichiers ont été ajoutés à l'application.

- (void)applicationDidBecomeActive:(UIApplication *)application 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
+0

Merci Ron. Ceci est exactement ce que je cherchais. En rétrospective, un peu évident. – kanso

+0

De rien, avec le recul, beaucoup de choses sont évidentes. Il aide toujours à traverser vos problèmes à travers plus de gens. Bravo –

+0

Ce n'est plus valable à partir de iOS5. Voir [cette réponse] (http://stackoverflow.com/a/3189337/254422) pour une autre solution. – hwaxxer