2015-02-25 1 views
2

Я использую PHAsset в своем приложении, где мне нужно загрузить изображение и видео в api, для этого мне нужен тип и изображение типа mime. В предыдущей версии iOS я использовал следующий код, но в iOS 8 я не знаю, как получить mimetype. Я попытался найти руководство по программированию Apple PHAsset, но не смог его найти.Как получить тип MIME для изображения или видео в iOS 8 с использованием PHAsset?

ALAssetRepresentation *representation = [asset defaultRepresentation]; 
NSString *mimeType = (__bridge_transfer NSString *)UTTypeCopyPreferredTagWithClass 
     ((__bridge CFStringRef)[representation UTI], kUTTagClassMIMEType); 

Ищет любые указания.

+0

сделал у в состоянии получить решение? –

ответ

0

Используйте метод requestImageDataForAsset для PHImageManager. В результате этого метода возвращается тип UTI для актива.

+0

Извините, что забыл упомянуть, но я использую то же самое для изображения, я не знаю, как получить тип mime для видео. –

1

PHContentEditingInput имеет свойство uniformTypeIdentifier. Вы можете найти еще сообщения от the documentation.

@import MobileCoreServices.UTType; 

... 

PHAsset *asset = ... 
PHContentEditingInputRequestOptions *options = ... 
[asset requestContentEditingInputWithOptions:options completionHandler:^(PHContentEditingInput *contentEditingInput, NSDictionary *info) { 
    NSString *MIME = (__bridge NSString *)UTTypeCopyPreferredTagWithClass((__bridge CFStringRef)contentEditingInput.uniformTypeIdentifier, kUTTagClassMIMEType); 
}]; 
0

Также вы можете найти uniformTypeIdentifier из класса PHContentEditingInput. Для этого; использовать функцию requestContentEditingInput из PHAsset

Не забудьте импортировать MobileCoreServices

Sample Swift 3.1 Код:

let options = PHContentEditingInputRequestOptions() 
options.isNetworkAccessAllowed = true //for icloud backup assets 

let asset : PHAsset = ..... //sampleAsset 
asset.requestContentEditingInput(with: options) { (contentEditingInput, info) in 
    if let uniformTypeIdentifier = contentEditingInput?.uniformTypeIdentifier { 

     //check type here 
     if uniformTypeIdentifier == (kUTTypeGIF as String) { 
      debugPrint("This asset is a GIF") 
     } 

    } 
}