2014-10-22 7 views
1

NSURL을 NSData로 변환 할 수 없습니다. 인쇄 할 때 NSURL이 나타나지만 NSData로 변환하려고하면 audioData 변수는 nil을 계속 반환합니다. "치명적인 :didPickMediaItems에서 NSURL을 NSData로 변환하십시오.

func mediaPicker(mediaPicker: MPMediaPickerController!, didPickMediaItems mediaItemCollection: MPMediaItemCollection!) 
{ 
    selectedSong = mediaItemCollection.items[0] as MPMediaItem 

    songUrl = selectedSong.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL 
    println("\(songUrl)") 

    audioData = NSData(contentsOfURL: songUrl) as NSData 
    println("\(audioData)") 
} 

편집 코드

songUrl 내 아이팟 라이브러리에있는 노래의 URL 주소 오류를 잡으려고

var errorPointer:NSErrorPointer! 
    audioData = NSData(contentsOfURL: songUrl, options: NSDataReadingOptions.DataReadingMappedAlways, error: errorPointer) 
    if audioData == nil 
    { 
     println("\(errorPointer)") 
    } 

이 코드는 오류를 인쇄 오류 : 옵션 값 "을 내 콘솔에 래핑하는 동안 예기치 않게 nil이 발견되었습니다.

아래의 대답 오류 형식으로 포맷을 사용하여210

편집 # 2

, 지금 오류를 얻을 :

오류가 발생

: 오류 = NSCocoaErrorDomain 코드 = 256 "작업은 '나오지 않았어 도메인 완료 되십시오. (코코아 오류 256) "사용자 정보 = 0x146f4a90 {NSURL = 아이팟 라이브러리 : //item/item.m4a ID가 =3210273692689505570}

+0

사용 ['을 NSData (contentsOfURL : 옵션 : 오류 :)'] (HTTPS 오류 매개 변수를 코딩하는 방법

"Usage of the URL outside of the AV Foundation framework is not supported."

예 : //developer.apple.com/library/ios/documentation/ Cocoa/Reference/Foundation/Classes/NSData_Class/# // apple_ref/occ/instm/NSData/initWithContentsOfURL : options : error :) 반환 된 오류가 무엇인지 알려주세요. 답장을 –

+0

감사합니다 ... 난과 같이 코드를 작성 : audioData =을 NSData (contentsOfURL : songUrl, 옵션 : NSDataReadingOptions.DataReadingMappedAlways, 오류 : NSErrorPointer()) 내가 제대로 errorpointer를 초기화 확실하지 않다 있지만, 내 콘솔에 오류 출력이 없었습니다. – user3353890

+0

콘솔에 출력이 없어야합니다. 오류를 기록해야합니다. – rdelmar

답변

0

URL은 AVFoundation 만 적합, NSData는 할 수 없을 것입니다 NSURL와 일 애플의 워드 프로세서
:.

var error: NSError? 
audioData = NSData(contentsOfURL: songUrl, options: .DataReadingUncached, error: &error) 

if audioData == nil { 
    if let unwrappedError = error { 
     println("An Error Occurred: \(unwrappedError)") 
    } 
} 
+0

우, 미안, 다시 시도 할게. 전체 NSErrorPointer가 조금 벗어났습니다. 정규 NSError가 아닌 다른 것을 요구하고 있다고 생각했습니다. 나와 협력 해 주셔서 감사합니다. – user3353890

+0

좋아, 이제 내가 올바른 오류가 있다고 생각해.프로그램이 unwrappedError를 "오류가 발생했습니다 : 오류 도메인 = NSCocoaErrorDomain 코드 = 256"으로 인쇄합니다. 작업을 완료 할 수 없습니다. (Cocoa error 256.) "UserInfo = 0x146f4a90 {NSURL = ipod-library : //item/item.m4a? id =3210273692689505570}" – user3353890