PR335 [1] caused a leak and, upon verification, the same pattern was used
elsewhere too. There were also other (good) cases that now share the same
code.
[1] https://github.com/xamarin/xamarin-macios/pull/335
* Some availability attributes were added by Apple
and are now fixed accordingly but still we have
some more members that need instrospection tests
to be run on macOS 10.12 to be completly sure or
wait for a future beta and hope they are fixed
This tries to work around a make bug where make gets confused and ends
up in an infinite loop if a executing a target (because one of the dependencies
changed) does not actually change the timestamp of the target (while this is logically
unsound, it can certainly happen when invoking submakes to build stuff because
the supermake does not have a complete knowledge about all the dependencies
(because our makefiles aren't perfect)).
Instead of having a symlink of the entire Facades directory for
Unified, we must now create a real directory and symlink each Facade
assembly, because there's one Facade assembly that can't be shared
between Unified and Classic (System.Drawing.Primitives.dll) because
it references monotouch.dll/Xamarin.iOS.dll.
Reported in bug #42635:
"IMSStickerBrowserViewDataSource.GetStickerBrowserView() should be GetSticker()"
https://bugzilla.xamarin.com/show_bug.cgi?id=42635
Indeed since the method returns an MSSticker there's no reason to keep
BrowserView in the method's name.
Jul 15 15:44:26 castor monotouchtest[42732]: [default] [ERROR] error while getting ubiquityIdentityToken: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.bird.token was invalidated." UserInfo={NSDebugDescription=The connection to service named com.apple.bird.token was invalidated.}
^ the above is printed several times after this
* Mostly missing checks
* FontTest: Apple never fixed that and the way we link now, without
dlsym, makes the test crash
dyld: lazy symbol binding failed: Symbol not found: _CTFontCreateWithFontDescriptorAndOptions
Referenced from: /var/mobile/Applications/6025D222-F50E-46E0-8BF5-9C45D4C7DACB/monotouchtest.app/monotouchtest
Expected in: /System/Library/Frameworks/CoreText.framework/CoreText
1. !missing-field! MSMessagesErrorDomain not bound
2. !missing-protocol-conformance! MSStickerBrowserViewController should conform to MSStickerBrowserViewDataSource
* About radar://26799291 https://trello.com/c/s6s6YKua
the member using the private API has been removed from
the public API, still no response in the radar heh
* All removals included in this commit are because members
got deprecated and will be removed on a future release no
point on having them around anymore
Tested with iOS 7.1 on an iPad 3
- Dynamic registrar needs to ignore new CBManager base class;
- CGImageMetadataTag.Value returns a mutable array on iOS10;
- MPMediaItem properties needed 9.2 / 10.0 check;
- MSMessage not available before Xcode 8;
- Metal not available before Xcode 6;
- MetalPerformanceShaders not available before Xcode 7;
I enabled CloudKit earlier, but that framework was not updated and the
tests did not run on watchOS.
Now the tests are enabled (and fails PR) so this is a minimal fix to
get PR green again. CloudKit still needs to be updated for the new SDK.
Note: headers often mention 2.0 and 2.2 for API but the framework was
not available before 3.0. Some information might not be trustworthy.
There can be circular dependencies between Objective-C classes,
so make sure we don't fail compilation when that occurs by
forward declaring any Objective-C classes/protocols.
The test case in question does not contain a circular dependency,
but the same issue occurs due to types not being generated in the
correct order (a correct order could be constructed for the test
case, but there's no general solution since circular dependencies
can exist).
https://bugzilla.xamarin.com/show_bug.cgi?id=42454
Category methods are exposed like extension methods, and the first parameter
specifies the class, which means we need to skip the first type when generating
the ObjC signature.
https://bugzilla.xamarin.com/show_bug.cgi?id=42489
- Includes tests.
- Add availability flags.
- Turn new fields into properties.
- Verify bindings on iOS 9.3.
- Added protection in MPNowPlayingInfoCenter if native fields
are not available (depending on the iOS version).