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
984 views Asked by Siddharthan Asokan At
1
There are 1 answers
Related Questions in IPAD
- Google Logging API - What service name to use when writing entries from non-Google application?
- Custom exception message from google endpoints exception
- Unable to connect database of lamp instance from servlet running on tomcat instance of google cloud
- How to launch a Jar file using Spark on hadoop
- Google Cloud Bigtable Durability/Availability Guarantees
- How do I add a startup script to an existing VM from the developer console?
- What is the difference between an Instance and an Instance group
- How do i change files using ftp in google cloud?
- How to update all machines in an instance group on Google Cloud Platform?
- Setting up freeswitch server on Google cloud compute
Related Questions in IOS9
- Google Logging API - What service name to use when writing entries from non-Google application?
- Custom exception message from google endpoints exception
- Unable to connect database of lamp instance from servlet running on tomcat instance of google cloud
- How to launch a Jar file using Spark on hadoop
- Google Cloud Bigtable Durability/Availability Guarantees
- How do I add a startup script to an existing VM from the developer console?
- What is the difference between an Instance and an Instance group
- How do i change files using ftp in google cloud?
- How to update all machines in an instance group on Google Cloud Platform?
- Setting up freeswitch server on Google cloud compute
Related Questions in MULTITASKING-GESTURES
- Google Logging API - What service name to use when writing entries from non-Google application?
- Custom exception message from google endpoints exception
- Unable to connect database of lamp instance from servlet running on tomcat instance of google cloud
- How to launch a Jar file using Spark on hadoop
- Google Cloud Bigtable Durability/Availability Guarantees
- How do I add a startup script to an existing VM from the developer console?
- What is the difference between an Instance and an Instance group
- How do i change files using ftp in google cloud?
- How to update all machines in an instance group on Google Cloud Platform?
- Setting up freeswitch server on Google cloud compute
Related Questions in SPLIT-SCREEN-MULTITASKING
- Google Logging API - What service name to use when writing entries from non-Google application?
- Custom exception message from google endpoints exception
- Unable to connect database of lamp instance from servlet running on tomcat instance of google cloud
- How to launch a Jar file using Spark on hadoop
- Google Cloud Bigtable Durability/Availability Guarantees
- How do I add a startup script to an existing VM from the developer console?
- What is the difference between an Instance and an Instance group
- How do i change files using ftp in google cloud?
- How to update all machines in an instance group on Google Cloud Platform?
- Setting up freeswitch server on Google cloud compute
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.