The iOS 10 beta API diff (over 9.3 SDK) shows:
-@property (nonatomic, retain) MDLMeshBufferMap *map;
-@property (nonatomic) void *dataStart;
-@property (nonatomic) NSUInteger stride;
-@property (nonatomic) MDLVertexFormat format;
+@property (nonatomic, retain, readonly) MDLMeshBufferMap *map;
+@property (nonatomic, readonly) void *dataStart;
+@property (nonatomic, readonly) NSUInteger stride;
+@property (nonatomic, readonly) MDLVertexFormat format;
The commit fix this without introducing a API incompatibility.
references:
[FAIL] Selector not found for ModelIO.MDLVertexAttributeData : setDataStart:
[FAIL] Selector not found for ModelIO.MDLVertexAttributeData : setFormat:
[FAIL] Selector not found for ModelIO.MDLVertexAttributeData : setMap:
[FAIL] Selector not found for ModelIO.MDLVertexAttributeData : setStride:
The iOS 10 beta API diff (over 9.3 SDK) shows:
-@property (nonatomic) vector_int2 gridPosition;
+@property (nonatomic, readonly) vector_int2 gridPosition;
The commit fix this without introducing a API incompatibility.
as it fails (throw) on iOS 10. Provide a managed stub to replace it and
maintain API compatibility.
reference:
* [FAIL] Default constructor not allowed for CoreSpotlight.CSCustomAttributeKey : Objective-C exception thrown. Name: NSInvalidArgumentException Reason: You must call -[CSCustomAttributeKey initWithKeyName...]
Looks like it was an API added in 9.x but removed (in later betas?). The
introspection tests did find (in 9.x) the selector so it was not reported
as an error but it's not part of iOS 10 (so it fails now)
This removes the binding and replace it with a managed alternative
so there is no breaking change.
references:
[FAIL] GameplayKit.GKQuadTree : quadTreeWithMinPosition:maxPosition:minCellSize:
* [msbuild] Support ibtool output when it adds ~ipad or ~iphone modifiers
When targetting older iOS versions (such as iOS 7) for multiple
device targets (e.g. iphone, ipad, etc), ibtool will output
multiple directories using the basename of the original ib file
and add ~ipad or ~iphone blurbs to the filename.
This was causing the linking step to fail due to paths not being
found at the expected locations.
* [msbuild] Added unit tests for ibtool --link w/ --minimum-deployment-target 7.0
Since pre-iOS 8.0 does not support size classes in storyboards,
ibtool will output LaunchScreen~ipad.nib and LaunchScreen~iphone.nib.
This test will fail if the IBTool logic does not properly determine
the outputs to pass to a final ibtool --link command to link all of
the storyboards together.
* [msbuild] Rename and unify to IsMacEnabled
We previously had an MtouchTargetsEnabled and a separate
IsMacTargetsEnabled for iOS and XM, when both actually
meant the same thing: is a Mac enabled for building this
project?
Note that instead of "targets", we make it more generic,
since the condition can be used in a task, a property
group or whatever really, not just to enable/disable
certain targets.
Also, we call it Enabled, rather than Connected or
Available, since it's more natural to think that all such
tasks/targets are enabled when you're building locally
on the Mac. Connected wouldn't have been appropriate, and
Available would be confusing.
For backwards compatibility I've kepd the old MtouchTargetsEnabled
pointing to IsMacEnabled. We'll change our Windows targets
accordingly to also unify this property and how/where it's
set.
* [msbuild] Use full condition comparison for robustness
This is the proper way to use a boolean in a condition, and
prevents errors whenever the property is an empty string or
anything other than a boolean value.
Taking a screen image does not work unless there's a window server
running, which may not always be the case on bots.
So instead just create an image manually, since these tests do
not seem to be requiring any particular type of image.
* [xharness] Log simulator loading and handle any exceptions.
* [xharness] Add missing tests.
* [xharness] Throw a helpful exception instead of NRE when a simulator can't be found.
* [xharness] Fix null reference exception.
Taking a screen image does not work unless there's a window server
running, which may not always be the case on bots.
So instead just create an image manually, since these tests do
not seem to be requiring any particular type of image.