1

MonoTouch と iOS6 シミュレーターで UIDocumentInteractionController を使用しています。iOS6 デバイスでは、コードの半分が機能します。ただし、iOS5 シミュレーター/デバイスではまったく機能しません。これは、サンプル プロジェクトでテストするために作成したサンプル クラスです。

using System;
using MonoTouch.UIKit;
using MonoTouch.Foundation;

namespace DocumentThing
{
    public class MyViewController : UIViewController
    {
        UIDocumentInteractionController documentInteractionController1;
        UIDocumentInteractionController documentInteractionController2;
        UIBarButtonItem leftButton;
        UIBarButtonItem rightButton;

        public MyViewController()
        {

        }

        public override void ViewDidLoad()
        {
            View.BackgroundColor = UIColor.White;

            leftButton = new UIBarButtonItem(UIBarButtonSystemItem.Action, null, null);
            leftButton.Clicked += delegate(object sender, EventArgs e)
            {
                InvokeOnMainThread(delegate {
                    documentInteractionController1 = new UIDocumentInteractionController();
                    documentInteractionController1.Url = NSUrl.FromFilename(@"testpdf.pdf");
                    documentInteractionController1.PresentOpenInMenu(View.Frame, View, true);
                });
            };
            NavigationItem.LeftBarButtonItem = leftButton;


            rightButton = new UIBarButtonItem(UIBarButtonSystemItem.Action, null, null);
            rightButton.Clicked += delegate(object sender, EventArgs e)
            {
                InvokeOnMainThread(delegate {
                    documentInteractionController2 = new UIDocumentInteractionController();
                    documentInteractionController2.Url = NSUrl.FromFilename(@"testpdf.pdf");
                    documentInteractionController2.PresentOptionsMenu(View.Frame, View, true);
                });
            };
            NavigationItem.RightBarButtonItem = rightButton;
        }
    }
}

PresentOptionsMenu は iOS6 では正常に動作しますが、iOS5 では動作せず、PresentOptionInMenu は iOS5 と iOS6 の両方で失敗します。これが iOS5/6 SDK/シミュレーターのバグなのか、MonoTouch のバグなのかは不明です。この問題をさらにデバッグする方法がわかりません...

提案?

4

1 に答える 1

1

私自身の質問に答える...

iOS5が搭載されたデバイスでPDFを開くものがあるかどうかを確認しましたか?iBooksはデフォルトでインストールされておらず、iOSはSafariをPDFリーダーとして使用するとは考えていないことを忘れないでください。

于 2012-11-19T06:38:37.340 に答える