WMAppManifest.xml

今まであまり意識せずに必要なところだけいじってましたが、「101 Windows Phone 7 Apps, Volume I: Developing Apps 1-50 」を購入し読んでいたところ、結構目から鱗の内容が載っていました。

Android は基本、各パーミッションが閉じられた状態でプロジェクトが生成されますが、Windows Phone はよく使いそう(と思われる?)な項目が許可された状態で生成されます。ですので、各々の意味を理解した上で、最小の構成を自分で判断する必要があります。
(※どうも Dev Center が良いようにやってくれるようなので、自分で編集する必要はないみたいです。)

必要があるといっても、審査で落とされなければ、またはアプリの要件を購入時に気にするユーザのことを考えなければ、さらには自分のための趣味アプリであるならば、全く気にする必要はないと思います。とはいえ、数少ない(と思われる)仕事で作成する機会があるならば、知っておいて損はないはずです。

公式の開発ガイドなどを読んだことがなかったのだがこの手の内容を解説しているページがあったので、リンクを残しておきます。

Windows Phone Dev Center –>Windows Phone のアプリケーション マニフェスト ファイル

色々と興味深い内容が説明されていますが、「Capabilites」の項目について見ていきたいと思います。(ほぼプロジェクト作成時のxmlはこちら

予定データへのアクセス許可とのことなので、 Calenderからデータが取得できるものだと思います。下記のソースを実行すると、実際にカレンダーのデータを取得することができました。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Phone.UserData;
 
namespace PhoneApp10
{
    public partial class MainPage : PhoneApplicationPage
    {
        public MainPage()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Appointments appts = new Appointments();
            appts.SearchCompleted += new EventHandler(Appointments_SearchCompleted);
            DateTime start = DateTime.Now;
            DateTime end = start.AddYears(1);
            int max = -1;
 
            appts.SearchAsync(start, end, max, \"Appointments Test #1\");
        }
 
        void Appointments_SearchCompleted(object sender, AppointmentsSearchEventArgs e)
        {
            listBox1.DataContext = e.Results;
        }
    }
}

Capability から ID_CAP_APPOINTMENTS を削除すると、利用可能なソースがありませんと言われ、アプリケーションが終了します。

カテゴリー: Windows Phone タグ: パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です