J'ai un programme pour l'iPhone qui est censé faire des choses intelligentes (choisir les icônes appropriées pour les types de fichiers) donné une liste de noms de fichiers. Je suis à la recherche de l'iPhone prendre quelque chose comme/etc/mime.types ou quelque chose de similaire- un appel d'API est ce que je suppose que serait disponible pour le téléphone. Est-ce que cela existe?Où est la base de données de type iPhone MIME?
15
A
Répondre
43
Si tel était le cas, votre application n'aurait sûrement pas les autorisations pour la lire directement. Qu'essayez-vous de faire?
EDIT
Ceci est une fonction que j'ai écrit il y a un certain temps. Je l'ai écrit pour le Mac, mais il semble que les mêmes fonctions existent sur l'iPhone. En gros, vous lui donnez un nom de fichier, et il utilise l'extension de chemin pour retourner le type MIME du fichier:
#import <MobileCoreServices/MobileCoreServices.h>
...
- (NSString*) fileMIMEType:(NSString*) file {
CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (CFStringRef)[file pathExtension], NULL);
CFStringRef MIMEType = UTTypeCopyPreferredTagWithClass (UTI, kUTTagClassMIMEType);
CFRelease(UTI);
return [(NSString *)MIMEType autorelease];
}
4
La fonction suivante retourne le type MIME pour une extension de fichier donné en Swift 2
import MobileCoreServices
func mimeTypeFromFileExtension(fileExtension: String) -> String? {
guard let uti: CFString = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension as NSString, nil)?.takeRetainedValue() else {
return nil
}
guard let mimeType: CFString = UTTypeCopyPreferredTagWithClass(uti, kUTTagClassMIMEType)?.takeRetainedValue() else {
return nil
}
return mimeType as String
}
0
En Obj-C, avertissement à des fuites de mémoire lors de l'utilisation C.
- (NSString *)guessMIMETypeFromFileName: (NSString *)fileName {
CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef)[fileName pathExtension], NULL);
CFStringRef MIMEType = UTTypeCopyPreferredTagWithClass(UTI, kUTTagClassMIMEType);
CFRelease(UTI);
if (!MIMEType) {
return @"application/octet-stream";
}
NSString *dest = [NSString stringWithString:(__bridge NSString *)(MIMEType)];
CFRelease(MIMEType);
return dest;
}
Questions connexes
- 1. Décodage MIME C# de base
- 2. Filtre QFileDialog de type mime
- 3. Iphone type de données
- 4. Où est la base de données SubSonic 3 Test "SubSonic"?
- 5. Analyse de données de type mime X-amf
- 6. Où la base de données sqlite3 est-elle stockée sur l'émulateur iphone?
- 7. Type MIME générique pour une entité MIME?
- 8. Chargement de la base de données iPhone
- 9. où est passé le gestionnaire de base de données mysql?
- 10. Où est définie l'animation de base?
- 11. URN pour MIME Type
- 12. Silverlight mime-type (s)
- 13. jQuery Templates Type MIME
- 14. Quelle est la meilleure façon d'ouvrir/modifier un flux de données si tout ce que j'ai est un type MIME
- 15. Type MIME dans jsp
- 16. problème de base de données iphone
- 17. changer mime type de sortie en php
- 18. Déclaration de type mime pour html-email
- 19. iPhone et données de base
- 20. iPhone SDK: Données de base
- 21. Rails: problèmes de type MIME avec .m4v
- 22. Où Android stocke la version de base de données SQLite?
- 23. Où se trouve la base de données de bogues Oracle?
- 24. Où est la définition de type de document HTML5?
- 25. Où est le «type indéterminé»?
- 26. Type de texte de stockage dans la base de données
- 27. Quelles techniques conviennent à une application de base de données Windows où la base de données est disponible via http
- 28. Mime/encodage base 64
- 29. WPF - Type de contrôle dynamique de la base de données
- 30. Type MIME requis pour CSV
Je vient de modifier ma question d'être un peu plus clair. –
Ne fonctionne pas sur iPhone – jww
'Ne fonctionne pas sur iPhone' - mon mauvais. Vous devez inclure le framework MobileCoreServices, et '#import' –
jww