2012-11-14 4 views
2

내 앱을 사용하면 이미지 및 오디오의 유무에 상관없이 텍스트 파일을 다른 사용자에게 이메일로 전송할 수 있습니다. 이미지 나 오디오가없는 경우 앱은 맞춤 확장자 (예 : text.xxx)가있는 '있는 그대로'의 텍스트 파일을 보냅니다. 오디오와 이미지가있을 때, 앱은 텍스트 파일을 이미지와 오디오와 함께 text.xxx.zip과 같은 파일로 압축합니다.iOS6의 iOS 맞춤 이메일 첨부 파일 처리

iOS 6 이전에는 정상적으로 작동했습니다. Pre iOS 6, 응용 프로그램에 text.xxx.zip 파일의 URL이 제공되었습니다. 이제 iOS 6에서는 파일이 이미 Mail에 의해 압축 해제 된 것처럼 보이고 text.xxx 만 openURL 처리기로 전송됩니다.

아무에게도이 경험이 있습니까? 더 나은 접근을위한 제안? 나는 압축 한 케이스를위한 유일한 연장을 생각해 낼 필요가 있다고 생각하고있다. ...

+0

Google에서 kml과 kmz를 사용하는 것과 같습니다. kmz는 압축 된 kml 파일입니다. – rmaddy

+0

u가 http://code.google.com/p/objective-zip/ – Omarj

+0

@maddy를 사용하려고 시도 했습니까? 그렇습니다. 그게 내가해야 할 일입니다. –

답변

1

그래서 지난 24 시간 동안 내 머리를 두근 거리고 난 후에 이것이 문제를 "해결하는"것이다.

1) 기존 첨부 파일 이름을 test.xxx.zip에서 test.zip으로 변경하십시오. iOS6 Mail은 filename.xxx.zip 형식의 파일이 실제로 filename.xxx의 압축 된 버전이라고 가정합니다. (아마 어딘가 표준인가?) 또한 파일 이름을 test.yyy.zip으로 변경하면 첨부 파일을 열 수 없다고 말했습니다. (아마도 ".yyy"확장자로 등록 된 사람이 없기 때문일 것입니다).

2) 향후 유사한 문제가 발생하지 않도록 코드를 .zip 확장자로 다시 작성하지 마십시오.

또한 여러 문서 유형 (예 : .xxx, .zzz)의 경우 UTI 선언에서 서로 다른 MIME 유형을 지정해야합니다. 그렇지 않은 경우 메일은 찾은 첫 번째 UTI 확장명을 개체에 추가 한 다음 호출합니다 openURL. 즉, 플랫 파일 (.xxx) 및 zip 파일 (.zzz)을 처리하도록 설정했지만 동일한 MIME 유형 (예 : application/myappname)을 사용하고 "xxx"가 먼저 정의 된 경우 openURL이 "test.zzz"파일에 대해 호출되면 실제로 openURL에 "test.xxx"로 전달됩니다.

관련 문제