SceneKit Changes for Objective-C
SceneKit
ModelIO.h (Added)
Added MDLAsset(SCNModelIO)
Added MDLCamera(SCNModelIO)
Added MDLLight(SCNModelIO)
Added MDLMaterial(SCNModelIO)
Added MDLMesh(SCNModelIO)
Added MDLObject(SCNModelIO)
Added MDLSubmesh(SCNModelIO)
Added SCNCamera(SCNModelIO)
Added SCNGeometry(SCNModelIO)
Added SCNGeometryElement(SCNModelIO)
Added SCNLight(SCNModelIO)
Added SCNMaterial(SCNModelIO)
Added SCNNode(SCNModelIO)
Added SCNScene(SCNModelIO)
SceneKitTypes.h
Added #def SCN_ENABLE_METAL
Modified NSValue.SCNMatrix4Value
| Declaration | |
|---|---|
| From | @property(readonly) SCNMatrix4 SCNMatrix4Value |
| To | @property(nonatomic, readonly) SCNMatrix4 SCNMatrix4Value |
Modified NSValue.SCNVector3Value
| Declaration | |
|---|---|
| From | @property(readonly) SCNVector3 SCNVector3Value |
| To | @property(nonatomic, readonly) SCNVector3 SCNVector3Value |
Modified NSValue.SCNVector4Value
| Declaration | |
|---|---|
| From | @property(readonly) SCNVector4 SCNVector4Value |
| To | @property(nonatomic, readonly) SCNVector4 SCNVector4Value |
SCNAction.h
Removed -[SCNActionable hasActions]
Removed SCNAction(SCNActions)
Added +[SCNAction hide]
Added +[SCNAction unhide]
Added SCNActionable.actionKeys
Added SCNActionable.hasActions
Modified +[SCNAction group:]
| Declaration | |
|---|---|
| From | + (SCNAction *)group:(NSArray *)actions |
| To | + (SCNAction * _Nonnull)group:(NSArray<SCNAction *> * _Nonnull)actions |
Modified +[SCNAction sequence:]
| Declaration | |
|---|---|
| From | + (SCNAction *)sequence:(NSArray *)actions |
| To | + (SCNAction * _Nonnull)sequence:(NSArray<SCNAction *> * _Nonnull)actions |
SCNAnimation.h
Removed -[SCNAnimatable animationKeys]
Modified CAAnimation.animationEvents
| Declaration | |
|---|---|
| From | @property(nonatomic, retain) NSArray *animationEvents |
| To | @property(nonatomic, copy, nullable) NSArray<SCNAnimationEvent *> *animationEvents |
SCNAudioSource.h (Added)
Added SCNAudioPlayer
Added SCNAudioPlayer.audioNode
Added SCNAudioSource
Added -[SCNAudioSource load]
Added SCNAudioSource.loops
Added SCNAudioSource.rate
Added SCNAudioSource.volume
Added SCNNode.audioPlayers
Added SCNNode(SCNAudioSupport)
SCNConstraint.h
Added SCNBillboardConstraint
Added SCNBillboardAxis
Added SCNBillboardAxisAll
Added SCNBillboardAxisX
Added SCNBillboardAxisY
Added SCNBillboardAxisZ
SCNGeometry.h
| Declaration | |
|---|---|
| From | - (NSArray *)geometrySourcesForSemantic:(NSString *)semantic |
| To | - (NSArray<SCNGeometrySource *> * _Nonnull)geometrySourcesForSemantic:(NSString * _Nonnull)semantic |
| Declaration | |
|---|---|
| From | + (instancetype)geometryWithSources:(NSArray *)sources elements:(NSArray *)elements |
| To | + (instancetype _Nonnull)geometryWithSources:(NSArray<SCNGeometrySource *> * _Nonnull)sources elements:(NSArray<SCNGeometryElement *> * _Nonnull)elements |
Modified SCNGeometry.levelsOfDetail
| Declaration | |
|---|---|
| From | @property(nonatomic, copy) NSArray *levelsOfDetail |
| To | @property(nonatomic, copy, nullable) NSArray<SCNLevelOfDetail *> *levelsOfDetail |
Modified SCNGeometry.materials
| Declaration | |
|---|---|
| From | @property(nonatomic, copy) NSArray *materials |
| To | @property(nonatomic, copy, nonnull) NSArray<SCNMaterial *> *materials |
SCNMaterial.h
Added SCNMaterial.blendMode
Added SCNBlendMode
Added SCNBlendModeAdd
Added SCNBlendModeAlpha
Added SCNBlendModeMultiply
Added SCNBlendModeReplace
Added SCNBlendModeScreen
Added SCNBlendModeSubtract
SCNMaterialProperty.h
Added SCNWrapModeClampToBorder
SCNMorpher.h
Modified SCNMorpher.targets
| Declaration | |
|---|---|
| From | @property(nonatomic, copy) NSArray *targets |
| To | @property(nonatomic, copy, nonnull) NSArray<SCNGeometry *> *targets |
SCNNode.h
Modified SCNNode.childNodes
| Declaration | |
|---|---|
| From | @property(nonatomic, readonly) NSArray *childNodes |
| To | @property(nonatomic, readonly, nonnull) NSArray<SCNNode *> *childNodes |
Modified -[SCNNode childNodesPassingTest:]
| Declaration | |
|---|---|
| From | - (NSArray *)childNodesPassingTest:(BOOL (^)(SCNNode *child, BOOL *stop))predicate |
| To | - (NSArray<SCNNode *> * _Nonnull)childNodesPassingTest:(BOOL (^ _Nonnull)(SCNNode * _Nonnull child, BOOL * _Nonnull stop))predicate |
Modified -[SCNNode clone]
| Declaration | |
|---|---|
| From | - (id)clone |
| To | - (instancetype _Nonnull)clone |
Modified SCNNode.constraints
| Declaration | |
|---|---|
| From | @property(copy) NSArray *constraints |
| To | @property(copy, nullable) NSArray<SCNConstraint *> *constraints |
Modified SCNNode.filters
| Declaration | |
|---|---|
| From | @property(nonatomic, copy) NSArray *filters |
| To | @property(nonatomic, copy, nullable) NSArray<CIFilter *> *filters |
Modified -[SCNNode flattenedClone]
| Declaration | |
|---|---|
| From | - (SCNNode *)flattenedClone |
| To | - (instancetype _Nonnull)flattenedClone |
| Declaration | |
|---|---|
| From | - (NSArray *)hitTestWithSegmentFromPoint:(SCNVector3)pointA toPoint:(SCNVector3)pointB options:(NSDictionary *)options |
| To | - (NSArray<SCNHitTestResult *> * _Nonnull)hitTestWithSegmentFromPoint:(SCNVector3)pointA toPoint:(SCNVector3)pointB options:(NSDictionary<NSString *,id> * _Nullable)options |
Modified SCNNode.presentationNode
| Declaration | |
|---|---|
| From | - (SCNNode *)presentationNode |
| To | @property(nonatomic, readonly, nonnull) SCNNode *presentationNode |
| Declaration | |
|---|---|
| From | - (void)renderNode:(SCNNode *)node renderer:(SCNRenderer *)renderer arguments:(NSDictionary *)arguments |
| To | - (void)renderNode:(SCNNode * _Nonnull)node renderer:(SCNRenderer * _Nonnull)renderer arguments:(NSDictionary<NSString *,NSValue *> * _Nonnull)arguments |
SCNParticleSystem.h
Modified SCNNode.particleSystems
| Declaration | |
|---|---|
| From | @property(readonly) NSArray *particleSystems |
| To | @property(readonly, nullable) NSArray<SCNParticleSystem *> *particleSystems |
| Declaration | |
|---|---|
| From | - (void)addModifierForProperties:(NSArray *)properties atStage:(SCNParticleModifierStage)stage withBlock:(SCNParticleModifierBlock)block |
| To | - (void)addModifierForProperties:(NSArray<NSString *> * _Nonnull)properties atStage:(SCNParticleModifierStage)stage withBlock:(SCNParticleModifierBlock _Nonnull)block |
Modified SCNParticleSystem.colliderNodes
| Declaration | |
|---|---|
| From | @property(nonatomic, copy) NSArray *colliderNodes |
| To | @property(nonatomic, copy, nullable) NSArray<SCNNode *> *colliderNodes |
| Declaration | |
|---|---|
| From | - (void)handleEvent:(SCNParticleEvent)event forProperties:(NSArray *)properties withBlock:(SCNParticleEventBlock)block |
| To | - (void)handleEvent:(SCNParticleEvent)event forProperties:(NSArray<NSString *> * _Nonnull)properties withBlock:(SCNParticleEventBlock _Nonnull)block |
| Declaration | |
|---|---|
| From | @property(nonatomic, copy) NSDictionary *propertyControllers |
| To | @property(nonatomic, copy, nullable) NSDictionary<NSString *,SCNParticlePropertyController *> *propertyControllers |
Modified SCNScene.particleSystems
| Declaration | |
|---|---|
| From | @property(readonly) NSArray *particleSystems |
| To | @property(readonly, nullable) NSArray<SCNParticleSystem *> *particleSystems |
SCNPhysicsBehavior.h
| Declaration | |
|---|---|
| From | + (instancetype)vehicleWithChassisBody:(SCNPhysicsBody *)chassisBody wheels:(NSArray *)wheels |
| To | + (instancetype _Nonnull)vehicleWithChassisBody:(SCNPhysicsBody * _Nonnull)chassisBody wheels:(NSArray<SCNPhysicsVehicleWheel *> * _Nonnull)wheels |
Modified SCNPhysicsVehicle.wheels
| Declaration | |
|---|---|
| From | @property(nonatomic, readonly) NSArray *wheels |
| To | @property(nonatomic, readonly, nonnull) NSArray<SCNPhysicsVehicleWheel *> *wheels |
SCNPhysicsBody.h
Modified SCNPhysicsBody.categoryBitMask
| Declaration | |
|---|---|
| From | @property(nonatomic, assign) NSUInteger categoryBitMask |
| To | @property(nonatomic) NSUInteger categoryBitMask |
Modified SCNPhysicsBody.collisionBitMask
| Declaration | |
|---|---|
| From | @property(nonatomic, assign) NSUInteger collisionBitMask |
| To | @property(nonatomic) NSUInteger collisionBitMask |
SCNPhysicsShape.h
| Declaration | |
|---|---|
| From | + (instancetype)shapeWithGeometry:(SCNGeometry *)geometry options:(NSDictionary *)options |
| To | + (instancetype _Nonnull)shapeWithGeometry:(SCNGeometry * _Nonnull)geometry options:(NSDictionary<NSString *,id> * _Nullable)options |
| Declaration | |
|---|---|
| From | + (instancetype)shapeWithNode:(SCNNode *)node options:(NSDictionary *)options |
| To | + (instancetype _Nonnull)shapeWithNode:(SCNNode * _Nonnull)node options:(NSDictionary<NSString *,id> * _Nullable)options |
| Declaration | |
|---|---|
| From | + (instancetype)shapeWithShapes:(NSArray *)shapes transforms:(NSArray *)transforms |
| To | + (instancetype _Nonnull)shapeWithShapes:(NSArray<SCNPhysicsShape *> * _Nonnull)shapes transforms:(NSArray<NSValue *> * _Nullable)transforms |
SCNPhysicsWorld.h
Modified SCNPhysicsWorld.allBehaviors
| Declaration | |
|---|---|
| From | - (NSArray *)allBehaviors |
| To | @property(nonatomic, readonly, nonnull) NSArray<SCNPhysicsBehavior *> *allBehaviors |
| Declaration | |
|---|---|
| From | - (NSArray *)contactTestBetweenBody:(SCNPhysicsBody *)bodyA andBody:(SCNPhysicsBody *)bodyB options:(NSDictionary *)options |
| To | - (NSArray<SCNPhysicsContact *> * _Nonnull)contactTestBetweenBody:(SCNPhysicsBody * _Nonnull)bodyA andBody:(SCNPhysicsBody * _Nonnull)bodyB options:(NSDictionary<NSString *,id> * _Nullable)options |
| Declaration | |
|---|---|
| From | - (NSArray *)contactTestWithBody:(SCNPhysicsBody *)body options:(NSDictionary *)options |
| To | - (NSArray<SCNPhysicsContact *> * _Nonnull)contactTestWithBody:(SCNPhysicsBody * _Nonnull)body options:(NSDictionary<NSString *,id> * _Nullable)options |
| Declaration | |
|---|---|
| From | - (NSArray *)convexSweepTestWithShape:(SCNPhysicsShape *)shape fromTransform:(SCNMatrix4)from toTransform:(SCNMatrix4)to options:(NSDictionary *)options |
| To | - (NSArray<SCNPhysicsContact *> * _Nonnull)convexSweepTestWithShape:(SCNPhysicsShape * _Nonnull)shape fromTransform:(SCNMatrix4)from toTransform:(SCNMatrix4)to options:(NSDictionary<NSString *,id> * _Nullable)options |
| Declaration | |
|---|---|
| From | - (NSArray *)rayTestWithSegmentFromPoint:(SCNVector3)origin toPoint:(SCNVector3)dest options:(NSDictionary *)options |
| To | - (NSArray<SCNHitTestResult *> * _Nonnull)rayTestWithSegmentFromPoint:(SCNVector3)origin toPoint:(SCNVector3)dest options:(NSDictionary<NSString *,id> * _Nullable)options |
SCNReferenceNode.h (Added)
SCNRenderer.h
Modified -[SCNRenderer render]
| Deprecation | |
|---|---|
| From | -- |
| To | iOS 9.0 |
| Declaration | |
|---|---|
| From | + (instancetype)rendererWithContext:(void *)context options:(NSDictionary *)options |
| To | + (instancetype _Nonnull)rendererWithContext:(EAGLContext * _Nonnull)context options:(NSDictionary * _Nullable)options |
SCNScene.h
| Declaration | |
|---|---|
| From | + (instancetype)sceneNamed:(NSString *)name inDirectory:(NSString *)directory options:(NSDictionary *)options |
| To | + (instancetype _Nullable)sceneNamed:(NSString * _Nonnull)name inDirectory:(NSString * _Nullable)directory options:(NSDictionary<NSString *,id> * _Nullable)options |
| Declaration | |
|---|---|
| From | + (instancetype)sceneWithURL:(NSURL *)url options:(NSDictionary *)options error:(NSError **)error |
| To | + (instancetype _Nullable)sceneWithURL:(NSURL * _Nonnull)url options:(NSDictionary<NSString *,id> * _Nullable)options error:(NSError * _Nullable * _Nullable)error |
SCNSceneRenderer.h
Added SCNSceneRenderer.device
Added SCNDebugOptionNone
Added SCNDebugOptions
Added SCNRenderingAPI
Added SCNRenderingAPIMetal
Added SCNRenderingAPIOpenGLES2
Modified -[SCNSceneRenderer hitTest:options:]
| Declaration | |
|---|---|
| From | - (NSArray *)hitTest:(CGPoint)thePoint options:(NSDictionary *)options |
| To | - (NSArray<SCNHitTestResult *> * _Nonnull)hitTest:(CGPoint)point options:(NSDictionary<NSString *,id> * _Nullable)options |
| Declaration | |
|---|---|
| From | - (void)renderer:(id<SCNSceneRenderer>)aRenderer didApplyAnimationsAtTime:(NSTimeInterval)time |
| To | - (void)renderer:(id<SCNSceneRenderer> _Nonnull)renderer didApplyAnimationsAtTime:(NSTimeInterval)time |
| Declaration | |
|---|---|
| From | - (void)renderer:(id<SCNSceneRenderer>)aRenderer didRenderScene:(SCNScene *)scene atTime:(NSTimeInterval)time |
| To | - (void)renderer:(id<SCNSceneRenderer> _Nonnull)renderer didRenderScene:(SCNScene * _Nonnull)scene atTime:(NSTimeInterval)time |
| Declaration | |
|---|---|
| From | - (void)renderer:(id<SCNSceneRenderer>)aRenderer didSimulatePhysicsAtTime:(NSTimeInterval)time |
| To | - (void)renderer:(id<SCNSceneRenderer> _Nonnull)renderer didSimulatePhysicsAtTime:(NSTimeInterval)time |
| Declaration | |
|---|---|
| From | - (void)renderer:(id<SCNSceneRenderer>)aRenderer updateAtTime:(NSTimeInterval)time |
| To | - (void)renderer:(id<SCNSceneRenderer> _Nonnull)renderer updateAtTime:(NSTimeInterval)time |
| Declaration | |
|---|---|
| From | - (void)renderer:(id<SCNSceneRenderer>)aRenderer willRenderScene:(SCNScene *)scene atTime:(NSTimeInterval)time |
| To | - (void)renderer:(id<SCNSceneRenderer> _Nonnull)renderer willRenderScene:(SCNScene * _Nonnull)scene atTime:(NSTimeInterval)time |
SCNSceneSource.h
| Declaration | |
|---|---|
| From | - (NSArray *)entriesPassingTest:(BOOL (^)(id entry, NSString *identifier, BOOL *stop))predicate |
| To | - (NSArray<id> * _Nonnull)entriesPassingTest:(BOOL (^ _Nonnull)(id _Nonnull entry, NSString * _Nonnull identifier, BOOL * _Nonnull stop))predicate |
| Declaration | |
|---|---|
| From | - (NSArray *)identifiersOfEntriesWithClass:(Class)entryClass |
| To | - (NSArray<NSString *> * _Nonnull)identifiersOfEntriesWithClass:(Class _Nonnull)entryClass |
| Declaration | |
|---|---|
| From | - (id)initWithData:(NSData *)data options:(NSDictionary *)options |
| To | - (instancetype _Nullable)initWithData:(NSData * _Nonnull)data options:(NSDictionary<NSString *,id> * _Nullable)options |
| Declaration | |
|---|---|
| From | - (id)initWithURL:(NSURL *)url options:(NSDictionary *)options |
| To | - (instancetype _Nullable)initWithURL:(NSURL * _Nonnull)url options:(NSDictionary<NSString *,id> * _Nullable)options |
| Declaration | |
|---|---|
| From | + (instancetype)sceneSourceWithData:(NSData *)data options:(NSDictionary *)options |
| To | + (instancetype _Nullable)sceneSourceWithData:(NSData * _Nonnull)data options:(NSDictionary<NSString *,id> * _Nullable)options |
| Declaration | |
|---|---|
| From | + (instancetype)sceneSourceWithURL:(NSURL *)url options:(NSDictionary *)options |
| To | + (instancetype _Nullable)sceneSourceWithURL:(NSURL * _Nonnull)url options:(NSDictionary<NSString *,id> * _Nullable)options |
| Declaration | |
|---|---|
| From | - (SCNScene *)sceneWithOptions:(NSDictionary *)options error:(NSError **)error |
| To | - (SCNScene * _Nullable)sceneWithOptions:(NSDictionary<NSString *,id> * _Nullable)options error:(NSError * _Nullable * _Nullable)error |
| Declaration | |
|---|---|
| From | - (SCNScene *)sceneWithOptions:(NSDictionary *)options statusHandler:(SCNSceneSourceStatusHandler)statusHandler |
| To | - (SCNScene * _Nullable)sceneWithOptions:(NSDictionary<NSString *,id> * _Nullable)options statusHandler:(SCNSceneSourceStatusHandler _Nullable)statusHandler |
SCNShadable.h
| Declaration | |
|---|---|
| From | - (void)setSemantic:(NSString *)semantic forSymbol:(NSString *)symbol options:(NSDictionary *)options |
| To | - (void)setSemantic:(NSString * _Nullable)semantic forSymbol:(NSString * _Nonnull)symbol options:(NSDictionary<NSString *,id> * _Nullable)options |
Modified SCNShadable.shaderModifiers
| Declaration | |
|---|---|
| From | @property(nonatomic, copy) NSDictionary *shaderModifiers |
| To | @property(nonatomic, copy, nullable) NSDictionary<NSString *,NSString *> *shaderModifiers |
SCNSkinner.h
Modified SCNSkinner.boneInverseBindTransforms
| Declaration | |
|---|---|
| From | @property(readonly, nonatomic) NSArray *boneInverseBindTransforms |
| To | @property(readonly, nonatomic, nullable) NSArray<NSValue *> *boneInverseBindTransforms |
Modified SCNSkinner.bones
| Declaration | |
|---|---|
| From | @property(readonly, nonatomic) NSArray *bones |
| To | @property(readonly, nonatomic, nonnull) NSArray<SCNNode *> *bones |
Modified +[SCNSkinner skinnerWithBaseGeometry:bones:boneInverseBindTransforms:boneWeights:boneIndices:]
| Declaration | |
|---|---|
| From | + (instancetype)skinnerWithBaseGeometry:(SCNGeometry *)baseGeometry bones:(NSArray *)bones boneInverseBindTransforms:(NSArray *)boneInverseBindTransforms boneWeights:(SCNGeometrySource *)boneWeights boneIndices:(SCNGeometrySource *)boneIndices |
| To | + (instancetype _Nonnull)skinnerWithBaseGeometry:(SCNGeometry * _Nullable)baseGeometry bones:(NSArray<SCNNode *> * _Nonnull)bones boneInverseBindTransforms:(NSArray<NSValue *> * _Nullable)boneInverseBindTransforms boneWeights:(SCNGeometrySource * _Nonnull)boneWeights boneIndices:(SCNGeometrySource * _Nonnull)boneIndices |
SCNTechnique.h
| Declaration | |
|---|---|
| From | @property(readonly) NSDictionary *dictionaryRepresentation |
| To | @property(readonly, nonnull) NSDictionary<NSString *,id> *dictionaryRepresentation |
| Declaration | |
|---|---|
| From | + (SCNTechnique *)techniqueBySequencingTechniques:(NSArray *)techniques |
| To | + (SCNTechnique * _Nullable)techniqueBySequencingTechniques:(NSArray<SCNTechnique *> * _Nonnull)techniques |
| Declaration | |
|---|---|
| From | + (SCNTechnique *)techniqueWithDictionary:(NSDictionary *)dictionary |
| To | + (SCNTechnique * _Nullable)techniqueWithDictionary:(NSDictionary<NSString *,id> * _Nonnull)dictionary |
SCNTransaction.h
Modified +[SCNTransaction setAnimationTimingFunction:]
| Declaration | |
|---|---|
| From | + (void)setAnimationTimingFunction:(CAMediaTimingFunction *)function |
| To | + (void)setAnimationTimingFunction:(CAMediaTimingFunction * _Nullable)animationTimingFunction |
Modified +[SCNTransaction setValue:forKey:]
| Declaration | |
|---|---|
| From | + (void)setValue:(id)anObject forKey:(NSString *)key |
| To | + (void)setValue:(id _Nullable)value forKey:(NSString * _Nonnull)key |
SCNView.h
Modified -[SCNView initWithFrame:options:]
| Declaration | |
|---|---|
| From | - (id)initWithFrame:(CGRect)frame options:(NSDictionary *)options |
| To | - (instancetype _Nonnull)initWithFrame:(CGRect)frame options:(NSDictionary<NSString *,id> * _Nullable)options |