2009-12-14 27 views
1

Si je crée une application pour l'iPhone (OS 3), est-ce qu'elle fonctionnera sans modification sur un iPod Touch ou devrai-je créer un binaire séparé? Si c'est la même durée d'exécution, est-ce que les fonctionnalités de l'iPhone ne sont disponibles que pour les fonctionnalités de l'iPhone ou est-ce que vous devez vérifier fonctionnalité par fonction en utilisant UIDevice pour assurer que la classe/méthode est supportée par l'appareil?Applications iPhone fonctionnant sur iPod Touch

Désolé pour les questions élémentaires, ne peut pas trouver une explication simple de ce partout.

Vive

Dave

ÉDITÉ: Sur la base des discussions ci-dessous:

Comment pouvez-vous vérifier si un appareil prend en charge les appels? Au moment où je suppose que c'est un iPod Touch, il ne peut pas. Existe-t-il un moyen de savoir quelles applications/schémas d'URL partagés sont pris en charge par un périphérique?

Répondre

3

Vous ne devriez pas vraiment essayer de deviner ce que le dispositif est. Vous êtes plus à l'épreuve du futur si vous testez la fonctionnalité spécifique que vous essayez d'utiliser. Après tout, à l'avenir, il pourrait y avoir des iPod avec des caméras. Ou compas (qui sont sur certains iPhones mais pas d'autres).

Comme il semble que tout ce que vous voulez faire est de voir si vous pouvez ouvrir une URL, pourquoi ne pas utiliser -[UIApplication canOpenURL:]? (Cela marcherait sans doute sur des iPods qui avaient des applications capables de gérer la voix sur IP - Je ne sais pas si cela existe, mais je pense que c'est un exemple de pourquoi vous devez tester la fonctionnalité et ne pas faire de suppositions basées sur le matériel version.)

+0

D'accord, cela semble l'approche la plus sensée. La principale caractéristique que j'utilise est d'appeler un numéro en utilisant le schéma tel: URL. Savez-vous s'il est possible de vérifier si l'appareil prend en charge un schéma particulier? Ou, si ce n'est pas le cas, prend en charge la réalisation d'appels, puisque cela s'effectue via la route ShareApplication. À votre santé Dave –

3

L'application fonctionnera sur un iPod touch, pas besoin de compiler une version séparée. Les fonctions qui nécessitent un iPhone (par exemple un appareil photo) ne fonctionneront pas, évidemment.

Quelles fonctionnalités avez-vous l'intention d'utiliser? Vous pouvez fournir des alternatives aux utilisateurs d'iPod ou les alerter, par exemple. aucune caméra n'est disponible.

Cette question comment vérifier Adresses si un microphone est présent: Detecting iPhone iPod touch accessories

+0

C'est très bien merci. Avoir créé une méthode + (BOOL) isiPhone ajouter le mettre dans mon code pour toute référence de numéro d'appel et cela fonctionne un régal. Savez-vous si les chaînes d'URL de l'application partagée sont identiques entre iPod Touch et iPhone? c'est-à-dire, envoyer une chaîne à Google Maps par exemple? Dave –

+0

Je n'ai pas travaillé avec moi-même, voulez-vous dire le schéma d'URL? Serait étrange s'ils seraient différents. Considérez simplement que les périphériques exécutent le même système d'exploitation, car le fait que le matériel diffère ne rend pas le système d'exploitation fondamentalement différent. ;) – Pascal

+0

Salut SanHolo, oui je veux dire le schéma d'URL et je suis d'accord qu'il serait étrange si elles n'étaient pas les mêmes. Je suppose que je veux dire si elles ont pris en charge différentes fonctionnalités et donc différentes URL formatées ou si un schéma particulier est pris en charge du tout. J'ai ajouté un commentaire à la publication ci-dessous car j'utilise le schéma tel: et je me demandais s'il était possible de déterminer quels schémas un périphérique prend en charge. –