For iPad Air 2 or an iPad mini 4, we can use all three of the different multi-tasking features (Split View, Slide over & Picture in Picture).
For iPad Air, iPad mini 2, or iPad mini 3, we can use Slide Over and Picture in Picture. Is there a way we can detect these devices from the code? Like say, using respondsToSelector:someMultitaskingmethod
?
Check if an iPad is capable of multitasking feature in iOS 9 - Programatically
965 views Asked by Siddharthan Asokan At
1
There are 1 answers
Related Questions in IPAD
- pcap to Avro on Hadoop
- schedule and automate sqoop import/export tasks
- How to diagnose Kafka topics failing globally to be found
- Only 32 bit available in Oracle VM - Hadoop Installation
- Using HDFS with Apache Spark on Amazon EC2
- How to get raw hadoop metrics
- How to output multiple values with the same key in reducer?
- Loading chararray from embedded JSON using Pig
- Oozie Pig action stuck in PREP state and job is in RUNNING state
- InstanceProfile is required for creating cluster - create python function to install module
Related Questions in IOS9
- pcap to Avro on Hadoop
- schedule and automate sqoop import/export tasks
- How to diagnose Kafka topics failing globally to be found
- Only 32 bit available in Oracle VM - Hadoop Installation
- Using HDFS with Apache Spark on Amazon EC2
- How to get raw hadoop metrics
- How to output multiple values with the same key in reducer?
- Loading chararray from embedded JSON using Pig
- Oozie Pig action stuck in PREP state and job is in RUNNING state
- InstanceProfile is required for creating cluster - create python function to install module
Related Questions in MULTITASKING-GESTURES
- pcap to Avro on Hadoop
- schedule and automate sqoop import/export tasks
- How to diagnose Kafka topics failing globally to be found
- Only 32 bit available in Oracle VM - Hadoop Installation
- Using HDFS with Apache Spark on Amazon EC2
- How to get raw hadoop metrics
- How to output multiple values with the same key in reducer?
- Loading chararray from embedded JSON using Pig
- Oozie Pig action stuck in PREP state and job is in RUNNING state
- InstanceProfile is required for creating cluster - create python function to install module
Related Questions in SPLIT-SCREEN-MULTITASKING
- pcap to Avro on Hadoop
- schedule and automate sqoop import/export tasks
- How to diagnose Kafka topics failing globally to be found
- Only 32 bit available in Oracle VM - Hadoop Installation
- Using HDFS with Apache Spark on Amazon EC2
- How to get raw hadoop metrics
- How to output multiple values with the same key in reducer?
- Loading chararray from embedded JSON using Pig
- Oozie Pig action stuck in PREP state and job is in RUNNING state
- InstanceProfile is required for creating cluster - create python function to install module
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Device Compatibility
If you really want to make sure your device has specific compatibility you can examine the settings over on the Device Compatibility list. This will reveal a number of keys that you can add to your app's plist which will further restrict it to devices that support required features. Together with checking for available classes mentioned below, I think would provide a good matrix for what you want to accomplish.
A quick review of the WWDC video covering the features you want to support indicate that you will need to check for the iPad Air, iPad Air2, iPad mini 2 and 3. You can take a look at the screen sizes in combination with the idioms and class availability to ensure that you target only the devices you want. IOSRES has a good matrix of these screen sizes ~ accessed by
UIScreen.mainScreen()
.Another option would be to examine using a TraitCollection to identify the proper device models/capabilities. These include properties such as displayScale and forceTouchCapability. One can even construct one's own trait collection to further describe a unique environment.
Basic Approach
Checking for devices alone is probably not what you want to do. Instead you should check for the capability available on the iOS platform and some combination of the device idioms/traits collection. You could then compare whether the method is available using responds to selector.
Check the updated SDKs or the Frameworks for more info on picture in picture (basically the new methods do all of the legwork and tell you whether the device will support the feature). Another precursor to running the methods is to determine if you can instantiate the new classes.
You can also investigate options for examining specific hardware within the platform. See this example from Apple.
If you know that the features you are targeting are available at specific platform levels, you can test the operation system version number (Apple Example).
This article shows how to support multiple OS and devices in great detail.
Example of testing for a class being available:
Example of testing a method being available:
Adopting Multi-Tasking, Split View, & Slide Over
Apple details the specifics on how to adopt the new behaviors. These require setup of plists and other requirements above and beyond checking for classes and the other programmatic techniques above. There is a good example of how to adopt Slide Over and Split View, download the Lister (for watchOS, iOS, and OS X) sample code project. For a Picture-In-Picture sample look at the AVFoundationPiPPlayer.The AdaptivePhotos sample includes multitasking with iPad.