diff --git a/.gitignore b/.gitignore
index 35fdc253c..962e3aa35 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,15 +1,13 @@
-*.pidb
+*.stamp
+bin
+obj
+Newtonsoft.Json.*
+NUnit.*
+Xamarin.UITest*
+Xamarin.TestCloud.Agent.*
+MonoGame.Framework.*
+Zlib.Portable*
+FSharp.Data.*
+CocosSharp.PCL*
*.userprefs
-*.swp
-*.DS_Store
-*.nib
-*.suo
-
-packages/
-[Bb]uild/
-*/bin/*
-*/obj/*
-*/*/bin/*
-*/*/obj/*
-*/*/*/bin/*
-*/*/*/obj/*
+packages
diff --git a/GameCenterSample/GameCenterSample/Info.plist b/GameCenterSample/GameCenterSample/Info.plist
index abd56cd2b..e701dcb43 100644
--- a/GameCenterSample/GameCenterSample/Info.plist
+++ b/GameCenterSample/GameCenterSample/Info.plist
@@ -17,5 +17,7 @@
Icon-Small
Icon-Small@2x
+ MinimumOSVersion
+ 9.0
diff --git a/GrowRowTable/GrowRowTable/Info.plist b/GrowRowTable/GrowRowTable/Info.plist
index 4c8bc0d6b..a4a56531d 100644
--- a/GrowRowTable/GrowRowTable/Info.plist
+++ b/GrowRowTable/GrowRowTable/Info.plist
@@ -13,7 +13,7 @@
LSRequiresIPhoneOS
MinimumOSVersion
- 9.2
+ 9.0
UIDeviceFamily
1
diff --git a/Makefile b/Makefile
new file mode 100644
index 000000000..9d970c449
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,273 @@
+NEED_COMPONENT_OR_EXTRA_RESOURCES = \
+ ./BindingSample/src/sample/Xamarin.XMBindingLibrarySample/Xamarin.XMBindingLibrarySample.sln \
+ ./FileSystemSampleCode/WorkingWithTheFileSystem.sln \
+ ./HelloComponents/HelloComponents.sln \
+ ./intro-to-extensions/ContainerApp.sln \
+ ./BouncingGameCompleteiOS/BouncingGame.sln \
+ ./BouncingGameEmptyiOS/BouncingGame.sln \
+ ./LocalNotifications/Notifications.sln \
+ ./WatchKit/WatchKitCatalog/WatchKitCatalog.sln \
+ ./watchOS/WatchKitCatalog/WatchKitCatalog.sln \
+ ./WalkingGameCompleteiOS/WalkingGame.sln \
+ ./WalkingGameEmptyiOS/WalkingGame.sln \
+ ./PassKit/PassLibrary/PassLibrary.sln
+
+TVOS_SOLUTIONS = \
+ ./tvos/Hello-tvOS/Hello-tvOS.sln \
+ ./tvos/tvAlerts/tvAlerts.sln \
+ ./tvos/tvButtons/tvButtons.sln \
+ ./tvos/tvCollection/tvCollection.sln \
+ ./tvos/tvNavBars/tvNavBars.sln \
+ ./tvos/tvPages/tvPages.sln \
+ ./tvos/tvProgress/tvProgress.sln \
+ ./tvos/tvRemote/tvRemote.sln \
+ ./tvos/tvSplit/tvSplit.sln \
+ ./tvos/tvStackView/tvStackView.sln \
+ ./tvos/UICatalog/UICatalog.sln
+
+DEVICE_SOLUTIONS = \
+ ./ios8/MetalTexturedQuad/MetalTexturedQuad.sln \
+ ./ios8/MetalBasic3D/MetalBasic3D.sln \
+ ./ios9/MetalPerformanceShadersHelloWorld/MetalPerformanceShadersHelloWorld.sln \
+ ./ios8/MetalImageProcessing/MetalImageProcessing.sln
+
+SOLUTIONS = \
+ ./AirLocate/AirLocate.sln \
+ ./ApplicationFundamentals/Touch_final/Touch1.sln \
+ ./ApplicationFundamentals/Touch_start/Touch_start.sln \
+ ./AppPrefs/AppPrefs.sln \
+ ./AQTapDemo/AQTapDemo.sln \
+ ./AsyncDownloadImage/AsyncDownloadImage.sln \
+ ./AudioConverterFileConverter/AudioConverterFileConverter.sln \
+ ./AudioGenerator/AudioGenerator.sln \
+ ./AudioQueueOfflineRenderDemo/AudioQueueOfflineRenderDemo.sln \
+ ./AudioTapProcessor/AudioTapProcessor.sln \
+ ./AUSoundTriggeredPlayingSoundMemoryBased/AUSoundTriggeredPlayingSoundMemoryBased.sln \
+ ./AVCaptureFrames/av-capture-frames.sln \
+ ./AVCompositionDebugVieweriOS/AVCompositionDebugViewerIOS.sln \
+ ./AVCustomEdit/AVCustomEdit.sln \
+ ./AVTouchSample/avTouch.sln \
+ ./BackgroundExecution/BackgroundExecution.sln \
+ ./ButtonEventDemo/ButtonEventDemo.sln \
+ ./ButtonTapper3000/ButtonTapper3000.sln \
+ ./Calendars/Calendars.sln \
+ ./Chat/Chat/Chat.sln \
+ ./Chat/Chat.sln \
+ ./CircleLayout/CircleLayout.sln \
+ ./CollectionViewTransition/CollectionViewTransition.sln \
+ ./Controls/Controls.sln \
+ ./CoreAnimation/CoreAnimation.sln \
+ ./CoreImage/coreimage.sln \
+ ./CoreLocation/CoreLocation.sln \
+ ./CoreMidiSample/CoreMidiSample.sln \
+ ./CoreTelephonyDemo/CoreTelephonyDemo.sln \
+ ./CreatingTabbedApplications/InitalScreenDemo/InitalScreenDemo.sln \
+ ./CreatingTabbedApplications/TabbedApplication/TabbedApplication.sln \
+ ./CustomCollectionViewLayoutAttributes/CustomCollectionViewLayoutAttributes.sln \
+ ./CustomInputStream/InputStreamTest.sln \
+ ./CustomPropertyAnimation/CustomPropertyAnimation.sln \
+ ./Data/Data.sln \
+ ./DesignerWalkthrough/DesignerWalkthrough.sln \
+ ./DispatchSourceExamples/DispatchSourceExamples.sln \
+ ./Drawing/Drawing.sln \
+ ./DynamicsCatalog/DynamicsCatalog.sln \
+ ./FontList/FontList.sln \
+ ./FrogScroller/FrogScroller.sln \
+ ./GameCenterSample/GameCenterSample.sln \
+ ./GLCameraRipple/GLCameraRipple.sln \
+ ./GLPaint-GameView/GLPaint-GameView.sln \
+ ./GraphicsAndAnimation/CoreAnimation/AnimationSamples.sln \
+ ./GraphicsAndAnimation/CoreGraphics/CoreGraphicsSamples.sln \
+ ./GraphicsAndAnimation/GraphicsWalkthrough/GraphicsDemo_Finished/GraphicsDemo_finished.sln \
+ ./GraphicsAndAnimation/GraphicsWalkthrough/GraphicsDemo_starter/GraphicsDemo_starter.sln \
+ ./GrowRowTable/GrowRowTable.sln \
+ ./Hello_ComplexUniversal/Hello_ComplexUniversal.sln \
+ ./Hello_iOS/Hello.iOS/Hello.iOS.sln \
+ ./Hello_iOS/Hello.iOS_MultiScreen/Hello.iOS_MultiScreen.sln \
+ ./Hello_iPad/Hello_iPad.sln \
+ ./Hello_MultiScreen_iPhone/Hello_MultiScreen_iPhone.sln \
+ ./Hello_Universal/Hello_Universal.sln \
+ ./HelloWorld_iPhone/HelloWorld_iPhone.sln \
+ ./HomeKit/HomeKitIntro/HomeKitIntro.sln \
+ ./HttpClient/HttpClient.sln \
+ ./ImageProtocol/ImageProtocol.sln \
+ ./InfColorPicker/InfColorPickerBinding/InfColorPickerBinding.sln \
+ ./IntroductionToiCloud/iCloudKeyValue/iCloudKeyValue.sln \
+ ./IntroductionToiCloud/iCloudUIDoc/iCloudUIDoc.sln \
+ ./IntroToAppearance/Appearance.sln \
+ ./IntroToiOS7/ExclusionPathDemo/ExclusionPathDemo.sln \
+ ./IntroToiOS7/TransitionDemos/CustomTransitionDemo/CustomTransitionDemo.sln \
+ ./IntroToiOS7/TransitionDemos/InteractiveTransitionLayout/InteractiveTransitionLayout.sln \
+ ./IntroToiOS7/TransitionDemos/NavigationControllerTransitions/LayoutWithNavController.sln \
+ ./IntroToiOS7/UIKitDynamicsDemo/UIKitDynamicsDemo.sln \
+ ./IntroToiOS7/ViewAnimations/ViewAnimations.sln \
+ ./iOS7-ui-updates/ImageView.sln \
+ ./ios7fonts/ios7fonts.sln \
+ ./ios8/AdaptivePhotos/AdaptivePhotos.sln \
+ ./ios8/BracketStripes/BracketStripes.sln \
+ ./ios8/CloudCaptions/CloudCaptions.sln \
+ ./ios8/CloudKitAtlas/CloudKitAtlas.sln \
+ ./ios8/CSSceneKit/CSSceneKit.sln \
+ ./ios8/DocPicker/DocPicker.sln \
+ ./ios8/DynamicLaunchScreen/DynamicLaunchScreen.sln \
+ ./ios8/ExtensionsDemo/ExtensionsDemo.sln \
+ ./ios8/Fit/Fit.sln \
+ ./ios8/Footprint/Footprint.sln \
+ ./ios8/FSSceneKit/FSSceneKit.sln \
+ ./ios8/HelloGoodbye/HelloGoodbye.sln \
+ ./ios8/ImageInverter/ImageInverter.sln \
+ ./ios8/IntroToHealthKit/HKWork.sln \
+ ./ios8/KannadaKeyboard/KannadaKeyboard.sln \
+ ./ios8/KeychainTouchID/KeychainTouchID.sln \
+ ./ios8/Lister/Lister.sln \
+ ./ios8/LookInside/LookInside.sln \
+ ./ios8/MonkeyBrowser/MonkeyBrowse.sln \
+ ./ios8/MotionActivityDemo/MotionActivityDemo.sln \
+ ./ios8/NewBox/NewBox.sln \
+ ./ios8/PeoplePicker/PeoplePicker.sln \
+ ./ios8/PhotoFilter/PhotoFilter.sln \
+ ./ios8/PhotoHandoff/PhotoHandoff.sln \
+ ./ios8/QuickContacts/QuickContacts.sln \
+ ./ios8/SceneKitFSharp/FSSceneKit.sln \
+ ./ios8/SceneKitVehicle/SceneKitVehicle.sln \
+ ./ios8/Share/Share.sln \
+ ./ios8/SingleWordKeyboard/SingleWordKeyboard.sln \
+ ./ios8/TableSearch/TableSearch.sln \
+ ./ios8/ToastModern/ToastModern.sln \
+ ./ios8/UICatalog/UICatalog.sln \
+ ./ios8/UIKitEnhancements/UIKitEnhancements.sln \
+ ./ios8/VideoTimeLine/VideoTimeLine.sln \
+ ./ios9/ApplicationShortcuts/ApplicationShortcuts.sln \
+ ./ios9/AstroLayout/AstroLayout.sln \
+ ./ios9/CollectionView/CollectionView.sln \
+ ./ios9/Emporium/Emporium.sln \
+ ./ios9/FourInARow/FourInARow.sln \
+ ./ios9/Fox/Fox.sln \
+ ./ios9/HomeKitCatalog/HomeKitCatalog.sln \
+ ./ios9/MultiTask/MultiTask.sln \
+ ./ios9/MusicMotion/MusicMotion.sln \
+ ./ios9/PhotoProgress/PhotoProgress.sln \
+ ./ios9/PictureInPicture/PictureInPicture.sln \
+ ./ios9/SamplePhotoApp/SamplePhotoApp.sln \
+ ./ios9/SegueCatalog/SegueCatalog.sln \
+ ./ios9/StackView/StackView.sln \
+ ./ios9/StickyCorners/StickyCorners.sln \
+ ./ios9/TouchCanvas/TouchCanvas.sln \
+ ./ios9/ViewControllerPreview/ViewControllerPreview.sln \
+ ./Keychain/Keychain.sln \
+ ./KeyValueObserving/kvo.sln \
+ ./LazyTableImages/LazyTableImages.sln \
+ ./LazyTableImagesAsync/LazyTableImages.sln \
+ ./LifecycleDemo/LifecycleDemo.sln \
+ ./LineLayout/LineLayout.sln \
+ ./Location/Location.sln \
+ ./LowLevelGLPaint/LowLevelGLPaint.sln \
+ ./ManualCameraControls/ManualCameraControls.sln \
+ ./ManualStoryboard/ManualStoryboard.sln \
+ ./ManualStoryboard/Storyboard.Conditional/Storyboard.Conditional.sln \
+ ./MapCallouts/MapCallouts.sln \
+ ./MapDemo/MapDemo.sln \
+ ./MapDemo/MapsWalkthroughComplete/MapDemo.sln \
+ ./MapKitSearch/MapKitSearch.sln \
+ ./MediaCapture/MediaCapture.sln \
+ ./MediaNotes/MediaNotes.sln \
+ ./MidiTest/MidiTest.sln \
+ ./MonoCatalog-MonoDevelop/monocatalog.sln \
+ ./MonoDevelopTouchCells/MonoDevelopTouchCells.sln \
+ ./MotionGraphs/MotionGraphs.sln \
+ ./MoviePlayback/MoviePlayback.sln \
+ ./MTDJsonDemo/MTDJsonDemo.sln \
+ ./MTDReflectionWalkthrough/MTDReflectionWalkthrough.sln \
+ ./MTDWalkthrough/MTDWalkthrough.sln \
+ ./MTGKTapper/MTGKTapper.sln \
+ ./MultichannelMixer/MultichannelMixer.sln \
+ ./Newsstand/Newsstand.sln \
+ ./Notifications/Notifications.sln \
+ ./NSZombieApocalypse/NSZombieApocalypse.sln \
+ ./OpenGL/OpenGL.sln \
+ ./OpenGLESSample/OpenGLESSample.sln \
+ ./OpenGLESSample-GameView/OpenGLESSample-GameView.sln \
+ ./OpenGLScroller/OpenGLScroller.sln \
+ ./PaintCode/PaintCodeDemo/PaintCode.sln \
+ ./PinchIt/PinchIt.sln \
+ ./PokerNightVoting/PokerNightVoting.sln \
+ ./Popovers/Popovers.sln \
+ ./PrintBanner/PrintBanner.sln \
+ ./PrintSample/print.sln \
+ ./PrivacyPrompts/PrivacyPrompts/PrivacyPrompts_Classic.sln \
+ ./Protocols_Delegates_Events/Protocols_Delegates_Events.sln \
+ ./QRchestra/QRchestra.sln \
+ ./QuartzSample/QuartzSample.sln \
+ ./Quotes/Quotes.sln \
+ ./ReachabilitySample/reachability.sln \
+ ./RecipesAndPrinting/RecipesAndPrinting.sln \
+ ./RegionDefiner/RegionDefiner.sln \
+ ./RosyWriter/RosyWriter.sln \
+ ./Rotation/HandlingRotation.sln \
+ ./ScratchTicket/ScratchTicket.sln \
+ ./SearchDemo/SearchDemo.sln \
+ ./SharedResources/SharedResources.sln \
+ ./SimpleBackgroundFetch/SimpleBackgroundFetch.sln \
+ ./SimpleBackgroundTransfer/SimpleBackgroundTransfer.sln \
+ ./SimpleCollectionView/SimpleCollectionView.sln \
+ ./SimpleDrillDown/SimpleDrillDown.sln \
+ ./SimpleLogin/CodeOnlyProject.sln \
+ ./SimpleTextInput/SimpleTextInput.sln \
+ ./SocialFrameworkDemo/SocialFrameworkDemo.sln \
+ ./Sound/Sound.sln \
+ ./SoZoomy/SoZoomy.sln \
+ ./SplitView/SplitView.sln \
+ ./SpriteKit/SpriteKit.sln \
+ ./SpriteKitPhysicsCollisions/SpriteKitPhysicsCollisions.sln \
+ ./SpriteTour/SpriteTour.sln \
+ ./Stars/Stars.sln \
+ ./StateRestoration/StateRestoration.sln \
+ ./StoreKit/Consumables/Consumables.sln \
+ ./StoreKit/HostedNonConsumables/HostedNonConsumables.sln \
+ ./StoreKit/NonConsumables/NonConsumables.sln \
+ ./StoreKit/ProductView/ProductView.sln \
+ ./StoryboardTable/StoryboardTable.sln \
+ ./StoryboardTable_LocalAuthentication/StoryboardTableLocalAuthentication.sln \
+ ./StreamingAudio/StreamingAudio.sln \
+ ./SysSound/SysSound.sln \
+ ./Tabbed_Images/Tabbed_Images.sln \
+ ./TableEditing/TableEditing.sln \
+ ./TableParts/TableParts.sln \
+ ./TextKitDemo/TextKitDemo.sln \
+ ./ThreadedCoreData/ThreadedCoreData.sln \
+ ./TicTacToe/TicTacToe.sln \
+ ./Touch/Touch.sln \
+ ./Touches_Classic/Touches_Classic.sln \
+ ./Touches_GestureRecognizers/Touches_GestureRecognizers.sln \
+ ./Transitioning_To_Xcode_4/Transitioning_To_Xcode_4.sln \
+ ./TransitionsDemo/TransitionsDemo.sln \
+ ./UIImageEffects/UIImageEffects.sln \
+ ./ViewTransitions/ViewTransitions.sln \
+ ./WatchKit/GettingStarted/GettingStarted.sln \
+ ./WatchKit/GpsWatch/GpsWatch.sln \
+ ./WatchKit/WatchLocalization/WatchL10n.sln \
+ ./WatchKit/WatchNotifications/WatchNotifications.sln \
+ ./WatchKit/WatchTables/WatchTables.sln \
+ ./WayUpSample/WayUp.sln \
+ ./WeatherMap/WeatherMap.sln \
+ ./Working_with_images/Working_with_images.sln \
+ ./WorkingWithImages/WorkingWithImages.sln \
+ ./WorldCities/WorldCities.sln \
+ ./ZoomingPdfViewer/ZoomingPdfViewer.sln
+
+TARGETS = $(patsubst %.sln,%.stamp,$(SOLUTIONS))
+
+
+%.stamp: %.sln
+ @if test x$(V) = x; then echo [XBUILD] $<; xbuild $< > /dev/null; else xbuild $<; fi && touch $@
+
+
+all: prep.stamp $(TARGETS)
+
+clean:
+ -rm $(TARGETS)
+ -rm prep.stamp
+
+prep.stamp:
+ for f in `find . -name 'packages.config'`; do (echo "Preparing NuGet dependencies in $$f"; cd `dirname $$f`; nuget install) done
+ touch prep.stamp
diff --git a/README.md b/README.md
index f85774cb1..70bd2380a 100644
--- a/README.md
+++ b/README.md
@@ -27,11 +27,14 @@ The Apache License 2.0 applies to all samples in this repository.
Samples Layout
==============
-iOS 8 samples
--------------
-Starting with iOS 8, we started adding samples that showcase specific features
-introduced in a release into a directory for the release. So all the new
-iOS 8 feature samples live in the ios8 directory.
+Version Specific Samples
+------------------------
+
+Starting with iOS 8, we started adding samples that showcase specific
+features introduced in a release into a directory for the release. So
+all the new iOS 8 feature samples live in the ios8 directory, and the
+iOS 9 features live in the ios9 directory.
+
WatchKit
--------
diff --git a/WatchKit/WatchTables/WatchTablesExtension/Info.plist b/WatchKit/WatchTables/WatchTablesExtension/Info.plist
index 39290d2e2..4b3d0fc32 100644
--- a/WatchKit/WatchTables/WatchTablesExtension/Info.plist
+++ b/WatchKit/WatchTables/WatchTablesExtension/Info.plist
@@ -32,5 +32,7 @@
RemoteInterfacePrincipleClass
InterfaceController
+ MinimumOSVersion
+ 8.2
diff --git a/ios8/CSSceneKit/CSSceneKit.sln b/ios8/CSSceneKit/CSSceneKit.sln
index 07e7ffbb7..0496804ea 100644
--- a/ios8/CSSceneKit/CSSceneKit.sln
+++ b/ios8/CSSceneKit/CSSceneKit.sln
@@ -3,8 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSSceneKit", "CSSceneKit\CSSceneKit.csproj", "{88A47856-D987-404E-82BF-2CEDE8451FFA}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSSceneKit.UITests", "CSSceneKit.UITests\CSSceneKit.UITests.csproj", "{6C0E8864-B053-4988-8509-ED552AF85595}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|iPhoneSimulator = Debug|iPhoneSimulator
diff --git a/ios8/CSSceneKit/CSSceneKit/AppDelegate.cs b/ios8/CSSceneKit/CSSceneKit/AppDelegate.cs
index ebcaa0792..7be96c611 100644
--- a/ios8/CSSceneKit/CSSceneKit/AppDelegate.cs
+++ b/ios8/CSSceneKit/CSSceneKit/AppDelegate.cs
@@ -22,7 +22,6 @@ public override bool FinishedLaunching (UIApplication application, NSDictionary
// Code to start the Xamarin Test Cloud Agent
#if ENABLE_TEST_CLOUD
- Xamarin.Calabash.Start();
#endif
return true;
diff --git a/ios8/ImageInverter/ImageInverter/Info.plist b/ios8/ImageInverter/ImageInverter/Info.plist
index 4ec756fc8..f243e0c59 100644
--- a/ios8/ImageInverter/ImageInverter/Info.plist
+++ b/ios8/ImageInverter/ImageInverter/Info.plist
@@ -13,7 +13,7 @@
LSRequiresIPhoneOS
MinimumOSVersion
- 8.0
+ 9.0
UIDeviceFamily
1
diff --git a/ios8/ImageInverter/ImageInverterExt/Info.plist b/ios8/ImageInverter/ImageInverterExt/Info.plist
index 205f304c0..b28aa3829 100644
--- a/ios8/ImageInverter/ImageInverterExt/Info.plist
+++ b/ios8/ImageInverter/ImageInverterExt/Info.plist
@@ -53,5 +53,7 @@
XSAppIconAssets
Resources/Images.xcassets/AppIcon.appiconset
+ MinimumOSVersion
+ 9.0
diff --git a/ios8/NewBox/NBox/Info.plist b/ios8/NewBox/NBox/Info.plist
index bbb6ca7f3..52c387a48 100644
--- a/ios8/NewBox/NBox/Info.plist
+++ b/ios8/NewBox/NBox/Info.plist
@@ -43,5 +43,7 @@
NSExtensionPointIdentifier
com.apple.fileprovider-ui
+ MinimumOSVersion
+ 9.0
diff --git a/ios8/NewBox/NBoxFileProvider/Info.plist b/ios8/NewBox/NBoxFileProvider/Info.plist
index 07a393b1b..8f3c48a73 100644
--- a/ios8/NewBox/NBoxFileProvider/Info.plist
+++ b/ios8/NewBox/NBoxFileProvider/Info.plist
@@ -31,5 +31,7 @@
NSExtensionPrincipalClass
FileProvider
+ MinimumOSVersion
+ 9.0
diff --git a/ios8/SceneKitFSharp/FSSceneKit/Info.plist b/ios8/SceneKitFSharp/FSSceneKit/Info.plist
index 19c10289c..e950666cc 100644
--- a/ios8/SceneKitFSharp/FSSceneKit/Info.plist
+++ b/ios8/SceneKitFSharp/FSSceneKit/Info.plist
@@ -14,5 +14,7 @@
Icon
Icon@2x
+ MinimumOSVersion
+ 9.0
diff --git a/ios8/Share/ShareExtension/Info.plist b/ios8/Share/ShareExtension/Info.plist
index 9875aff02..b39b79d6e 100644
--- a/ios8/Share/ShareExtension/Info.plist
+++ b/ios8/Share/ShareExtension/Info.plist
@@ -49,5 +49,7 @@
NSExtensionPointIdentifier
com.apple.share-services
+ MinimumOSVersion
+ 9.0
diff --git a/ios9/AstroLayout/AstroLayout/Info.plist b/ios9/AstroLayout/AstroLayout/Info.plist
index e17f55a85..aa0a6e363 100644
--- a/ios9/AstroLayout/AstroLayout/Info.plist
+++ b/ios9/AstroLayout/AstroLayout/Info.plist
@@ -23,5 +23,7 @@
1
2
+ MinimumOSVersion
+ 9.0