We ship a default, pre-built, simlauncher for iOS simulator applications.
This speeds up compilation for the default (non linked) simulator builds
quite a lot (no call to `clang` is needed). However it force us to keep
track of frameworks manually - `mtouch` can track them but requires
calling clang/ld to finish things up (killing the optimization).
It's easy to forget some (new) frameworks since they can be loaded
dynamically (on demand) _most_ of the time. Sadly there are a few cases
where doing so cause (hard to diagnose) problems - so we can't depend
on them being loaded, correctly for us.
The new test case loads the `otool -L` output (make when we build
simlauncher[32|64]-sgen) and compares it with mtouch's GetFramework
logic *and* with our namespaces (which is pretty close, with a few
exceptions, to the framework names). This will make it harder to
forget [weak] frameworks when adding new bindings :)
Fixes https://github.com/xamarin/xamarin-macios/issues/6951
Xcode 11 doesn't support anything below iOS 7.0 (the linker will automatically
change the deployment target to 7.0), so we need to drop support as well
(since our native bits will be targetting iOS 7.0, and we can't change that).
https://github.com/xamarin/xamarin-macios/issues/6213
Xcode 10.3 was released over the summer with a very small subset
of the (already out) Xcode 11 betas API.
This PR fix some availability attributes and also ensure we can
run introspection tests successfully on an iOS 12.4 device.
* [WatchKit] Remove this framework for iOS while keeping backwards compatibility. Fixes#6492.
* Copy all generated sources and modify them to throw PlatformNotSupported exceptions.
* Adjust some existing source code to also throw PlatformNotSupported exceptions.
* Sprinkle Obsolete attributes generously.
* Stop generating code for the WatchKit framework for iOS.
Fixes https://github.com/xamarin/xamarin-macios/issues/6492.
* [introspection] Adjust test.
* [mtouch] Don't link with WatchKit, and show a warning if we detect code that want to use WatchKit.
* [xtro] Remove WatchKit for iOS.
* [introspection] Don't check obsoleted NSString fields for null.
There's probably a reason the field was obsoleted.
* [introspection] Add exception for the WatchKit framework.
* [xtro] Ignore obsolete enums.
There's probably a reason they're obsoleted.
In particular it solves a confusion between WKWebKit.WKErrorCode and
WatchKit.WKErrorCode: for iOS, the latter is obsoleted, and this way we always
process the former instead.
* [mtouch] Adjust wording for MT4178 to be more accurate.
* [WatchKit] Make more API obsolete/hidden.
Two classes managed to slip past the first time.
* [tests] Adjust test after WatchKit removal.
Moved some code from uikit.cs since the type moved a while ago. That
ease code sharing with macOS (XM) but it stays into the UIKit namespace
(for XI) until `XAMCORE_4_0` to ensure binary compatibility.
* healthkit b1-b3 updates
* fixes for first round of comments
* remove whitespace noise
* move hkcategorytype enums
* update mono-touch tests, remove [designatedinitializer] attr
* alex nit fixes
* fix formatting for [Deprecated]
* update mono-touch tests with even more enums
* InsertQuantity -> Insert
* remove references to xcode13, which does not exist
* add HKCharacteristicTypeIdentifierActivityMoveMode to .ignore files
* [UIKit] Partial update to Xcode 11 Beta 1, 2 and 3 - Part 2 of ?
Missing bindings for
* NSDiffableDataSourceSnapshot
* UICollectionViewDiffableDataSource
* UITableViewDiffableDataSource
due to a registrar issue git generics.
* Update src/UIKit/UIFont.cs
Co-Authored-By: Rolf Bjarne Kvinge <rolf@xamarin.com>
* Update src/uikit.cs
* More feedback
This also disables
* FloatRangeTest.Equals
* FloatRangeTest.ManagedVersusNative
due to https://github.com/xamarin/maccore/issues/1885
* [UIKIt] Start fixing `UITextWritingDirection` situation
But the complete fix is for another time https://github.com/xamarin/xamarin-macios/issues/6573
Note that the application crash *after* reporting (tests) success.
This is due to ReplayKit triggering an assertion inside UIKit (as it
try to access the status bar). This is filed with Apple
https://feedbackassistant.apple.com/feedback/6306808https://github.com/xamarin/maccore/issues/1823
Avoiding to dispose the culprit (`RPSystemBroadcastPickerView`) sadly
does not workaround the issue :(
* [UIKit] Partial update to Xcode 11 Beta 1 and 2 - Part 1 of ?
Adds new classes included in Xcode 11 Beta 1 and 2, all stuff
included in this PR is up to date with Beta 2.
* Fix whitespace.
* Add tvOS availability attributes.
* UNNotificationResponse is public, it just need a using.
* Update xtro.
* [tests/.gitignore] Update ignored files
Avoid new generated csprojs
```
tests/apitest/apitest-unified-32.csproj
tests/apitest/apitest-unified.csproj
tests/apitest/apitest-unifiedXM45-32.csproj
tests/apitest/apitest-unifiedXM45.csproj
tests/introspection/Mac/introspection-mac-unified-32.csproj
tests/introspection/Mac/introspection-mac-unified.csproj
tests/linker/mac/dont link/dont link-mac-unified-32.csproj
tests/linker/mac/dont link/dont link-mac-unified.csproj
tests/linker/mac/dont link/dont link-mac-unifiedXM45-32.csproj
tests/linker/mac/dont link/dont link-mac-unifiedXM45.csproj
```
* Implement feedback
* More feedback
* [Tests] Fix Apple's lies in headers for tvOS
Whatch is fine
* adding Sound Analysis
* set up error domain and added CMTimeRange for all platforms except watch
* removed whitespaces
* removed more whitespaces
* edited framework files and constants. Changed header names and added todo files
* Apply feedback
* fixing head and skipping functions with class issues
* fixing spacing-tab issues
* [tests] Remove 32-bit Xamarin.Mac tests (both Classic and Unified).
We're removing support for 32-bit Xamarin.Mac apps (#6300), which means we
don't need to run the tests anymore.
This part of the implementation for #6300, I'm starting with the tests because
some of our XM/Classic tests are failing and making the bots unnecessarily red
(since we'll remove XM/Classic support anyway). Also CI will be faster if we
don't run these tests.
* [mmptest] Fix build.
* [tests] Fix build for mono-native-mac.csproj.