繁体   English   中英

建议在运行时测试iOS版本特定功能的方法

[英]Recommended way to test for iOS Version specific feature at runtime

我正在使用针对5.0 SDK构建的应用程序来定位IOS 4.3和5.0,并且只有当应用程序在iOS5设备上运行时才想添加对iOS5中引入的Twitter功能的支持。 在运行时可靠地测试这些OS功能的可用性而不会导致应用程序崩溃的推荐方法是什么?

我知道你在Objective-C中使用respondsToSelector来做到这一点,但它是如何在C#中完成的?

使用最近的MonoTouch版本,您可以使用以下代码:

        if (UIDevice.CurrentDevice.CheckSystemVersion (5, 0)) {
            window.RootViewController = navigation;
        } else {
            window.AddSubview (navigation.View);
        }

否则,您可以从UIDevice.CurrentDevice.SystemVersion获取一个string ,并使用您自己的代码进行一些检查。

跟进评论,包括我...

如果您想按功能检查,您可以执行以下操作:

        MonoTouch.Twitter.TWRequest req = new MonoTouch.Twitter.TWRequest ();
        if (req.Handle == IntPtr.Zero) {
            Console.WriteLine ("No Twitter support before iOS5");
        }

发生的事情是创建TWRequest实例的选择器将返回null ,并且.NET对象将以无效(不可用)状态创建,您可以使用Handle属性进行查询。 再次YMMV,测试是关键:-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM