iOS 6 소개Introduction to iOS 6

iOS 6에는 다양 한 Xamarin.iOS 6에는 앱 개발을 위한 새로운 기술 포함 되어 있습니다. C# 개발자입니다.iOS 6 includes a variety of new technologies for developing apps, which Xamarin.iOS 6 brings to C# developers.

IOS 6 및 Xamarin.iOS 6을 사용 하 여 개발자는 이제 iOS 응용 프로그램을 비롯 하 여 해당 대상 iPhone 5 만들 마음 다양 한 기능이 있습니다.With iOS 6 and Xamarin.iOS 6, developers now have a wealth of capability at their disposal to create iOS applications, including ones that target iPhone 5. 이 문서는 사용 가능한 더 흥미로운 새 기능 및 각 항목에 대 한 문서 링크를 보여 줍니다.This document lists some of the more exciting new features that are available and links to articles for each topic. 또한 개발자가 iOS 6 및 iPhone 5의 새로운 해상도를 이동할 때 중요 하 게 몇 가지 변경 내용에 살펴봅니다.In addition it touches on a couple changes that will be important as developers move to iOS 6 and the new resolution of iPhone 5.

컬렉션 뷰 소개Introduction to Collection Views

컬렉션 뷰는 임의의 레이아웃을 사용 하 여 표시할 콘텐츠를 허용 합니다.Collection Views allow content to be displayed using arbitrary layouts. 그러면 기본적으로 표 형태의 레이아웃 사용자 지정 레이아웃도 지원 하면서 쉽게 만들 수 있습니다.They allow easily creating grid-like layouts out of the box, while supporting custom layouts as well. 자세한 내용은 참조는 컬렉션 뷰 소개 가이드입니다.For more information see, the Introduction to Collection Views guide.

PassKit 소개Introduction to PassKit

PassKit framework 응용 프로그램을에 게 Passbook 앱에 관리 되는 디지털 전달 상호 작용할 수 있습니다.The PassKit framework allows applications to interact with digital passes that are managed in the Passbook app. 자세한 내용은 참조는 전달 키트 가이드 소개합니다.For more information see, the Introduction to Pass Kit guide.

EventKit 소개Introduction to EventKit

EventKit 프레임 워크에는 달력, 달력 이벤트 및 달력 데이터베이스를 저장 하는 미리 알림 데이터를 액세스 하는 방법을 제공 합니다.The EventKit framework provides a way to access the Calendars, Calendar Events, and Reminders data that Calendar Database stores. 액세스 일정 및 일정에 이벤트 사용 가능한 iOS 4 이후 되었지만 iOS 6 이제 미리 알림 데이터에 대 한 액세스를 제공 합니다.Access to the calendars and calendar events has been available since iOS 4, but iOS 6 now exposes access to reminders data. 자세한 내용은 참조는 있습니까 EventKit 소개 가이드입니다.For more information, see the I ntroduction to EventKit guide.

소셜 프레임 워크 소개Introduction to the Social Framework

소셜 프레임 워크 SinaWeibo 뿐만 아니라 Twitter 및 Facebook을 포함 하 여 중국의 사용자에 대 한 소셜 네트워크와 상호 작용 하기 위한 통합된 API를 제공 합니다.The Social Framework provides a unified API for interacting with social networks including Twitter and Facebook, as well as SinaWeibo for users in China. 자세한 내용은 참조는 소셜 프레임 워크 소개 가이드입니다.For more information see, the Introduction to the Social Framework guide.

StoreKit 변경 내용Changes to StoreKit

Apple 스토어 키트에서 두 가지 새로운 기능이 도입 되었습니다: 구매 iTunes App Store에서 내에서 또는 콘텐츠 앱을 다운로드 하 고 앱에서 바로 구매에 대 한 콘텐츠 파일을 호스팅.Apple has introduced two new features in Store Kit: purchasing and downloading iTunes or App Store content from within your app, and hosting your content files for in-app purchases!. 자세한 내용은 참조는 저장소 키트 변경 가이드입니다.For more information see, the Changes to Store Kit guide.

기타 변경 내용Other Changes

ViewWillUnload 및 ViewDidUnload 사용 되지 않음ViewWillUnload and ViewDidUnload Deprecated

ViewWillUnload 하 고 ViewDidUnload 메서드의 UIViewController iOS 6 이상 호출 됩니다.The ViewWillUnload and ViewDidUnload methods of UIViewController are no longer called in iOS 6. IOS의 이전 버전에서는 이러한 메서드 수 사용 되었을 응용 프로그램에서 상태 보기를 언로드 전에 및 정리 코드를 각각 저장 합니다.In previous versions of iOS, these methods may have been used by applications for saving state before a view unloads, and cleanup code respectively.

예를 들어, Mac 용 Visual Studio는 이라는 메서드를 만듭니다 ReleaseDesignerOutlets에서 다음 호출 되는 아래에 표시 된 ViewDidUnload:For example, Visual Studio for Mac would create a method called ReleaseDesignerOutlets, shown below, which would then be called from ViewDidUnload:

void ReleaseDesignerOutlets ()
{
    if (myOutlet != null) {
        myOutlet.Dispose ();
        myOutlet = null;
    }
}

그러나 iOS 6,에서는 더 이상 호출 하는 데 필요한 ReleaseDesignerOutlets합니다.However, in iOS 6, it is no longer necessary to call ReleaseDesignerOutlets.

IOS 6 응용 프로그램 정리 코드를 사용 해야 DidReceiveMemoryWarning합니다.For cleanup code, iOS 6 applications should use DidReceiveMemoryWarning. 그러나 호출 하는 코드 Dispose 꼭 필요할 때만 사용 해야 하 고 개체에 대해서만 메모리 집약적인 표시 된 것 처럼 아래:However, code that calls Dispose should be used sparingly and only for memory intensive objects as shown below:

if (myImageView != null){
    if (myImageView.Superview == null){
        myImageView.Dispose();
        myImageView = null;
    }
}

마찬가지로 호출 Dispose 위와 같이 필요한 경우는 거의 해야 합니다.Again, calling Dispose as above should rarely be needed. 대부분의 응용 프로그램에서 수행 해야 하는 일반적인 이벤트 처리기를 제거 하는 것입니다.In general the most applications should do is to remove event handlers.

상태를 저장 하는 경우 응용 프로그램이 수행할 수 있습니다이 ViewWillDisappear 하 고 ViewDidDisappear 대신 ViewWillUnload합니다.For the case of saving state, applications can perform this in ViewWillDisappear and ViewDidDisappear instead of ViewWillUnload.

iPhone 5 확인iPhone 5 Resolution

iPhone 5 장치 640 x 1136 확인을 해야합니다.iPhone 5 devices have a 640x1136 resolution. 이전 버전의 iOS 대상으로 하는 응용 프로그램 나타납니다 letterboxed iPhone 5에서 실행 하는 경우 아래와 같이:Applications that targeted previous versions of iOS will appear letterboxed when run on an iPhone 5, as shown below:

응용 프로그램을 표시 하기 위해 iphone 5, 전체 화면 추가 라는 이미지 Default-568h@2x.png 640 x 1136 해상도 필요 합니다.In order for the application to appear full-screen on iPhone 5, simply add an image named Default-568h@2x.png having a resolution of 640x1136. 다음 스크린샷은 응용 프로그램이이 이미지에 포함 된 후 실행 합니다.The following screenshot shows the application running after this image has been included:

UINavigationBar 서브클래싱Subclassing UINavigationBar

Ios 6 UINavigationBar 서브클래싱 할 수 있습니다.In iOS 6 UINavigationBar can be subclassed. 이렇게 하면의 모양과 느낌을 추가로 제어할 수 있습니다.는 UINavigationBar합니다.This allows additional control of the look and feel of the UINavigationBar. 예를 들어, 응용 프로그램 수 하위 뷰를 추가, 보기에 애니메이션 효과 주기 및 범위를 수정 하 여 UINavigationBar입니다.For example, applications can subclass to add subviews, animate those views and modify the Bounds of the UINavigationBar.

아래 코드 예제는 서브클래싱된 UINavigationBar 더하는 UIImageView:The code below shows an example of a subclassed UINavigationBar that adds a UIImageView:

public class CustomNavBar : UINavigationBar
{
    UIImageView iv;
    public CustomNavBar (IntPtr h) : base(h)
    {
        iv = new UIImageView (UIImage.FromFile ("monkey.png"));
        iv.Frame = new CGRect (75, 0, 30, 39);
    }
    public override void Draw (RectangleF rect)
    {
        base.Draw (rect);
        TintColor = UIColor.Purple;
        AddSubview (iv);
    }
}

서브클래싱된를 추가할 UINavigationBarUINavigationController, 사용 하 여는 UINavigationController 유형을 사용 하는 생성자를 UINavigationBarUIToolbar아래 표시 된 것 처럼:To add a subclassed UINavigationBar to a UINavigationController, use the UINavigationController constructor that takes the type of the UINavigationBar and UIToolbar, as shown below:

navController = new UINavigationController (typeof(CustomNavBar), typeof(UIToolbar));

이 사용 하 여 UINavigationBar 다음 스크린샷에 표시 된 것 처럼 표시 되는 이미지 뷰에서 결과 하위 클래스입니다.Using this UINavigationBar subclass results in the image view being displayed as shown in the following screenshot:

인터페이스 방향Interface Orientation

이전 iOS 6 응용 프로그램 재정의 될 수 있습니다 ShouldAutorotateToInterfaceOrientation, 지원 되는 특정 컨트롤러 모든 방향에 대해 true를 반환 합니다.Prior to iOS 6 applications could override ShouldAutorotateToInterfaceOrientation, returning true for any orientations the particular controller supported. 예를 들어, 다음 코드는 세로 지 원하는 데 사용할 것:For example, the following code would be used to support only portrait:

public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
    {
        return (toInterfaceOrientation == UIInterfaceOrientation.Portrait);
    }

Ios 6 ShouldAutorotateToInterfaceOrientation 는 사용 되지 않습니다.In iOS 6 ShouldAutorotateToInterfaceOrientation is deprecated. 응용 프로그램을 재정의할 수 대신 GetSupportedInterfaceOrientations 아래와 같이 루트 뷰 컨트롤러에서:Instead applications can override GetSupportedInterfaceOrientations on the root view controller as shown below:

public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations ()
    {
        return UIInterfaceOrientationMask.Portrait;
    }

IPad의 경우에이 경우 기본값은 모든 네 방향 GetSupportedInterfaceOrientation 구현 되어 있지 않습니다.On iPad, this defaults to all four orientations if GetSupportedInterfaceOrientation is not implemented. IPhone 및 iPod Touch에서 기본값은 제외 하 고 모든 방향 PortraitUpsideDown합니다.On iPhone and iPod Touch, the default is all orientations except PortraitUpsideDown.