I am on current Visual Studio Version 15.8.4 which contain Xamarin.iOS 11.14.0.13. Today I updated my Visual Studio for Mac and automatically updated Xamarin.iOS to version 12.0.0.15 (based on he X.
-->System Requirements | What's New | Known Issues | Blogs | Open Source
Requirements
- The latest features and APIs requires Xcode 10.1 and the bundled iOS, tvOS and watchOS SDKs
- Apple Xcode 10.1 requires a Mac running OSX 10.13.6 (High Sierra) or newer
What's New in this Release
Release History
This version of Xamarin.iOS corresponds to our 16.0 (d16-0
) milestone.
- April 2, 2019 - Xamarin.iOS 12.6.0.25
- March 20, 2019 - Xamarin.iOS 12.6.0.25
- March 5, 2019 - Xamarin.iOS 12.6.0.23
- January 23, 2019 - Xamarin.iOS 12.6.0.10
- December 4, 2018 - Xamarin.iOS 12.3.1.28
You can learn more about how we ship our releases in the Visual Studio 2019 Release Rhythm document.
April 2, 2019 - Xamarin.iOS 12.6.0.25
This version is included in Visual Studio for Mac 8.0 and Visual Studio 2019 version 16.0.
Note: Due to close release dates this version does not include Xcode 10.2 API but is compatible with the Xcode 10.2 toolchain. A newer version of Xamarin.iOS based on d16-0
and includes Xcode 10.2 API will be available shortly. If required the latest 12.4 release (based on d15-9
) is available and include full support for Xcode 10.2.
March 20, 2019 - Xamarin.iOS 12.6.0.25
This version is included in Visual Studio for Mac 8.0 Preview 4.
March 5, 2019 - Xamarin.iOS 12.6.0.23
This version is included in Visual Studio 2019 version 16.0 beta 3.
Issues Fixed
- GitHub 5524 - [msbuild]
.dSYM
is not properly generated unless configuration is Release - GitHub 5345 - [mapkit] Add missing
[NullAllowed]
ininitWithAnnotation:reuseIdentifier:
- GitHub 5524 - [uikit]
UIGestureRecognizer.Dispose
crash when ran from the finalizer thread - PR 5575 [msbuild] Fixed assembly resolution issue with some iOS projects that used netstandard
Integrated Mono Features/Fixes
Xamarin.iOS uses a customized runtime and base class libraries (BCL) fromMono 5.18Commit 163f45
January 23, 2019 - Xamarin.iOS 12.6.0.10
This version is not installed by default with Visual Studio 2019 version 16.0 preview 2 release. To install it please follow the instructions from this document.
Enhancements
- GitHub 3647 - [documentation] Replace Bugzilla references by GitHub in error messages
- GitHub 4445 - [documentation] Update
MT5216
error - GitHub 4606 - [CoreFoundation] Implement missing dispatch API
- GitHub 4698 - [CoreGraphics] Add
MatrixOrder
overload forScale
,Rotate
andTranslate
- GitHub 5028 - [mtouch] Display a specific
MT0140
error if a.framework
binary is invalid
Issues Fixed
- GitHub 4039 - [SceneKit] Avoid possible
NullReferenceException
inScnTool
task - GitHub 4190 - [UIKit] Avoid cycles when unsubscribing
UIGestureRecognizer
- GitHub 4810 - [msbuild][watchOS] Fix 'Binary uploaded is invalid' when submitting watchOS applications
- GitHub 4893 - [UIKit] Add correct availability information on
UIScrollView.ContentOffset
- GitHub 4894 - [Foundation] Fix
NSUserActivity.SuggestedInvocationPhrase
to work if nothing else from Intents (SiriKit) framework is used - GitHub 4895 - [linker] Properly parse
[InternalsVisibleTo]
attribute - GitHub 4978 - [linker] Set flag when processing
ParameterInfo.get_Name
from XML files to avoid conflict errors - GitHub 4988 - [MediaPlayer] Fix
NullReferenceException
inMPNowPlayingInfoCenter
when encountering null dictionary entries - GitHub 5024 - [UIKit] Preserve method associated with
updateSearchResultsForSearchController:
- GitHub 5058 - [SceneKit] Fix
SCNAction.TimingFunction
signature to take aFunc<float,float>
- GitHub 5065 - [msbuild] Tasks do not log notices as errors anymore. This caused issues with Xcode 10.1 where error:
Could not get traitsetID for iPhone11,6
was incorrectly reported - GitHub 5094 - [msbuild] Fix
CompileEntitlements
target so it's not skipped when the project doesn't contain entitlements. Even if there is no user-created entitlement, this target needs to run to generate the application-identifier entitlement in order to deploy the app on device - GitHub 5124 - [runtime] Clean up runtime public symbols to avoid crashes when binding static libraries
- GitHub 5148 - [Foundation] Ensured we use the cookies from the cookie storage in
NSUrlSessionHandler
- GitHub 5183 - [registrar] Throw
EntryPointNotFoundException
when generatingP/Invoke
wrappers forobjc_msgSend*_stret
on arm64 - GitHub 5190 - [Foundation] Respect
HttpClient.Timeout
forNSUrlSessionHandler
- GitHub 5252 - [aot][watchOS] Fixed 'MT3001: Could not AOT the assembly' in mono
- GitHub 5277 - [msbuild] Fixed
error MSB4018: The 'DetectSigningIdentity' task failed unexpectedly
Integrated Mono Features/Fixes
Xamarin.iOS uses a customized runtime and base class libraries (BCL) fromMono 5.18Commit 9671417
December 4, 2018 - Xamarin.iOS 12.3.1.28
This version is not installed by default with Visual Studio 2019 version 16.0 preview 1 release. To install it please follow the instructions from this document.
Enhancements
- 4255 - [registrar] Ignore availability warnings from clang
- 4430 - [debugger] Wireless Debugging Warning Still Appears After Disabled in VS and XCode
- 4525 - [scenekit] Add advice to
SCNMatrix4
about it's row major representation - 4549 - [mtouch/mmp/docs] Improve MT0091 to include how to enable the linker
- 4688 - [coremedia] Expose the
CMSampleAttachmentKey
interface. - 4813 - [foundation] Add bindings for
NSMutableDictionary addEntriesFromDictionary:
- 4893 - [uikit] Duplicate bindings for 'UIScrollView.ContentOffset' to get correct availability information
Issues Fixed
- 4102 - [runtime] Add support for delegates as return values in protocol members
- 4611 - [metal] Fix incorrect structure sizes in
Metal/Defs.cs
- 4988 - [mediaplayer] Fix NRE in
MPNowPlayingInfoCenter
wrtnull
dictionary entries
Integrated Mono Features/Fixes
Xamarin.iOS uses a customized runtime and base class libraries (BCL) fromMono 5.14Commit 969357ac
Known Issues
LLVM Optimization Regression
- A last minute regression was found inside the LLVM AOT backend that is commonly used for release builds. An API that return generics might not work properly, e.g. the following code would return
false
for bothbool
values when LLVM is enabled.
- This issue will be fixed in a future
16.0
service release. In the mean time you should disable LLVM for your release builds (Project Options, Build) unless your tests were successfully executed using using the LLVM backend (and not the normal/mono AOT backend or a debug build).
64 bits watchOS support
Xcode 10 GM added support for 64 bits watch application, aka
arm64_32
. The current app store submission process requires this architecture to be included in your application when including watch support. You can workaround this with [https://github.com/xamarin/xamarin-macios/issues/4810#issuecomment-421338365](these instructions).Trying to run a watch app on the new Series 4 Apple Watch will fail with this error:
This is because the S4 device can only execute native
arm64_32
code, notarmv7k
like previous watches.Please read https://github.com/xamarin/xamarin-macios/issues/4864 for more information and a workaround.
Apple Breaking Changes
- rdar://41123682 Apple changed
TVElementUpdateType*
enum values. Please test your application if you're using this type. - rdar://43425168 Apple changed
IN*WorkoutIntentResponseCode
enum values. Please test your application if you're using this type.
Apple Non-Breaking Issues
- rdar://41135211
RPBroadcastPickerView
symbol is not present in simulator. If needed you'll need to test this on devices.
Using an older Xcode version
Using an older Xcode version (than the one mentioned in the above requirements) is often possible, but some features may not be available. Also some limitations might require workarounds, e.g.:
- The static registrar requires Xcode headers files to build applications, leading to
MT0091
orMT4109
errors if APIs are missing. In most cases enabling the managed linker will help (by removing the API). - Bitcode builds (for tvOS and watchOS) can fail submission to the App Store unless an Xcode 9.0+ toolchain is used.
API Diff
The following documents contains a complete list of the API changes since the Xamarin.iOS 12.2 stable release:
Feedback
Your feedback is important to us. If there are any problems with this release, check the Xamarin.iOS Forums and Xamarin Mac/iOS Github Repository for existing issues. If you do not find any matching issue, please feel free to start a new discussion and report an issue.
Open Source
Xamarin.iOS is based on the following open-source repositories:
- xamarin-macios branch
d16-0
- mono branch
2018-08
Contributors
A big Thank You! to contributors who made improvements in this release:
- Michał Żołnieruk: Added two missing NSString method bindings for splitting text
System Requirements | What's New | Known Issues | Blogs | Open Source
To see installation instructions for both Visual Studio for Mac and Visual Studio 2019, please visit http://releases.xamarin.com/
Requirements
- The latest features and APIs requires Xcode 10.2 (or 10.3) and the bundled iOS, tvOS and watchOS SDKs
- Apple Xcode 10.2/10.3 requires a Mac running macOS 10.14.3 (Mojave) or newer
What's New in this Release
Release History
This version of Xamarin.iOS corresponds to our 16.3 (d16-3
) milestone.
- September 12, 2019 - Xamarin.iOS 12.16.1.24
- September 3, 2019 - Xamarin.iOS 12.16.1.17
- August 12, 2019 - Xamarin.iOS 12.16.1.9
- July 23, 2019 - Xamarin.iOS 12.16.0.5
You can learn more about how we ship our releases in the Visual Studio 2019 Release Rhythm document.
September 12, 2019 - Xamarin.iOS 12.16.1.24
This version is included in Visual Studio for Mac 8.3 preview 4.
Enhancements:
- 6927 - Support notarization of
Xamarin.iOS
package.
September 3, 2019 - Xamarin.iOS 12.16.1.17
This version is included in Visual Studio for Mac 8.3 preview 3.
Bugs:
- 6742 - [linker] Always preserve
INativeObject
(interface) on typesRecent versions of the linker can remove unused interfaces from types. This optimization is only done when the type is not instantiated. However our tools and runtime requires knowing if a type represent a native object, using INativeObject even if the code that creates such instance is not marked.
August 12, 2019 - Xamarin.iOS 12.16.1.9
This version is included in Visual Studio for Mac 8.3 preview 2.
Enhancements:
- 6195 - [CFNetwork] Expose methods that were ignored until the dependencies were present
Bugs:
- 6654 - [AddressBook] Make ABRecord non-abstract
July 23, 2019 - Xamarin.iOS 12.16.0.5
This version is included in Visual Studio for Mac 8.3 preview 1.
Enhancements:
- 6477 - [httpclient] Change NSUrlSessionHandler and CFNetworkHandler to throw HttpRequestException. Fix #6439
- 6458 - [msbuild] $(ProduceReferenceAssembly) support
- 6416 - [uikit] Add some
advice
to UISearchController's constructors Community Contribution ❤️ - 5965 - [mtouch] Support and use the partial static registrar when using the dynamic registrar on device.
- 6005 - [runtime] Implement support for an arm64 dynamic registrar.
- 6003 - [generator] Show proper errors when failing to compile
- 6059 - [foundation] Expose AllowsCellularAccess on NSUrlSessionHandler
- 6098 - [msbuild] Add non-UI version of com.apple.AudioUnit-UI in lists
- 6394 - Add a new feature flag that indicates stable support for the Concurrent GC. Partial fix of #5909.
Bugs:
- 6514 - [registar] Search the entire interface hierarchy for protocols. Fixes #6493.
- 5989 - [runtime] Fix crash in the x86_64 dynamic registrar.
- 5986 - [registrar] Fix marshalling of structs with a single member.
- 6090 - [CFUrl] Fix leaks of CFUrl instances.
- 6096 - [mac] Add NSSegmentedCell.SetTooltip NullAllowed
- 6091 - [CoreFoundation] Fix ownership of objects returned from CFHTTPMessageCreate* P/Invokes.
- 6107 - [mmp] Ignore, by default, frameworks that cause rejection from App Store. Fix #6039.
- 6135 - [generator] Fix generation of ReturnRelease code for third-party bindings.
- 6147 - [Metal] Obsolete and fix MTLDevice.CreateBufferNoCopy.
- 6159 - [Metal] Sprinkle [return: Release] on all 'new*' selectors. Fixes #5941.
- 6171 - [generator] Forward more [return: Release] attributes to generated code.
- 6230 - [foundation] Fix NSCopying.Copy - the biggest offender of not releasing its return value
- 6519 - [Generator] NSValueReturnMap is registering CATransform3D on HaveCoreMedia instead of HaveCoreAnimation.
Known Issues
Using an older Xcode version
Using an older Xcode version (than the one mentioned in the above requirements) is often possible. For more information see the following documentation.
API Diff
The following documents contains a complete list of the API changes since the Xamarin.iOS 12.14 stable release:
Integrated Mono Features/Fixes
Xamarin.iOS uses a customized runtime and base class libraries (BCL) fromMono 6.4Commit 6434153
Xamarin Ios Sdk Download
Feedback
Your feedback is important to us. If there are any problems with this release, check the Xamarin.iOS Forums and Xamarin Mac/iOS Github Repository for existing issues. If you do not find any matching issue, please feel free to start a new discussion and report an issue.
Open Source
Xamarin.iOS is based on the following open-source repositories:
- xamarin-macios branch
d16-3
- mono branch
2019-06
Xamarin Ios 13
Contributors
A big Thank You! to external contributors who made improvements in this release: