Xamarin DevDays Portland - iOS 9

Preview:

Citation preview

github.com/conceptdev/xamarin-‐ios-‐samples

github.com/conceptdev/xamarin-‐forms-‐samples

Craig Dunn Developer Evangelist, Xamarin

craig@xamarin.com conceptdev. blogspot.com

@conceptdev

3D Touch ATS iPad Multitasking Search UI

Peek and Pop Declare Exceptions Split Screen NSUserActivity

Quick Actions HTTPS Slide Over CoreSpotlight Contacts

UIStackView

UICollectionView Pressure Sensitive Opt-‐out Picture in picture Web Markup

3D Touch ATS iPad Multitasking Search UI

Peek and Pop Declare Exceptions Split Screen NSUserActivity

Quick Actions HTTPS Slide Over CoreSpotlight Contacts

UIStackView

UICollectionView Pressure Sensitive Opt-‐out Picture in picture Web Markup

Xamarin.Forms! Xamarin.Forms! Xamarin.Forms! Xamarin.Forms! Xamarin.Forms!

✓ Quick Actions ✓ Peek & Pop ✓ Pressure Sensitivity

✓ HTTPS (﴾with caveats)﴿ ✓ Declare Exceptions ✓ Opt-‐out

Disabling in Info.plist: <key>NSAppTransportSecurity<key>  

<dict>  

       <key>NSExceptionDomains</keys>  

       <dict>  

               <key>www.slightly-­‐secure.com</key>  

               <dict>  

                       <key>NSExceptionMinimumTLSVersion</key>  

                       <string>TLSv1.0</string>  

                       <key>NSExceptionRequiresForwardSecrecy</key>  

                       <false/>  

                       <key>NSExceptionAllowsInsecureHTTPLoads</key>  

                       <true/>  

                       <key>NSIncludesSubdomains</key>  

                       <true/>  

               </dict>  

       </dict>  

</dict>  

✓ ATS enforces secure connections ✓ Affects ModernHttpClient,      NSUrlSession, WebViews ✓ Does not affect Xamarin HttpWebRequest

✓ Slide Over ✓ Split Screen (﴾true multitasking)﴿ ✓ Picture-‐in-‐picture

To support Slide Over or Split View your app must do the following: ●  Be built against iOS 9 (﴾or greater)﴿ ●  Use a Storyboard Launchscreen ●  User interface built with storyboard

using Autolayout and Size Classes (﴾or Xamarin.Forms!)﴿

●  Support all 4 iOS device orientations

✓ CoreSpotlight ✓ NSUserActivity (﴾Handoff & Siri)﴿ ✓ Web Markup

✓ AddressBook deprecated ✓ Contacts (﴾create/edit)﴿ ✓ ContactsUI (﴾read)﴿

✓ STACKS (﴾horizontal & vertical)﴿ ✓ Layout only (﴾no properties)﴿ ✓ Leading/Trailing (﴾not Left/Right)﴿ -‐ great for localization

✓ Right-‐to-‐left support ✓ Including UINavigationController ✓ UIStackView!

UITextAlignment.Natural;    Leading  &  Trailing  v  Left  &  Right  

✓ Re-‐ordering now super-‐easy

CanMoveItem  (view,  index)  MoveItem  (view,  source,  dest)  

✓ Safari-‐in-‐a-‐box

✓ demo

3D Touch ATS iPad Multitasking Search UI

Peek and Pop Declare Exceptions Split Screen NSUserActivity

Quick Actions HTTPS Slide Over CoreSpotlight Contacts

UIStackView

UICollectionView Pressure Sensitive Opt-‐out Picture in picture Web Markup

Xamarin.Forms! Xamarin.Forms! Xamarin.Forms! Xamarin.Forms! Xamarin.Forms!

✓ Quick Actions ✓ Peek & Pop ✓ Pressure Sensitivity

✓ HTTPS (﴾with caveats)﴿ ✓ Declare Exceptions ✓ Opt-‐out

✓ Slide Over ✓ Split Screen (﴾true multitasking)﴿ ✓ Picture-‐in-‐picture

✓ CoreSpotlight ✓ NSUserActivity (﴾Handoff )﴿ ✓ Web Markup

Craig Dunn Developer Evangelist, Xamarin

craig@xamarin.com conceptdev.blogspot.com @conceptdev

Thank you!