Skip to content

SceneKit macOS xcode9 beta4

Sebastien Pouliot edited this page Jul 24, 2017 · 1 revision

#SceneKit.framework

diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/ModelIO.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/ModelIO.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/ModelIO.h	2017-06-29 21:31:34.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/ModelIO.h	2017-07-13 20:49:44.000000000 -0400
@@ -14,63 +14,63 @@
  */
 
 @interface SCNScene (SCNModelIO)
-+ (instancetype)sceneWithMDLAsset:(MDLAsset *)mdlAsset NS_AVAILABLE(10_11, 9_0);
++ (instancetype)sceneWithMDLAsset:(MDLAsset *)mdlAsset API_AVAILABLE(macos(10.11), ios(9.0));
 @end
 
 @interface MDLAsset (SCNModelIO)
-+ (instancetype)assetWithSCNScene:(SCNScene *)scnScene NS_AVAILABLE(10_11, 9_0);
-+ (instancetype)assetWithSCNScene:(SCNScene *)scnScene bufferAllocator:(nullable id <MDLMeshBufferAllocator>)bufferAllocator NS_AVAILABLE(10_12, 10_0);
++ (instancetype)assetWithSCNScene:(SCNScene *)scnScene API_AVAILABLE(macos(10.11), ios(9.0));
++ (instancetype)assetWithSCNScene:(SCNScene *)scnScene bufferAllocator:(nullable id <MDLMeshBufferAllocator>)bufferAllocator API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0));
 @end
 
 @interface SCNNode (SCNModelIO)
-+ (instancetype)nodeWithMDLObject:(MDLObject *)mdlObject NS_AVAILABLE(10_11, 9_0);
++ (instancetype)nodeWithMDLObject:(MDLObject *)mdlObject API_AVAILABLE(macos(10.11), ios(9.0));
 @end
 
 @interface MDLObject (SCNModelIO)
-+ (instancetype)objectWithSCNNode:(SCNNode *)scnNode NS_AVAILABLE(10_11, 9_0);
-+ (instancetype)objectWithSCNNode:(SCNNode *)scnNode bufferAllocator:(nullable id <MDLMeshBufferAllocator>)bufferAllocator NS_AVAILABLE(10_12, 10_0);
++ (instancetype)objectWithSCNNode:(SCNNode *)scnNode API_AVAILABLE(macos(10.11), ios(9.0));
++ (instancetype)objectWithSCNNode:(SCNNode *)scnNode bufferAllocator:(nullable id <MDLMeshBufferAllocator>)bufferAllocator API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0));
 @end
 
 @interface SCNGeometry (SCNModelIO)
-+ (instancetype)geometryWithMDLMesh:(MDLMesh *)mdlMesh NS_AVAILABLE(10_11, 9_0);
++ (instancetype)geometryWithMDLMesh:(MDLMesh *)mdlMesh API_AVAILABLE(macos(10.11), ios(9.0));
 @end
 
 @interface MDLMesh (SCNModelIO)
-+ (instancetype)meshWithSCNGeometry:(SCNGeometry *)scnGeometry NS_AVAILABLE(10_11, 9_0);
-+ (instancetype)meshWithSCNGeometry:(SCNGeometry *)scnGeometry bufferAllocator:(nullable id <MDLMeshBufferAllocator>)bufferAllocator NS_AVAILABLE(10_12, 10_0);
++ (instancetype)meshWithSCNGeometry:(SCNGeometry *)scnGeometry API_AVAILABLE(macos(10.11), ios(9.0));
++ (instancetype)meshWithSCNGeometry:(SCNGeometry *)scnGeometry bufferAllocator:(nullable id <MDLMeshBufferAllocator>)bufferAllocator API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0));
 @end
 
 @interface SCNGeometryElement (SCNModelIO)
-+ (instancetype)geometryElementWithMDLSubmesh:(MDLSubmesh *)mdlSubMesh NS_AVAILABLE(10_11, 9_0);
++ (instancetype)geometryElementWithMDLSubmesh:(MDLSubmesh *)mdlSubMesh API_AVAILABLE(macos(10.11), ios(9.0));
 @end
 
 @interface MDLSubmesh (SCNModelIO)
-+ (instancetype)submeshWithSCNGeometryElement:(SCNGeometryElement *)scnGeometryElement NS_AVAILABLE(10_11, 9_0);
-+ (instancetype)submeshWithSCNGeometryElement:(SCNGeometryElement *)scnGeometryElement bufferAllocator:(nullable id <MDLMeshBufferAllocator>)bufferAllocator NS_AVAILABLE(10_12, 10_0);
++ (instancetype)submeshWithSCNGeometryElement:(SCNGeometryElement *)scnGeometryElement API_AVAILABLE(macos(10.11), ios(9.0));
++ (instancetype)submeshWithSCNGeometryElement:(SCNGeometryElement *)scnGeometryElement bufferAllocator:(nullable id <MDLMeshBufferAllocator>)bufferAllocator API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0));
 @end
 
 @interface SCNMaterial (SCNModelIO)
-+ (instancetype)materialWithMDLMaterial:(MDLMaterial *)mdlMaterial NS_AVAILABLE(10_11, 9_0);
++ (instancetype)materialWithMDLMaterial:(MDLMaterial *)mdlMaterial API_AVAILABLE(macos(10.11), ios(9.0));
 @end
 
 @interface MDLMaterial (SCNModelIO)
-+ (instancetype)materialWithSCNMaterial:(SCNMaterial *)scnMaterial NS_AVAILABLE(10_11, 9_0);
++ (instancetype)materialWithSCNMaterial:(SCNMaterial *)scnMaterial API_AVAILABLE(macos(10.11), ios(9.0));
 @end
 
 @interface SCNLight (SCNModelIO)
-+ (instancetype)lightWithMDLLight:(MDLLight *)mdlLight NS_AVAILABLE(10_11, 9_0);
++ (instancetype)lightWithMDLLight:(MDLLight *)mdlLight API_AVAILABLE(macos(10.11), ios(9.0));
 @end
 
 @interface MDLLight (SCNModelIO)
-+ (instancetype)lightWithSCNLight:(SCNLight *)scnLight NS_AVAILABLE(10_11, 9_0);
++ (instancetype)lightWithSCNLight:(SCNLight *)scnLight API_AVAILABLE(macos(10.11), ios(9.0));
 @end
 
 @interface SCNCamera (SCNModelIO)
-+ (instancetype)cameraWithMDLCamera:(MDLCamera *)mdlCamera NS_AVAILABLE(10_11, 9_0);
++ (instancetype)cameraWithMDLCamera:(MDLCamera *)mdlCamera API_AVAILABLE(macos(10.11), ios(9.0));
 @end
 
 @interface MDLCamera (SCNModelIO)
-+ (instancetype)cameraWithSCNCamera:(SCNCamera *)scnCamera NS_AVAILABLE(10_11, 9_0);
++ (instancetype)cameraWithSCNCamera:(SCNCamera *)scnCamera API_AVAILABLE(macos(10.11), ios(9.0));
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNAction.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNAction.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNAction.h	2017-06-29 02:21:40.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNAction.h	2017-07-14 19:26:21.000000000 -0400
@@ -1,7 +1,7 @@
 //
 //  SCNAction.h
 //
-//  Copyright (c) 2014-2015 Apple, Inc. All rights reserved.
+//  Copyright (c) 2014-2017 Apple, Inc. All rights reserved.
 //
 
 #import <Foundation/Foundation.h>
@@ -25,60 +25,60 @@
  @method runAction:
  @abstract Adds an action to the list of actions executed by the node.
  */
-- (void)runAction:(SCNAction *)action NS_AVAILABLE(10_10, 8_0);
+- (void)runAction:(SCNAction *)action API_AVAILABLE(macos(10.10));
 
 /*!
  @method runAction:completionHandler:
  @abstract Adds an action to the list of actions executed by the node. Your block is called when the action completes.
  */
-- (void)runAction:(SCNAction *)action completionHandler:(nullable void (^)(void))block NS_AVAILABLE(10_10, 8_0);
+- (void)runAction:(SCNAction *)action completionHandler:(nullable void (^)(void))block API_AVAILABLE(macos(10.10));
 
 /*!
  @method runAction:forKey:
  @abstract Adds an identifiable action to the list of actions executed by the node.
  */
-- (void)runAction:(SCNAction *)action forKey:(nullable NSString *)key NS_AVAILABLE(10_10, 8_0);
+- (void)runAction:(SCNAction *)action forKey:(nullable NSString *)key API_AVAILABLE(macos(10.10));
 
 /*!
  @method runAction:forKey:completionHandler:
  @abstract Adds an identifiable action to the list of actions executed by the node. Your block is called when the action completes.
  */
-- (void)runAction:(SCNAction *)action forKey:(nullable NSString *)key completionHandler:(nullable void (^)(void))block NS_AVAILABLE(10_10, 8_0);
+- (void)runAction:(SCNAction *)action forKey:(nullable NSString *)key completionHandler:(nullable void (^)(void))block API_AVAILABLE(macos(10.10));
 
 /*!
  @property hasActions
  @abstract Returns a Boolean value that indicates whether the node is executing actions.
  */
-@property(nonatomic, readonly) BOOL hasActions NS_AVAILABLE(10_10, 8_0);
+@property(nonatomic, readonly) BOOL hasActions API_AVAILABLE(macos(10.10));
 
 /*!
  @method actionForKey:
  @abstract Returns an action associated with a specific key.
  */
-- (nullable SCNAction *)actionForKey:(NSString *)key NS_AVAILABLE(10_10, 8_0);
+- (nullable SCNAction *)actionForKey:(NSString *)key API_AVAILABLE(macos(10.10));
 
 /*!
  @method removeActionForKey:
  @abstract Removes an action associated with a specific key.
  */
-- (void)removeActionForKey:(NSString *)key NS_AVAILABLE(10_10, 8_0);
+- (void)removeActionForKey:(NSString *)key API_AVAILABLE(macos(10.10));
 
 /*!
  @method removeAllActions
  @abstract Ends and removes all actions from the node.
  */
-- (void)removeAllActions NS_AVAILABLE(10_10, 8_0);
+- (void)removeAllActions API_AVAILABLE(macos(10.10));
 
 /*!
  @property actionKeys
  @abstract Returns an array containing the keys of all actions currently attached to the receiver.
  */
-@property(nonatomic, readonly) NSArray<NSString *> *actionKeys NS_AVAILABLE(10_10, 8_0);
+@property(nonatomic, readonly) NSArray<NSString *> *actionKeys API_AVAILABLE(macos(10.10));
 
 @end
 
 
-NS_CLASS_AVAILABLE(10_10, 8_0)
+API_AVAILABLE(macos(10.10))
 @interface SCNAction : NSObject <NSCopying, NSSecureCoding>
 
 /*!
@@ -136,16 +136,16 @@
 + (SCNAction *)scaleTo:(CGFloat)scale duration:(NSTimeInterval)sec;
 
 //Creates an action that runs a collection of actions sequentially.
-+ (SCNAction *)sequence:(NSArray<SCNAction *> *)actions;
++ (nullable SCNAction *)sequence:(NSArray<SCNAction *> *)actions;
 
 //Creates an action that runs a collection of actions in parallel.
-+ (SCNAction *)group:(NSArray<SCNAction *> *)actions;
++ (nullable SCNAction *)group:(NSArray<SCNAction *> *)actions;
 
 //Creates an action that repeats another action a specified number of times.
-+ (SCNAction *)repeatAction:(SCNAction *)action count:(NSUInteger)count;
++ (nullable SCNAction *)repeatAction:(SCNAction *)action count:(NSUInteger)count;
 
 //Creates an action that repeats another action forever.
-+ (SCNAction *)repeatActionForever:(SCNAction *)action;
++ (nullable SCNAction *)repeatActionForever:(SCNAction *)action;
 
 //Creates an action that changes the opacity value of the node to 1.0
 + (SCNAction *)fadeInWithDuration:(NSTimeInterval)sec;
@@ -160,10 +160,10 @@
 + (SCNAction *)fadeOpacityTo:(CGFloat)opacity duration:(NSTimeInterval)sec;
 
 //Creates an action that hides a node
-+ (SCNAction *)hide NS_AVAILABLE(10_11, 9_0);
++ (SCNAction *)hide API_AVAILABLE(macos(10.11), ios(9.0));
 
 //Creates an action that unhides a node
-+ (SCNAction *)unhide NS_AVAILABLE(10_11, 9_0);
++ (SCNAction *)unhide API_AVAILABLE(macos(10.11), ios(9.0));
 
 //Creates an action that idles for a specified period of time.
 + (SCNAction *)waitForDuration:(NSTimeInterval)sec;
@@ -189,7 +189,7 @@
  @param wait If YES, then the duration of this action is the same
  as the length of the audio playback. If NO, the action is considered
  to have completed immediately.*/
-+ (SCNAction *)playAudioSource:(SCNAudioSource *)source waitForCompletion:(BOOL)wait NS_AVAILABLE(10_11, 9_0);
++ (SCNAction *)playAudioSource:(SCNAudioSource *)source waitForCompletion:(BOOL)wait API_AVAILABLE(macos(10.11), ios(9.0));
 
 @end
 
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNAnimation.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNAnimation.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNAnimation.h	2017-06-29 21:31:35.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNAnimation.h	2017-07-14 05:00:35.000000000 -0400
@@ -96,7 +96,7 @@
  @param key The identifier for the animation to remove.
  @param duration The fade out duration used to remove the animation.
  */
-- (void)removeAnimationForKey:(NSString *)key fadeOutDuration:(CGFloat)duration API_DEPRECATED_WITH_REPLACEMENT("-removeAnimationForKey:blendOutDuration:", macos(10.10, 10.13), ios(8.0, 11.0), tvos(9.0, 11.0));
+- (void)removeAnimationForKey:(NSString *)key fadeOutDuration:(CGFloat)duration API_DEPRECATED_WITH_REPLACEMENT("-removeAnimationForKey:blendOutDuration:", macos(10.10, 10.13), ios(8.0, 11.0), tvos(9.0, 11.0), watchos(3.0, 4.0));
 
 /*!
  @method animationForKey:
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNCamera.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNCamera.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNCamera.h	2017-06-29 21:31:34.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNCamera.h	2017-07-13 20:49:44.000000000 -0400
@@ -343,14 +343,14 @@
  @abstract Determines the receiver's aperture. Animatable.
  @discussion Defaults to 1/8.0.
  */
-@property(nonatomic) CGFloat aperture  API_DEPRECATED("Use -[SCNCamera fStop] instead with fStop = sensorHeight / aperture.", macos(10.8, 10.13), ios(8.0, 11.0), tvos(9.0, 11.0), watchos(3.0, 4.0));
+@property(nonatomic) CGFloat aperture API_DEPRECATED("Use -[SCNCamera fStop] instead with fStop = sensorHeight / aperture.", macos(10.8, 10.13), ios(8.0, 11.0), tvos(9.0, 11.0), watchos(3.0, 4.0));
 
 /*!
  @property focalSize
  @abstract Determines the receiver's focal size. Animatable.
  @discussion Determines the size of the area around focalDistance where the objects are in focus. Defaults to 0.
  */
-@property(nonatomic) CGFloat focalSize API_DEPRECATED_WITH_REPLACEMENT("-focalDistance", macos(10.9, 10.13), ios(8.0, 11.0), tvos(9.0, 11.0), watchos(3.0, 4.0));
+@property(nonatomic) CGFloat focalSize API_DEPRECATED_WITH_REPLACEMENT("-focusDistance", macos(10.9, 10.13), ios(8.0, 11.0), tvos(9.0, 11.0), watchos(3.0, 4.0));
 
 /*!
  @property focalDistance
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNCameraController.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNCameraController.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNCameraController.h	2017-06-29 01:16:06.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNCameraController.h	2017-07-13 20:49:44.000000000 -0400
@@ -61,12 +61,23 @@
 // Returns YES if inertia is running.
 @property(nonatomic, readonly, getter = isInertiaRunning) BOOL inertiaRunning;
 
-// Maximum vertical view angle in degree for Fly mode and Turntable.
-// A value of 0 indicates no angle locking. Default to 0.
+// Minimum and maximum vertical view angles in degree for Fly mode and Turntable.
+// The angle constraints is not enforced if both vertical angle properties values are set to 0.
+// The angle constraints will not be enforced if the initial orientation is outside the given range.
+// The minimum angle must be inferior to the maximum angle.
+// Angles are in world space and between the range [-90, 90].
+// Default value is 0.
+// For example: set to minimum to 0 and maximum to 90 to only allow orbit around the top hemisphere.
+@property(nonatomic, assign) float minimumVerticalAngle;
 @property(nonatomic, assign) float maximumVerticalAngle;
 
-// Maximum horizontal view angle in degree for Fly mode and Turntable.
-// A value of 0 indicates no angle locking. Default to 0.
+// Minimum and maximum horizontal view angles in degree for Fly mode and Turntable.
+// The angle constraints is not enforced if both horizontal angle properties values are set to 0.
+// The angle constraints will not be enforced if the initial orientation is outside the given range.
+// The minimum angle must be inferior to the maximum angle.
+// Angles are in world space and between the range [-180, 180].
+// Default value is 0.
+@property(nonatomic, assign) float minimumHorizontalAngle;
 @property(nonatomic, assign) float maximumHorizontalAngle;
 
 // Translate the camera along the local X/Y/Z axis.
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNConstraint.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNConstraint.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNConstraint.h	2017-06-29 21:31:35.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNConstraint.h	2017-07-14 19:18:12.000000000 -0400
@@ -23,7 +23,7 @@
  @property enable
  @abstract Determines whether the constraint is enabled or not. Defaults to YES.
  */
-@property(nonatomic, getter = isEnabled) BOOL enabled NS_AVAILABLE(10_10, 8_0);
+@property(nonatomic, getter = isEnabled) BOOL enabled API_AVAILABLE(macos(10.10));
 
 /*!
  @property influenceFactor
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNGeometry.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNGeometry.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNGeometry.h	2017-06-29 02:21:40.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNGeometry.h	2017-07-14 19:26:22.000000000 -0400
@@ -172,14 +172,14 @@
 /*!
  @property subdivisionLevel
  @abstract Specifies the subdivision level of the receiver. Defaults to 0.
- @discussion A subdivision level of 0 means no subdivision. When a SCNGeometrySubdivisionSurfaceTessellator is set the subdivision is done on the GPU and the receiver's subdivisionLevel is added to the tessellator's subdivisionLevel.
+ @discussion A subdivision level of 0 means no subdivision. When the `tessellator` property of the receiver is not nil, the refinement is done on the GPU.
  */
 @property(nonatomic) NSUInteger subdivisionLevel API_AVAILABLE(macos(10.10));
 
 /*!
  @property wantsAdaptiveSubdivision
- @abstract Specifies if the subdivision is adaptive or uniform. Defaults to NO.
- @discussion Setting wantsAdaptiveSubdivision to YES doesn't ensure that the subdivision will be adaptive. Adaptive subdivision are only supported by some topologies (quads only).
+ @abstract Specifies if the subdivision is adaptive or uniform. Defaults to YES.
+ @discussion Adaptive subdivision requires that the `tessellator` property of the receiver is not nil.
  */
 @property (nonatomic) BOOL wantsAdaptiveSubdivision API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
 
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNHitTest.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNHitTest.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNHitTest.h	2017-06-29 03:07:25.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNHitTest.h	2017-07-13 20:49:44.000000000 -0400
@@ -17,7 +17,7 @@
     SCNHitTestSearchModeClosest = 0, // The closest object found.
     SCNHitTestSearchModeAll     = 1, // All found objects sorted from nearest to farthest.
     SCNHitTestSearchModeAny     = 2  // The first object found. This object is not necessarily the nearest.
-} API_AVAILABLE(macos(10.13), ios(12.0), tvos(12.0), watchos(4.0));
+} API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
 
 /*! @group Hit-test options */
 
@@ -34,7 +34,7 @@
 FOUNDATION_EXTERN SCNHitTestOption const SCNHitTestRootNodeKey;                                                                            // Specifies the root node to use for the hit test. Defaults to the root node of the scene.
 FOUNDATION_EXTERN SCNHitTestOption const SCNHitTestIgnoreHiddenNodesKey  API_AVAILABLE(macos(10.9));                                       // Determines whether hidden nodes should be ignored. Defaults to YES.
 FOUNDATION_EXTERN SCNHitTestOption const SCNHitTestOptionCategoryBitMask API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0));               // Determines the node categories to test. Defaults to all bits set.
-FOUNDATION_EXTERN SCNHitTestOption const SCNHitTestOptionSearchMode      API_AVAILABLE(macos(10.13), ios(12.0), tvos(12.0), watchos(4.0)); // Determines whether the search should be exhaustive. Defaults to SCNHitTestSearchModeClosest.
+FOUNDATION_EXTERN SCNHitTestOption const SCNHitTestOptionSearchMode      API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0)); // Determines whether the search should be exhaustive. Defaults to SCNHitTestSearchModeClosest.
 
 FOUNDATION_EXTERN SCNHitTestOption const SCNHitTestFirstFoundOnlyKey;                                                                      // Deprecated, use SCNHitTestSearchModeAny for the SCNHitTestOptionSearchMode option instead
 FOUNDATION_EXTERN SCNHitTestOption const SCNHitTestSortResultsKey;                                                                         // Deprecated, use SCNHitTestSearchModeAll for the SCNHitTestOptionSearchMode option instead
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNLayer.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNLayer.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNLayer.h	2017-06-29 21:31:35.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNLayer.h	2017-07-13 20:49:44.000000000 -0400
@@ -16,7 +16,7 @@
  @abstract A SCNLayer is a layer that can display a SCNScene. 
  */
 
-API_UNAVAILABLE(ios, watchos, tvos)
+API_UNAVAILABLE(ios, tvos, watchos)
 @interface SCNLayer : CAOpenGLLayer <SCNSceneRenderer, SCNTechniqueSupport>
 
 /*! 
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNLight.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNLight.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNLight.h	2017-06-29 21:31:34.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNLight.h	2017-07-13 20:49:44.000000000 -0400
@@ -256,6 +256,13 @@
  */
 @property(nonatomic) NSUInteger categoryBitMask API_AVAILABLE(macos(10.10));
 
+/*!
+ @property sphericalHarmonicsCoefficients
+ @abstract The receiver's spherical harmonics coefficients.
+ @discussion Currently spherical harmonics are only supported by light probes (SCNLightTypeProbe). The data is an array of 27 32-bit floating-point values, containing three non-interleaved data sets corresponding to the red, green, and blue sets of coefficients.
+ */
+@property (nonatomic, copy, readonly) NSData *sphericalHarmonicsCoefficients API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
+
 #pragma mark - Deprecated
 
 /*!
@@ -263,7 +270,7 @@
  @param key The key for which to return the corresponding attribute.
  @abstract Returns the attribute for the specified key. The valid keys are described in the "Light Attributes" constants.
  */
-- (nullable id)attributeForKey:(NSString *)key API_DEPRECATED("Use SCNLight properties instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+- (nullable id)attributeForKey:(NSString *)key API_DEPRECATED("Use SCNLight properties instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*!
  @method setAttribute:forKey:
@@ -271,7 +278,7 @@
  @param key The name of a property.
  @abstract Set the specified attribute for the specified key. The valid keys are described in the "Light Attributes" constants.
  */
-- (void)setAttribute:(nullable id)attribute forKey:(NSString *)key API_DEPRECATED("Use SCNLight properties instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+- (void)setAttribute:(nullable id)attribute forKey:(NSString *)key API_DEPRECATED("Use SCNLight properties instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 @end
 
@@ -281,25 +288,25 @@
  @discussion These keys are deprecated in 10.10. Please use the properties of SCNLight instead.
  */
 /*! @constant SCNLightAttenuationStartKey The distance at which the attenuation starts (Omni or Spot light types only). Animatable as "attenuationStart". Defaults to 0. */
-FOUNDATION_EXTERN NSString * const SCNLightAttenuationStartKey API_DEPRECATED("Use SCNLight.attenuationStartDistance instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+FOUNDATION_EXTERN NSString * const SCNLightAttenuationStartKey API_DEPRECATED("Use SCNLight.attenuationStartDistance instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*! @constant SCNLightAttenuationEndKey The distance at which the attenuation ends (Omni or Spot light types only). Animatable as "attenuationEnd". Defaults to 0. */
-FOUNDATION_EXTERN NSString * const SCNLightAttenuationEndKey API_DEPRECATED("Use SCNLight.attenuationEndDistance instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+FOUNDATION_EXTERN NSString * const SCNLightAttenuationEndKey API_DEPRECATED("Use SCNLight.attenuationEndDistance instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*! @constant SCNLightAttenuationFalloffExponentKey Controls the attenuation between the start and end attenuation distances. 0 means a constant attenuation, 1 a linear attenuation and 2 a quadratic attenuation, but any positive value will work (Omni or Spot light types only). Animatable as "attenuationFalloffExponent". Defaults to 2. */
-FOUNDATION_EXTERN NSString * const SCNLightAttenuationFalloffExponentKey API_DEPRECATED("Use SCNLight.attenuationFalloffExponent instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+FOUNDATION_EXTERN NSString * const SCNLightAttenuationFalloffExponentKey API_DEPRECATED("Use SCNLight.attenuationFalloffExponent instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*! @constant SCNLightSpotInnerAngleKey The angle in degrees between the spot direction and the lit element below which the lighting is at full strength. Animatable as "spotInnerAngle". Defaults to 0. */
-FOUNDATION_EXTERN NSString * const SCNLightSpotInnerAngleKey API_DEPRECATED("Use SCNLight.spotInnerAngle instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+FOUNDATION_EXTERN NSString * const SCNLightSpotInnerAngleKey API_DEPRECATED("Use SCNLight.spotInnerAngle instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*! @constant SCNLightSpotOuterAngleKey The angle in degrees between the spot direction and the lit element after which the lighting is at zero strength. Animatable as "spotOuterAngle". Defaults to 45 degrees. */
-FOUNDATION_EXTERN NSString * const SCNLightSpotOuterAngleKey API_DEPRECATED("Use SCNLight.spotOuterAngle instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+FOUNDATION_EXTERN NSString * const SCNLightSpotOuterAngleKey API_DEPRECATED("Use SCNLight.spotOuterAngle instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*! @constant SCNLightShadowNearClippingKey Specifies the minimal distance between the light and the surface to cast shadow on. If a surface is closer to the light than this minimal distance, then the surface won't be shadowed. The near value must be different than zero. Animatable as "zNear". Defaults to 1. */
-FOUNDATION_EXTERN NSString * const SCNLightShadowNearClippingKey API_DEPRECATED("Use SCNLight.zNear instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+FOUNDATION_EXTERN NSString * const SCNLightShadowNearClippingKey API_DEPRECATED("Use SCNLight.zNear instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*! @constant SCNLightShadowFarClippingKey Specifies the maximal distance between the light and a visible surface to cast shadow on. If a surface is further from the light than this maximal distance, then the surface won't be shadowed. Animatable as "zFar". Defaults to 100. */
-FOUNDATION_EXTERN NSString * const SCNLightShadowFarClippingKey API_DEPRECATED("Use SCNLight.zFar instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+FOUNDATION_EXTERN NSString * const SCNLightShadowFarClippingKey API_DEPRECATED("Use SCNLight.zFar instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNNode.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNNode.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNNode.h	2017-06-29 21:31:34.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNNode.h	2017-07-13 20:49:44.000000000 -0400
@@ -673,13 +673,13 @@
 - (simd_float4x4)simdConvertTransform:(simd_float4x4)transform toNode:(nullable SCNNode *)node API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
 - (simd_float4x4)simdConvertTransform:(simd_float4x4)transform fromNode:(nullable SCNNode *)node API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
 
-+ (simd_float3)simdLocalUp API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
-+ (simd_float3)simdLocalRight API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
-+ (simd_float3)simdLocalFront API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
-
-- (simd_float3)simdWorldUp API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
-- (simd_float3)simdWorldRight API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
-- (simd_float3)simdWorldFront API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
+@property (class, readonly, nonatomic) simd_float3 simdLocalUp API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
+@property (class, readonly, nonatomic) simd_float3 simdLocalRight API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
+@property (class, readonly, nonatomic) simd_float3 simdLocalFront API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
+
+@property (readonly, nonatomic) simd_float3 simdWorldUp API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
+@property (readonly, nonatomic) simd_float3 simdWorldRight API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
+@property (readonly, nonatomic) simd_float3 simdWorldFront API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
 
 - (void)simdLookAt:(vector_float3)worldTarget API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
 - (void)simdLookAt:(vector_float3)worldTarget up:(vector_float3)worldUp localFront:(simd_float3)localFront API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNParametricGeometry.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNParametricGeometry.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNParametricGeometry.h	2017-06-29 21:31:35.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNParametricGeometry.h	2017-07-13 20:49:44.000000000 -0400
@@ -647,7 +647,7 @@
  @abstract The number of chamfer subdivisions. Animatable.
  @discussion If the value is less than 1, the behavior is undefined. The default value is 10.
  */
-@property(nonatomic) NSInteger chamferSegmentCount API_DEPRECATED("Use SCNText.chamferProfile instead", macos(10.8, 10.9)) API_UNAVAILABLE(ios, watchos, tvos);
+@property(nonatomic) NSInteger chamferSegmentCount API_DEPRECATED("Use SCNText.chamferProfile instead", macos(10.8, 10.9)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*!
  @property chamferProfile
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNRenderer.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNRenderer.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNRenderer.h	2017-06-29 21:31:35.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNRenderer.h	2017-07-13 20:49:44.000000000 -0400
@@ -61,14 +61,14 @@
  @method updateAtTime:
  @abstract updates the receiver's scene at the specified time (system time).
  */
-- (void)updateAtTime:(CFTimeInterval)time API_AVAILABLE(macos(10.13), ios(11_0), tvos(11_0), watchos(4_0));
+- (void)updateAtTime:(CFTimeInterval)time API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
 
 /*!
  @method renderWithViewport:viewport:commandBuffer:passDescriptor:
  @abstract renders the receiver's scene with the specified viewport, Metal command buffer and pass descriptor.
  @discussion Use this method to render using Metal. This method doesn't update the scene's animations, physics, particles etc... It's up to you to call "updateAtTime:" to update the scene.
  */
-- (void)renderWithViewport:(CGRect)viewport commandBuffer:(id <MTLCommandBuffer>)commandBuffer passDescriptor:(MTLRenderPassDescriptor *)renderPassDescriptor API_AVAILABLE(macos(10.13), ios(11_0), tvos(11_0), watchos(4_0));
+- (void)renderWithViewport:(CGRect)viewport commandBuffer:(id <MTLCommandBuffer>)commandBuffer passDescriptor:(MTLRenderPassDescriptor *)renderPassDescriptor API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0));
 
 /*!
  @property nextFrameTime
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNSceneRenderer.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNSceneRenderer.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNSceneRenderer.h	2017-06-29 21:31:34.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNSceneRenderer.h	2017-07-13 20:49:44.000000000 -0400
@@ -291,7 +291,7 @@
  @abstract Specifies the current time to display the scene.
  @discussion Deprecated, use "sceneTime" instead.
  */
-@property(nonatomic) NSTimeInterval currentTime API_DEPRECATED_WITH_REPLACEMENT("sceneTime", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+@property(nonatomic) NSTimeInterval currentTime API_DEPRECATED_WITH_REPLACEMENT("sceneTime", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 @end
 
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNSceneSource.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNSceneSource.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNSceneSource.h	2017-06-29 01:47:48.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNSceneSource.h	2017-07-14 16:39:06.000000000 -0400
@@ -111,17 +111,17 @@
  @abstract Pass the units you want the scene to be converted to (in meter).
  @discussion Use this with a floating value encapsulated in a NSNumber. The default value is nil which means no conversion done. Passing a non-zero value will convert the scene coordinates so that 1 unit corresponds to N meters. For example pass 0.01 for 1 unit == 1 centimeter, pass 0.3048 for 1 unit == 1 foot...
      For better physics simulation it is recommended to use 1 unit equals to 1 meter.
-     This option has no effect if the asset is already compressed by Xcode (use the compression options instead).
+     This option has no effect for SCN files or if the asset is already compressed by Xcode (use the compression options instead).
  */
-FOUNDATION_EXTERN SCNSceneSourceLoadingOption const SCNSceneSourceConvertUnitsToMetersKey API_AVAILABLE(macos(10.10)) API_UNAVAILABLE(ios, tvos, watchos);
+FOUNDATION_EXTERN SCNSceneSourceLoadingOption const SCNSceneSourceConvertUnitsToMetersKey API_AVAILABLE(macos(10.10), ios(11.0), tvos(11.0), watchos(4.0));
 
 /*!
  @constant SCNSceneSourceConvertToYUpKey
  @abstract Pass YES if a scene should be converted to Y up if it currently has a different up axis.
  @discussion Use this with a boolean value encapsulated in a NSNumber. The default value is NO.
- This option has no effect if the asset is already compressed by Xcode (use the compression options instead).
+ This option has no effect for SCN files or if the asset is already compressed by Xcode (use the compression options instead).
  */
-FOUNDATION_EXTERN SCNSceneSourceLoadingOption const SCNSceneSourceConvertToYUpKey API_AVAILABLE(macos(10.10)) API_UNAVAILABLE(ios, tvos, watchos);
+FOUNDATION_EXTERN SCNSceneSourceLoadingOption const SCNSceneSourceConvertToYUpKey API_AVAILABLE(macos(10.10), ios(11.0), tvos(11.0), watchos(4.0));
 
 /*!
  @constant SCNSceneSourceAnimationImportPolicyKey
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNShadable.h /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNShadable.h
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNShadable.h	2017-06-29 21:31:35.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SCNShadable.h	2017-07-13 20:49:44.000000000 -0400
@@ -338,7 +338,7 @@
  @param programID The program object.
  @param renderer The renderer that is currently rendering the scene.
  */
-- (BOOL)program:(SCNProgram *)program bindValueForSymbol:(NSString *)symbol atLocation:(unsigned int)location programID:(unsigned int)programID renderer:(SCNRenderer *)renderer API_DEPRECATED("Use -[SCNShadable handleBindingOfSymbol:usingBlock:] instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+- (BOOL)program:(SCNProgram *)program bindValueForSymbol:(NSString *)symbol atLocation:(unsigned int)location programID:(unsigned int)programID renderer:(SCNRenderer *)renderer API_DEPRECATED("Use -[SCNShadable handleBindingOfSymbol:usingBlock:] instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*!
  @method program:withID:bindValueForSymbol:atLocation:renderer:
@@ -349,7 +349,7 @@
  @param programID The program object.
  @param renderer The renderer that is currently rendering the scene.
  */
-- (void)program:(SCNProgram *)program unbindValueForSymbol:(NSString *)symbol atLocation:(unsigned int)location programID:(unsigned int)programID renderer:(SCNRenderer *)renderer API_DEPRECATED("Use -[SCNShadable handleUnbindingOfSymbol:usingBlock:] instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+- (void)program:(SCNProgram *)program unbindValueForSymbol:(NSString *)symbol atLocation:(unsigned int)location programID:(unsigned int)programID renderer:(SCNRenderer *)renderer API_DEPRECATED("Use -[SCNShadable handleUnbindingOfSymbol:usingBlock:] instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*!
  @method handleError
@@ -366,7 +366,7 @@
  @param program The queried program.
  @discussion This is deprecated. Use SCNProgram's opaque property instead.
  */
-- (BOOL)programIsOpaque:(SCNProgram *)program API_DEPRECATED("Use SCNProgram.opaque instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, watchos, tvos);
+- (BOOL)programIsOpaque:(SCNProgram *)program API_DEPRECATED("Use SCNProgram.opaque instead", macos(10.8, 10.10)) API_UNAVAILABLE(ios, tvos, watchos);
 
 @end
 
diff -ruN /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SceneKit.apinotes /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SceneKit.apinotes
--- /Applications/Xcode9-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SceneKit.apinotes	2017-06-29 03:08:38.000000000 -0400
+++ /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/SceneKit.framework/Headers/SceneKit.apinotes	2017-07-14 05:00:38.000000000 -0400
@@ -379,6 +379,20 @@
   - Name: SCNVector4FromFloat4
     Availability: available
   Classes:
+  - Name: SCNAction
+    Methods:
+    - Selector: 'sequence:'
+      MethodKind: Class
+      NullabilityOfRet: N
+    - Selector: 'group:'
+      MethodKind: Class
+      NullabilityOfRet: N
+    - Selector: 'repeatAction:count:'
+      MethodKind: Class
+      NullabilityOfRet: N
+    - Selector: 'repeatActionForever:'
+      MethodKind: Class
+      NullabilityOfRet: N
   - Name: SCNGeometry
     Properties:
     - Name: geometrySources
Clone this wiki locally