2011-07-06 2 views
2

Windows Phone 7 응용 프로그램을 개발하는 도우미 클래스 집합 인 클래스 라이브러리가 있습니다.Windows Phone 전화 번호 응용 프로그램에서 사용하는 기능

이 라이브러리에있는 핵심 도우미 클래스 중 하나는 위치 서비스 기능을 제공하는 책임이 있으므로 ILocationWatcher 및 System.Device에 대한 참조를 사용합니다.

마켓 플레이스에서 앱을 제출 한 후이 헬퍼 클래스 (즉, LocationWatcher가 시작되지 않음)를 사용하지 않아도 내 앱에서 사용하는 기능 중 하나 인 "위치 서비스"가 표시됩니다.

나는 마켓 플레이스가이를 감지하고, 프로젝트 내의 모든 코드와 라이브러리를 분석하고 있다고 생각합니다.

어떻게하면이 동작을 무시할 수 있습니까?

답변

5

능력은 xap을 시장에 제출할 때 정적 분석을 사용하여 감지됩니다.

어셈블리 System.Device을 참조하고 네임 스페이스 System.Device.Location을 사용하면 위치 기능이보고됩니다.

XAP의 모든 어셈블리가 분석됩니다. 제 3 자로부터 얻은 정보도 있습니다.

시장에서 기능을보고하지 않으려면 탐지를 트리거하는 참조를 제거하십시오.
이 점을 염두에두고 공유 라이브러리/공통 라이브러리/코드를 구조화하는 방법을 고려할 수 있습니다.

+0

다른 말로하면, 도서관에서 위치 도우미를 분리하는 것 이외의 방법으로 그것을 덮어 쓰는 것이 절대적으로 필요하다는 말입니까? –

+0

예를 들어, "이 코드는이 앱에서 사용되지 않습니다"라고 말할 방법이 없습니다. 앱에서 앱을 제거하는 것 이외의 방법입니다. –

-1

나는 코드를 분석한다고는 생각하지 않습니다. 오히려 매니페스트의 기능 섹션을 사용하여 필요한 항목을 결정합니다.

http://msdn.microsoft.com/en-us/library/ff769509(v=vs.92).aspx#BKMK_Capabilities

응용 프로그램의 매니페스트 ID_CAP_LOCATION 포함되어 있습니까 : 현재 해당 섹션에 대한 자세한 내용을 배울 수 있습니까? 그럴 경우 사용하지 않고 안전하게 제거 할 수 있습니다.

+0

xap을 마켓 플레이스에 제출하면 모든 기능이 감지됩니다. 매니 페스트에 입력 한 값은 무시됩니다. 테스트/디버깅 할 때만 유용합니다. –

+0

허, 그게 나 한테 놀랍다. 내 얼굴에 계란! – vcsjones

1

free capability detection tool supplied with the second Mango SDK beta으로 사용 된 기능을 확인할 수 있습니다. WMAppManifest.xml에서 위치를 정의하지 않고 위치를 사용하면 사용자는 "액세스 거부"메시지를 받게되고 앱은 UnauthorizedAccessException을 던집니다. Afaik에는이 행동을 피할 수있는 방법이 없습니다. 보안 기능으로 사용자가 응용 프로그램을 설치하기 전에 경고하여 시장에서 응용 프로그램에서 사용할 기능을 확인할 수 있습니다.

+0

+1 능력 탐지 도구, thnx –

관련 문제