정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

여러 버전을 Windows Phone 8용 앱 대상으로 지정하는 방법

2014-06-18

여러 가지 다른 방법을 사용하여 Windows Phone 8 및 Windows Phone OS 7.1 을 모두 대상으로 하는 앱을 만들고 유지 관리할 수 있습니다.

  • 두 버전에서 실행되는 단일 Windows Phone OS 7.1 앱을 만듭니다.

    Windows Phone OS 7.1 기능만 사용하고 두 버전 모두에 대해 테스트하는 단일 프로젝트를 만들 수 있습니다. 이러한 방법은 "최소 공분모 접근 방식"이라고 합니다. 이 접근 방식에서는 앱에서 Windows Phone 8 에 제공되는 향상된 기능이나 새로운 기능을 사용할 수 없습니다.

  • 버전마다 별도의 앱 복사본을 만듭니다.

    서로 다른 버전을 대상으로 하는 별도의 프로젝트를 만들 수 있습니다. 이 접근 방식에서는 앱에 대해 두 개의 별도 버전을 유지 관리하기 어려울 뿐만 아니라, 두 위치에서 수행되는 모든 업데이트를 복제하기 어렵습니다.

  • 공용 코드의 클래스 라이브러리를 공유하는 앱의 두 복사본을 만듭니다.

    동일한 솔루션에 두 개의 프로젝트를 만들고 공용 코드를 공유 클래스 라이브러리 프로젝트로 리팩터링할 수 있습니다. 클래스 라이브러리 프로젝트는 Windows Phone OS 7.1 을 대상으로 해야 합니다. 이 방법을 사용하면 공유 클래스 라이브러리가 Windows Phone 8 에 제공되는 향상된 기능이나 새로운 기능을 사용할 수 없습니다.

  • 앱에 대해 연결된 소스 코드 파일을 공유하는 두 개의 복사본을 만듭니다.

    동일한 솔루션에서 소스 코드를 공유하는 두 개의 프로젝트를 만들 수 있습니다. 그런 다음 코드에서 조건부 컴파일 상수를 사용하여 Windows Phone 8 에 새로 도입된 앱 기능을 격리할 수 있습니다.

이 항목에는 다음 단원이 포함되어 있습니다.

 

Windows Phone 8 및 Windows Phone OS 7.1 둘 다에서 실행되는 앱이나 게임을 만드는 가장 쉬운 방법은 Windows Phone OS 7.1 을 대상으로 하는 앱을 만들고 두 버전에 대해 이 앱을 테스트하는 것입니다. 하지만 이 앱은 Windows Phone 8 에 도입된 새로운 기능이나 API를 사용할 수 없습니다.

Windows Phone 8 및 Windows Phone OS 7.1 에서 실행되는 단일 Windows Phone OS 7.1 앱을 만들려면

  1. Windows Phone SDK 8.0 을 사용하여 Windows Phone OS 7.1 을 대상으로 하는 앱을 만듭니다.

  2. Windows Phone SDK 8.0 에 제공된 Windows Phone OS 7.1 에뮬레이터를 사용하여 앱을 테스트합니다. 또한 Windows Phone OS 7.1 단말기에 앱을 배포하고 테스트합니다.

  3. Windows Phone SDK 8.0 에 제공된 Windows Phone 8 에뮬레이터를 사용하여 앱을 테스트합니다. 또한 Windows Phone 8 단말기에 앱을 배포하고 테스트합니다.

또 다른 접근 방식은 Windows Phone OS 7.1 을 대상으로 하는 라이브러리 프로젝트에 공통 논리를 포함하는 것입니다. 그런 다음 Windows Phone OS 7.1 및 Windows Phone 8 앱 프로젝트 둘 다에서 이 라이브러리 프로젝트를 참조합니다.

Windows Phone 8 및 Windows Phone OS 7.1 둘 다에서 실행되는 앱이나 게임을 만드는 또 다른 방법은 Windows Phone OS 7.1 을 대상으로 하는 앱을 만들고 Windows Phone 8 버전의 동일한 앱을 만드는 것입니다. 각 앱은 Visual Studio 에서 별도의 프로젝트에 있으며, 각 프로젝트는 별도로 유지 관리됩니다. 이 접근 방식은 별도의 앱 복사본에서 기능을 향상시켜야 하므로 코드 재사용이 유용하지 않습니다.

Windows Phone 8 및 Windows Phone OS 7.1 에 대해 별도의 복사본을 만들려면

  1. Windows Phone SDK 8.0 을 사용하여 Windows Phone OS 7.1 을 대상으로 하는 앱을 만듭니다.

  2. 파일 시스템에서 앱 프로젝트의 복사본을 만듭니다.

  3. Visual Studio 에서 복사본을 열고 프로젝트를 Windows Phone 8 로 업그레이드합니다. 자세한 내용은 앱 프로젝트를 Windows Phone 8로 업그레이드하는 방법을 참조하세요.

  4. 각 앱 복사본을 별도로 개발, 테스트 및 유지 관리합니다. 단, Visual Studio 에서 두 프로젝트를 단일 솔루션으로 결합할 수 있습니다.

공용 클래스 라이브러리를 공유하는 두 프로젝트를 만들 수 있습니다. 이 솔루션을 사용하면 중복된 코드가 줄어듭니다. 그러나 클래스 라이브러리 프로젝트가 Windows Phone OS 7.1 을 대상으로 해야 하므로 공유 클래스 라이브러리는 Windows Phone 8 의 향상된 기능이나 새 기능을 사용할 수 없습니다.

공용 코드의 클래스 라이브러리를 공유하는 앱의 두 복사본을 만들려면

  1. Windows Phone SDK 8.0 을 사용하여 Windows Phone OS 7.1 을 대상으로 하는 앱을 만들거나 엽니다.

    경우에 따라 동일한 솔루션에서 만들 Windows Phone 8 프로젝트와 구분되도록 Windows Phone OS 7.1 프로젝트의 이름을 지정하거나 바꿉니다. 예를 들어 이름을 SharedLibraryApp에서 SharedLibraryApp.WP71로 바꿀 수 있습니다.

  2. Visual Studio 의 동일한 솔루션에서 Windows Phone OS 7.1 을 대상으로 하는 새 Windows Phone 클래스 라이브러리 프로젝트를 추가합니다.

  3. 앱 프로젝트에서 새 클래스 라이브러리 프로젝트에 대한 참조를 추가합니다.

  4. 원본 앱 프로젝트에서 가능한 많은 코드를 클래스 라이브러리로 리팩터링합니다.

  5. Visual Studio 의 동일한 솔루션에서 Windows Phone 8 을 대상으로 하는 새 앱 프로젝트를 추가합니다.

  6. 새 앱 프로젝트에서 공유 클래스 라이브러리 프로젝트에 대한 참조를 추가합니다.

코드를 공유하는 연결된 두 개의 프로젝트를 만들고 조건부 컴파일을 사용하여 버전별 섹션을 격리할 수 있습니다. 이 솔루션을 사용하면 중복을 최소화하고 일관성을 확보할 수 있으며, 유지 관리 작업이 수월해집니다.

연결된 소스 코드 파일을 공유하는 두 개의 앱 복사본을 만들려면

  1. Windows Phone SDK 8.0 을 사용하여 Windows Phone OS 7.1 을 대상으로 하는 앱을 만들거나 엽니다.

    경우에 따라 동일한 솔루션에서 만들 Windows Phone 8 프로젝트와 구분되도록 Windows Phone OS 7.1 프로젝트의 이름을 지정하거나 바꿉니다. 예를 들어 이름을 MultiVersionApp에서 MultiVersionApp71로 바꿀 수 있습니다.

  2. 파일 탐색기에서 동일한 솔루션 폴더에 프로젝트 복사본을 만듭니다.

  3. 파일 탐색기에서 새 프로젝트의 폴더 및 프로젝트 파일의 이름을 MultiVersionApp80으로 바꿉니다.

  4. Visual Studio 의 솔루션 탐색기에서 솔루션을 마우스 오른쪽 버튼으로 클릭합니다. 상황에 맞는 메뉴에서 추가를 선택한 다음 기존 프로젝트를 선택합니다.

  5. 기존 프로젝트 추가 대화 상자에서 새 프로젝트 MultiVersionApp80을 찾습니다. 프로젝트를 선택하고 열기를 클릭합니다.

    솔루션에 프로젝트가 추가됩니다.

  6. 솔루션 탐색기에서 MultiVersionApp80 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Windows Phone 8.0으로 업그레이드를 선택합니다.

    프로젝트가 업그레이드됩니다. 이제 솔루션에는 Windows Phone OS 7.1 을 대상으로 하는 앱 복사본과 Windows Phone 8 을 대상으로 하는 앱 복사본이 포함됩니다. 다음 단계에서는 코드를 공유합니다.

  7. 솔루션 탐색의 Windows Phone 8 프로젝트에서 프로젝트 간에 공유할 파일을 삭제합니다. 예를 들어 XAML 페이지 및 해당 코드 숨김 파일을 공유할 수 있습니다. 두 버전에 대해 이미지 해상도가 올바른 경우 JPG 및 PNG 그래픽도 공유할 수 있습니다.

  8. Windows Phone 8 프로젝트에서 프로젝트 간 공유할 Windows Phone OS 7.1 프로젝트의 파일에 연결합니다. 두 가지 방법 중 하나를 사용하여 파일을 링크로 추가할 수 있습니다.

    • Windows Phone 8 프로젝트에서 연결할 각 파일에 대해 프로젝트를 마우스 오른쪽 버튼으로 클릭한 후 추가를 선택합니다. 기존 항목을 선택합니다. 기존 항목 추가 대화 상자에서 파일을 선택합니다. 추가 버튼 옆의 화살표를 클릭하여 링크로 추가를 선택합니다. 이 방법을 사용하면 한 번에 여러 파일을 연결할 수 있습니다.

      -또는-

    • Windows Phone OS 7.1 프로젝트에서 연결할 파일을 선택합니다. Alt 키를 누른 상태에서 파일을 Windows Phone 8 프로젝트로 끌어옵니다. 링크가 추가됨을 나타내도록 마우스 포인터가 바뀝니다. 왼쪽 마우스 버튼을 놓습니다. 이 방법을 사용하면 한 번에 하나의 파일만 연결할 수 있습니다.

    다음 그림에 표시된 대로 파일이 연결되었음을 나타내는 아이콘과 함께 파일에 대한 링크가 프로젝트에 추가됩니다.

    Solution Explorer with linked source code files
  9. 코드에서 #define 지시문을 사용하거나 프로젝트 디자이너의 빌드 페이지에서 조건부 컴파일 기호를 정의합니다. 예를 들어 Windows Phone 8 프로젝트에서 WP8을 정의합니다.

  10. 공유 코드 파일에서 조건부 컴파일 지시문(예: #if WP8 … #endif)을 사용하여 Windows Phone 8 에 도입된 새 기능을 사용하는 코드 섹션을 격리합니다.

  11. 적합한 Windows Phone 버전에 해당하는 에뮬레이터 및 단말기에서 각 프로젝트를 테스트 및 디버깅합니다.

표시: