LET me lOg

  • HOME
  • #iOS
  • Medium

iOS 7에서 드디어! 추가된 기능들

iOS 7에서 드디어! 추가된 기능들

본문의 글은 DoubleEncore의 iOS7 Additions:OMG Finally! 를 참고하여 작성되었습니다.
(This article is refer to iOS 7 Additions: OMG Finally! at DoubleEncore)

 

iOS7이 발표된지도 꽤 많은 시간이 지났습니다만 이제서야 review를 하네요…
바로 본문으로 들어갈게요.

1. Support Attachments at Message UI Framework.

개발 시 앱 내에서 iMessage 기능을 편하게 사용하기 위해서 MFMessageComposeViewController를 사용해왔을 것입니다. 이 클래스의 약점 중 하나는 code-level에서 첨부 파일을 넣을 수 없다는 것이였죠.

- (BOOL)addAttachmentData:(NSData *)attachmentData typeIdentifier:(NSString *)uti filename:(NSString *)filename;
- (BOOL)addAttachmentURL:(NSURL *)attachmentURL withAlternateFilename:(NSString *)alternateFilename;

위 두 메소드가 추가되며 드디어 메시지에 첨부파일을 첨부할 수 있게 되었습니다.
Data의 경우 MobileCoreService Framework에 포함된 UTCoreTypes에 정의된 파일형식이라면 대부분 가능한 것 같습니다. 단, 용량제한이나 기타 제한에 대해서는 충분하게 테스트해보지 않았으니 참고하세요.

2. MPVolumeView in Media Player Framework

MPVolumeView는 단말의 볼륨을 조절하는 슬라이더와 라우팅할 오디오 소스를 선택할 수 있도록 해주었습니다만 AirPlay system의 정보를 얻기에는 부족함이 있었습니다.

@property areWirlessRoutesAvailable;
@property isWirelessRouteActive;

NSString *const MPVolumeViewWirelessRoutesAvailableDidChangeNotification;
NSString *const MPVolumeViewWirelessRoutesActiveDidChangeNotification;

하지만 iOS 7부터 위 코드처럼 두 개의 프로퍼티와 두 개의 노티피케이션이 추가되며 AirPlay system를 더 효율적으로 컨트롤 할 수 있게 되었습니다.

areWirelessRoutesAvailable는 현재 AirPlay가 사용 가능한 route가 있는지 여부를 BOOL 값으로 리턴해주며, isWirelessRouteActive는 현재 AirPlay route가 활성화되어 있는지 여부를 BOOL 값으로 리턴합니다.

MPVolumeViewWirelessRoutesAvailableDidChangeNotification과 MPVolumeViewWirelessRoutesActiveDidChangeNotification은 사용 가능한 route가 있을 때와 active 상태가 변경되었을 때 호출됩니다.

3. Scanning for BarCode using AVFoundation

AVFoundation에서 1차원과 2차원 BarCode를 읽을 수 있게 되었습니다. iOS 7 이전에는 ZXing이나 ZBar와 같은 3rd party에서 만든 라이브러리를 이용했었습니다만 이제 iOS 에 내장된 프레임워크만으로도 쉽게 바코드 스캔이 가능해졌습니다.

사용 방법은 Custom Camera/Video 를 구현할 때와 유사하게 AVCaptureSession에 AVCaptureMetadataOutput을 연결하면 됩니다. AVCaptureMetadataOutput에서 지원하는 바코드 종류는 아래와 같습니다.

AVMetadataObjectTypeUPCECode
AVMetadataObjectTypeCode39Code
AVMetadataObjectTypeCode39Mod43Code
AVMetadataObjectTypeEAN13Code
AVMetadataObjectTypeEAN8Code
AVMetadataObjectTypeCode93Code
AVMetadataObjectTypeCode128Code
AVMetadataObjectTypePDF417Code
AVMetadataObjectTypeQRCode
AVMetadataObjectTypeAztecCode

이상 드디어!! 추가된 기능들 3가지를 알아봤습니다.
리뷰하면서 작성해 본 샘플코드는 https://github.com/YoonBongKim/iOS7-Samples 에서 보실 수 있습니다.

앞으로도 DoubleEncore에 작성된 글 기준으로 앞으로도 틈틈히 iOS7에서 추가 혹은 변경된 기능들을 리뷰해볼게요.

다음 시간에… =3=33

공유:

  • 친구에게 전자우편으로 보내기 (새 창에서 열림)
  • 페이스북에 공유하려면 클릭하세요. (새 창에서 열림)
  • 구글 +1에서 공유하려면 클릭하세요 (새 창에서 열림)
  • 트위터로 공유하기 (새 창에서 열림)
  • LinkedIn으로 공유하기 (새 창에서 열림)
  • Tumblr로 공유하기 (새 창에서 열림)
  • Pinterest에서 공유하려면 클릭하세요 (새 창에서 열림)

관련

공유:

  • 친구에게 전자우편으로 보내기 (새 창에서 열림)
  • 페이스북에 공유하려면 클릭하세요. (새 창에서 열림)
  • 구글 +1에서 공유하려면 클릭하세요 (새 창에서 열림)
  • 트위터로 공유하기 (새 창에서 열림)
  • LinkedIn으로 공유하기 (새 창에서 열림)
  • Tumblr로 공유하기 (새 창에서 열림)
  • Pinterest에서 공유하려면 클릭하세요 (새 창에서 열림)

관련

  • Permalink
  • 2014-01-06
  • iOS Simple Tips, iOS7

Leave a Comment - Cancel reply

Twitter Feed
  • Oops, our Twitter feed is unavailable at the moment. - Follow us on Twitter!
태그
3D touch 2011 2012 ACAccount Apple Artwork backgroundImage beta CoreAnimation Customizing Facebook FTA H3 hack Hidden image Indicator iOS iOS4 iOS5 iOS5.1 iOS6 iOS7 iOS9 iPad iPhone kth naver Path2 QuadMenu Swift TechTalk Tips Twitter UI UIButton UINavigationBar UINavigationController UITabBarController UITextField y8k 국회의원 매국노 아임IN핫스팟 한미FTA
그 밖의 기능
  • 로그인
  • 글 RSS
  • 댓글 RSS
  • WordPress.org
  • yoonbong.kim@me.com
  • Github
  • Linkedin
  • Twitter
  • YoonBong Kim © 2015
loading 취소
글이 전송되지 않았습니다. 이메일 주소를 확인하세요!
이메일 확인에 실패했습니다. 다시 시도하세요
죄송합니다. 귀하의 블로그에서 이메일로 글을 공유할 수 없습니다.