xamarin-macios/src
Rolf Bjarne Kvinge d574250a27
Remove XAMARIN_APPLETLS, it seems like it's always defined, which means it's not needed. (#8523)
Also remove outdated comment about Xamarin.Mac/Classic, since XM/Classic is dead.
2020-05-06 14:11:02 +02:00
..
ARKit [arkit] Update for Xcode 11 beta 2 and beta 3 (#6460) 2019-07-04 07:33:37 +02:00
AVFoundation [avfoundation] Add AVCaptureVideoStabilizationMode.CinematicExtended enum member (#7774) 2020-01-31 09:29:47 -05:00
AVKit [AVKit] Update for Xcode 11 up to beta 7 (#6748) 2019-08-28 10:24:02 -04:00
Accelerate PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Accounts Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
AddressBook Merge remote-tracking branch 'origin/xcode11' into master-xcode11 2019-09-13 18:35:18 +02:00
AddressBookUI PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
AppKit [appkit] Remove 32bits code paths from NSGradient (#8478) 2020-04-30 08:10:30 -04:00
AssetsLibrary Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
AudioToolbox Switch to Array.Empty and use Marshal.Copy instead of manual copying (#7559) 2019-12-18 11:39:29 -05:00
AudioUnit Use sizeof instead of Marshal.Sizeof (#7558) 2020-02-10 14:41:31 -05:00
AuthenticationServices [AuthenticationServices] Fix ASAuthorization and ASAuthorizationRequest (#6619) 2019-07-19 16:24:04 -04:00
BackgroundTasks [BackgroundTasks] Add new Framework for Xcode 11 beta 1. (#6438) 2019-07-02 15:54:21 +02:00
BusinessChat Fix some warnings in the build (#7642) 2019-12-23 13:07:17 -05:00
CFNetwork [src] Define NET[_TODO] instead of DOTNET[_TODO]. 2020-03-11 11:54:34 +01:00
CallKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
CarPlay [CarPlay] Update bindings to Xcode 10 Beta 2 2018-06-19 16:52:36 -05:00
Carbon PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
ClassKit Fix bindings since 15.7 does not use [p]mcs but csc 2018-05-29 17:40:16 -04:00
ClockKit [clockkit] Update for Xcode 11 beta 1 and 2 (#6405) 2019-06-25 10:33:16 -04:00
CloudKit [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
Compression [src] Define NET[_TODO] instead of DOTNET[_TODO]. 2020-03-11 11:54:34 +01:00
Contacts [contacts] xcode11 beta1 - beta4 updated bindings (#6563) 2019-07-23 18:50:18 -04:00
CoreAnimation Remove private API (#5915) 2019-04-25 10:16:22 -04:00
CoreBluetooth [CoreBluetooth] Update bindings to Xcode 11.4 Beta 1 (#7864) 2020-02-12 18:35:07 -05:00
CoreData [CoreData] Add support up to Xcode11 beta 7. (#6896) 2019-09-04 09:32:29 -04:00
CoreFoundation [corefoundation] Fix TypeInitializationException in OSLog (#7962) 2020-03-03 16:38:43 -05:00
CoreGraphics Merge remote-tracking branch 'xamarin/d16-5-xcode11.4' 2020-03-26 19:59:14 -04:00
CoreHaptics [CoreHaptics] Add support for the new framework up to beta 7. (#6943) 2019-09-10 13:03:26 -04:00
CoreImage Merge master into d16-5 2019-11-08 10:21:12 -05:00
CoreLocation Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
CoreML [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
CoreMedia Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
CoreMidi [CoreMidi] Update framework to the latests Xcode11 beta 7. (#6908) 2019-09-05 09:39:56 -04:00
CoreMotion [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
CoreServices Revert "[CoreServices] Completing FSEventStream bindings (#7507)" (#7741) 2020-01-22 17:03:16 -05:00
CoreSpotlight [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
CoreTelephony [ios][coretelephony] Update for GM (#4803) 2018-09-13 03:56:20 -04:00
CoreText Merge remote-tracking branch 'xamarin/d16-5-xcode11.4' 2020-03-26 19:59:14 -04:00
CoreVideo Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
CoreWlan [corewlan][macos] Update for Xcode 11 beta 1 (#6779) 2019-08-15 11:51:14 -04:00
Darwin Merge branch 'xcode9.3' into d15-7-merge-xcode9.3 2018-03-29 19:31:01 -04:00
EventKit [eventkit] Obsolete `EKReminder` default constructor (#6768) 2019-08-14 13:10:20 -04:00
EventKitUI [eventkitui] Remove caching in `EKUIBundle.UIBundle` (#7760) 2020-01-27 17:34:03 -05:00
ExternalAccessory Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
FinderSync PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Foundation [NSObject] Remove dead XAMCORE_2_0 and ARCH_64 code/defines. (#8440) 2020-04-21 17:06:46 +02:00
GLKit [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
GameController [gamecontroller] Fix a few minor issues (#6728) 2019-08-06 21:42:22 -04:00
GameKit Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
GameplayKit [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
HealthKit [HealthKit] updates for beta 1 - beta 4 xcode11 (#6692) 2019-08-02 14:06:22 -04:00
HomeKit [homekit] Remove manual workaround since #57870 was fixed a while ago (#8256) 2020-04-01 11:53:10 -04:00
IOSurface [IOSurface] Update for Xcode10-beta2 (#4322) 2018-06-22 16:41:11 +02:00
ImageCaptureCore [ImageCaptureCore] Add ImageCaptureCore Bindings (#5074) 2018-11-07 09:52:39 -05:00
ImageIO [ImageIO] Update bindings for Xcode11 (#8376) 2020-04-28 17:02:36 -04:00
ImageKit [macos][imagekit] Update for Xcode 11 beta 1 (#6772) 2019-08-14 22:06:24 -04:00
InputMethodKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Intents [Intents] Update bindings from Xcode 10.3 to Xcode 11.4 Beta 2 (#8025) 2020-03-03 06:49:56 -05:00
JavaScriptCore [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
LocalAuthentication [LocalAuthentication] Update bindings to Xcode 11.4 Beta 1 (#7884) 2020-02-13 11:21:42 -05:00
MapKit Fix broken introspection tests on macOS 10.15. Fixes #6998. (#6999) 2019-09-16 23:40:34 -07:00
MediaAccessibility [mediaaccessibility] Update for Xcode 11 beta 5 (#6733) 2019-08-07 19:40:32 -04:00
MediaLibrary PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MediaPlayer [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
MediaToolbox Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
MessageUI PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Metal [Metal] Update bindings to Xcode 11.4 Beta 3 (#8055) 2020-03-06 18:10:24 -05:00
MetalKit [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
MetalPerformanceShaders [src] Add missing availability attributes (#7761) 2020-01-27 18:52:30 -05:00
MobileCoreServices [coreservices] Update up to beta 5 (#4590) 2018-08-08 12:38:03 -04:00
ModelIO Use sizeof instead of Marshal.Sizeof (#7558) 2020-02-10 14:41:31 -05:00
MultipeerConnectivity PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
NativeTypes Remove unnecessary Makefile targets that seem to conflict in "make package" 2019-03-16 02:47:40 +01:00
NaturalLanguage [naturallanguage] Update for Xcode 11 beta 1 (#6741) 2019-08-12 11:07:15 -04:00
Network [Network] Simplify code that uses DispatchData. (#7692) 2020-01-10 08:47:11 -05:00
NetworkExtension [networkextension] Update for Xcode 11 beta 1 to 5 (#6788) 2019-08-16 14:18:40 -04:00
NewsstandKit [Newsstandkit] Update for Xcode 11 beta 1 (#6992) 2019-09-13 15:23:21 -04:00
NotificationCenter PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
ObjCRuntime [linker] Remove now unneeded code from PreserveCode (#8504) 2020-05-05 09:27:26 -04:00
OpenGL [xcode10.2] [OpenGL] Fix MonoMacGameView .ctor when hardware acceleration isn't available (#5670) 2019-02-27 11:02:49 -05:00
OpenGLES Revert "Revert "[builds] Make the tools build use mono's packaged logic instead of our own. (#5962)" (#5971)" 2019-05-21 22:16:02 +02:00
PassKit [PassKit] Update bindings to Xcode 11.4 Beta 3 (#8041) 2020-03-04 20:23:42 -05:00
PdfKit Remove private API (#5915) 2019-04-25 10:16:22 -04:00
Photos [macOS] Add various Photo extensions that were missed (#8236) 2020-03-30 13:22:56 -05:00
PhotosUI [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
PrintCore Bind 2 high visibility PrintCore APIs (#4933) 2018-10-11 09:14:48 -05:00
QTKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
QuickLook [CoreFoundation] Fetch a few static values lazily. (#4924) 2018-10-09 15:51:17 +02:00
QuickLookUI PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
ReplayKit [replaykit] Update for Xcode 11 beta 6 (#6803) 2019-08-20 17:15:16 -04:00
SafariServices [SafariServices] Update bindings to Xcode 11.4 Beta 1 (#7886) 2020-02-13 14:41:46 -05:00
SceneKit [SceneKit] Update for Xcode 11 (#7140) 2019-10-01 10:55:49 -04:00
ScriptingBridge PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
SearchKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Security Remove XAMARIN_APPLETLS, it seems like it's always defined, which means it's not needed. (#8523) 2020-05-06 14:11:02 +02:00
Simd Merge xcode9 into d15-4[-xi] (#2710) 2017-09-15 17:53:16 -04:00
Social PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
SpriteKit [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
StoreKit [StoreKit] Update bindings for Xcode 11.4 beta 3 (#8104) 2020-03-16 16:54:16 -04:00
System.ComponentModel
System.Drawing Move System.Drawing types to Mono 2019-03-13 17:26:47 +01:00
System.Net.Http [src] Define NET[_TODO] instead of DOTNET[_TODO]. 2020-03-11 11:54:34 +01:00
SystemConfiguration [SystemConfiguration] Add 'IsWWAN' to XM to ease code sharing (#8413) 2020-04-16 21:09:00 -04:00
TVMLKit [TVMLKit] Work around Apple breaking API for enum values in TVElementUpdateType. (#5849) 2019-04-09 16:48:18 +02:00
TVServices PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Twitter PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
UIKit [xcode11.4][UIKit] Update bindings to Xcode 11.4 Final (#8192) 2020-03-25 10:52:11 -04:00
UserNotifications PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
VideoSubscriberAccount [videosubscriberaccount] Update for beta 1 (#4275) 2018-06-15 16:43:23 -04:00
VideoToolbox Merge remote-tracking branch 'xamarin/d16-5-xcode11.4' 2020-03-26 19:59:14 -04:00
Vision [tests] Add cecil-based unit tests (#7825) 2020-02-10 17:23:12 -05:00
WKWebKit [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
WatchConnectivity [watchconnectivity] Update for xcode 11 beta 1 (#6283) 2019-06-13 16:44:54 -04:00
WatchKit [introspection] UIMenuController's default ctor stopped working in iOS 13.3. Fixes xamarin/maccore#2067. (#7458) 2019-11-20 13:45:01 -05:00
WebKit [WebKit] Update bindings to Xcode 10 Beta 1, Nothing on beta 2 or 3 (#4443) 2018-07-13 21:19:57 -05:00
XKit Merge master into d16-5 2019-11-08 10:21:12 -05:00
bgen Extract the ApplePlatform and LinkMode enums into their own files. (#8411) 2020-04-17 09:45:18 +02:00
iAd Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
iTunesLibrary [xcode11] [ItunesLibrary] macOS b1 bindings (#6602) 2019-07-22 09:51:53 -04:00
xlf [bgen] Intercept IKVM's assembly resolution to find assemblies ourselves. 2020-03-09 18:43:42 +01:00
.gitignore [generator] Build using csproj instead of manual csc command. Partial fix for #4384. 2018-08-23 17:33:56 +02:00
AssemblyInfo.cs.in [mtouch] Fix [InternalsVisibleTo] attribute parsing. Fixes #4895 (#4921) 2018-10-04 09:43:38 -04:00
Compat.iOS.cs
Constants.iOS.cs.in [AutomaticAssessmentConfiguration] Update bindings to Xcode 11.4 Beta 3 (#8049) 2020-03-05 19:48:28 -05:00
Constants.mac.cs.in [AutomaticAssessmentConfiguration] Update bindings to Xcode 11.4 Beta 3 (#8049) 2020-03-05 19:48:28 -05:00
Constants.tvos.cs.in [BackgroundTasks] Add new Framework for Xcode 11 beta 1. (#6438) 2019-07-02 15:54:21 +02:00
Constants.watch.cs.in [StoreKit] Update bindings for Xcode 11.4 beta 3 (#8104) 2020-03-16 16:54:16 -04:00
Makefile [src] Fix rebuilding Xamarin.Mac.pdb. (#8496) 2020-05-04 16:28:18 +02:00
Makefile.generator Create a general rule to create makefile fragments for project files. (#8320) 2020-04-08 16:59:17 +02:00
MonoNativeFunctionWrapperAttribute.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MonoPInvokeCallbackAttribute.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MonoTouch.NUnitLite.templ.csproj [master] Bump mono to pickup needed nunitlite changes. (#7812) 2020-02-07 09:56:41 -05:00
MonoTouch.NUnitLite.tvos.templ.csproj [master] Bump mono to pickup needed nunitlite changes. (#7812) 2020-02-07 09:56:41 -05:00
MonoTouch.NUnitLite.watchos.templ.csproj [master] Bump mono to pickup needed nunitlite changes. (#7812) 2020-02-07 09:56:41 -05:00
Obsoletes.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
OpenTK.dll.sources Move System.Drawing types to Mono 2019-03-13 17:26:47 +01:00
README.md [src] Simplify/remove defines. (#8011) 2020-02-29 00:22:58 +01:00
Resources.Designer.cs [bgen] Intercept IKVM's assembly resolution to find assemblies ourselves. 2020-03-09 18:43:42 +01:00
Resources.resx [bgen] Intercept IKVM's assembly resolution to find assemblies ourselves. 2020-03-09 18:43:42 +01:00
Version.in
accelerate.cs
accounts.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
addressbook.cs
addressbookui.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
adsupport.cs Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
appkit.cs [appkit] Fix smartInsertForString to use nullable out strings (#8365) 2020-04-17 12:38:51 -05:00
arkit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
assetslibrary.cs Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
audiotoolbox.cs
audiounit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
authenticationservices.cs [AuthenticationServices] Update bindings to Xcode 11.4 Beta 1 (#7858) 2020-02-12 18:22:56 -05:00
automaticassessmentconfiguration.cs [AutomaticAssessmentConfiguration] Update bindings to Xcode 11.4 Beta 3 (#8049) 2020-03-05 19:48:28 -05:00
avfoundation.cs [avfoundation] Added nullability attributes to AVFoundation (#8490) 2020-05-04 08:35:13 -04:00
avkit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
backgroundtasks.cs [BGTasks] Do not make BGTask abstract. (#8513) 2020-05-05 10:46:23 -04:00
bmac.ikvm [xcode11] Stop building/shipping 32-bit Xamarin.Mac bits. Partial fix for #6300. (#6393) 2019-07-15 10:19:24 -07:00
btouch-native Use relative paths in scripts. (#7545) 2019-12-10 12:47:30 +01:00
btouch-native.in
btouch.cs [mtouch/mmp] Improve target framework code. (#8137) 2020-03-19 09:28:09 +01:00
btv Use relative paths in scripts. (#7545) 2019-12-10 12:47:30 +01:00
businesschat.cs [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
bwatch Use relative paths in scripts. (#7545) 2019-12-10 12:47:30 +01:00
bwatch.in
callkit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
carplay.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
cfnetwork.cs [coreservices] Update up to beta 5 (#4590) 2018-08-08 12:38:03 -04:00
classkit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
clockkit.cs [clockkit] Update for Xcode 11 GM (#6972) 2019-09-11 01:47:23 -04:00
cloudkit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
compression.cs [Compression] Add compression framework bindings. (#3942) 2018-05-11 15:54:31 -04:00
contacts.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
contactsui.cs [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
coreanimation.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
coreaudiokit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
corebluetooth.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
coredata.cs [CoreData] Add support up to Xcode11 beta 7. (#6896) 2019-09-04 09:32:29 -04:00
corefoundation.cs [corefoundation] Add missing CFStringTransform API. Fixes #5705 (#5712) 2019-03-06 08:04:17 -05:00
coregraphics.cs [CoreGraphics] Update bindings to Xcode 11.4 Beta 1 (#7865) 2020-02-12 18:35:47 -05:00
corehaptics.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
coreimage.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
corelocation.cs Adds platform specific nullability attributes to CoreLocation 2020-05-04 17:30:46 +03:00
coremedia.cs Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
coremidi.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
coreml.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
coremotion.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
corenfc.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
coreservices.cs
corespotlight.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
coretelephony.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
coretext.cs [coretext] Update for Xcode 11 beta 5 (#6731) 2019-08-07 13:07:42 -04:00
corevideo.cs Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
corewlan.cs Add xtro test for [Deprecated] attributes and fix up usages (#4966) 2019-01-29 15:37:48 -05:00
custom-make.sh
devicecheck.cs [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
error.cs [Localization] Add generator error messages (#7531) 2020-01-08 16:07:46 -05:00
eventkit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
eventkitui.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
executionpolicy.cs [executionpolicy] Update for Xcode 11 beta 1 (#6774) 2019-08-14 22:07:55 -04:00
externalaccessory.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
fileprovider.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
fileproviderui.cs [fileprovider[ui]] Update for Xcode 11 beta 1 to 5 (#6759) 2019-08-14 08:12:07 -04:00
findersync.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
foundation.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
frameworks.sources [src] Remove ObjectWrapper. 2020-05-04 11:31:19 +02:00
gamecontroller.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
gamekit.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
gameplaykit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
generate-frameworks.csharp [bgen] Make the Frameworks class instance based. 2019-04-11 18:02:13 +02:00
generator-attribute-manager.cs [generator] Handle (ignore) C#8 special nullability attributes (#8382) 2020-04-14 15:25:00 -04:00
generator-attributes.cs [generator] Avoid some unrequired loops over single usage attributes on members (#7494) 2019-11-27 19:01:12 +01:00
generator-diff.mk [generator] Exclude pdb files from the diff. (#2287) 2017-07-04 07:29:17 +02:00
generator-enums.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
generator-filters.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
generator-typemanager.cs [bgen] Don't use assembly identity to identify attributes. (#8023) 2020-03-02 17:05:26 +01:00
generator.cs [generator] Delay some checks when generating code for macOS (#8479) 2020-04-30 08:12:58 -04:00
generator.csproj Extract the ApplePlatform and LinkMode enums into their own files. (#8411) 2020-04-17 09:45:18 +02:00
generator.sln [tests] Port the makefile-based generator tests to NUnit. (#3019) 2017-11-20 14:55:16 +01:00
glkit.cs [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
global.css
healthkit.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
healthkitui.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
homekit.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
iad.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
identitylookup.cs [identitylookup] Update for Xcode 11 beta 1 (#6511) 2019-07-08 09:24:09 -04:00
identitylookupui.cs [identitylookupui] Update for Xcode 11 beta 1 (#6510) 2019-07-08 09:25:46 -04:00
imagecapturecore.cs [ImageCaptureCore] Remove redundant availability attribute. 2018-11-20 08:41:36 +01:00
imageio.cs [ImageIO] Update bindings for Xcode11 (#8376) 2020-04-28 17:02:36 -04:00
imagekit.cs [ImageCaptureCore] Add ImageCaptureCore Bindings (#5074) 2018-11-07 09:52:39 -05:00
inputmethodkit.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
intents.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
intentsui.cs [xcode11.4][intentsui] Add missing [DesignatedInitializer] (#8191) 2020-03-25 00:31:15 -04:00
iosurface.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
ituneslibrary.cs [xcode11] [ItunesLibrary] macOS b1 bindings (#6602) 2019-07-22 09:51:53 -04:00
javascriptcore.cs [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
linkpresentation.cs [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
localauthentication.cs [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
mapkit.cs [mac][mapkit] Allow creation of MKLocalSearchCompleter instance (#8370) 2020-04-17 12:48:36 -05:00
mediaaccessibility.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
medialibrary.cs [medialibrary] Update for Xcode 11 GM (#6977) 2019-09-11 01:56:47 -07:00
mediaplayer.cs [MediaPlayer] Enable API that depend on AVFoundation types for watchOS. Fixes #6597. (#6942) 2019-09-09 14:04:51 -07:00
mediatoolbox.cs
messages.cs [messages] Updates for beta 1 (#4230) 2018-06-12 13:59:46 -04:00
messageui.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
metal.cs [Metal] Update bindings to Xcode 11.4 Beta 3 (#8055) 2020-03-06 18:10:24 -05:00
metalkit.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
metalperformanceshaders.cs Merge master into d16-5 2019-11-08 10:21:12 -05:00
metrickit.cs [MetricKit] Add new framework up to Xcode11 GM. (#6969) 2019-09-11 15:46:38 -04:00
mobilecoreservices.cs [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
modelio.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
multipeerconnectivity.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
naturallanguage.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
network.cs [network][watchos] Enable Network.framework for watchOS (new in 6.0) (#6874) 2019-08-28 21:22:10 -04:00
networkextension.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
newsstandkit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
notificationcenter.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
opengl.cs
opengles.cs Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
opentk.csproj Move System.Drawing types to Mono 2019-03-13 17:26:47 +01:00
packages.config [Localization] Add generator error messages (#7531) 2020-01-08 16:07:46 -05:00
passkit.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
pdfkit.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
pencilkit.cs [PencilKit] Update to Xcode 11 Beta 4 (#6612) 2019-07-18 13:40:37 -04:00
photos.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
photosui.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
printcore.cs
pushkit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
qtkit.cs [Appkit] Fix xtro DesignatedInitializer output (#3474) 2018-02-14 08:09:43 -06:00
quartzcomposer.cs [quartzcomposer] Update for Xcode 11 beta 1 (#6752) 2019-08-12 11:54:29 -04:00
quicklook.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
quicklookUI.cs [quicklookUI] xcode11 beta1 - beta3 updated bindings (#6588) 2019-07-16 19:28:42 -04:00
quicklookthumbnailing.cs [quicklookthumbnailing] Update for Xcode11 beta 1 to 5 (#6789) 2019-08-19 09:01:52 -04:00
replaykit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
rosetta.pl
safariservices.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
scenekit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
scriptingbridge.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
searchkit.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
security.cs [security] Partial updates for Xcode 11 (up to beta 7) (#6867) 2019-08-29 08:17:06 -04:00
social.cs Bump the minimum iOS version to 7.0. Fixes #6213. (#6878) 2019-08-30 01:07:30 -07:00
soundanalysis.cs [soundanalysis][watchos] Update to include last, missing API on watchOS now that AVFoundation is merged (#6939) 2019-09-09 14:16:04 -04:00
speech.cs [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
spritekit.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
storekit.cs Add missing ctors to AVPlayerItemMetadataCollector and SKCloudServiceController (#8403) 2020-04-17 12:42:08 -05:00
systemconfiguration.cs [systemconfiguration][tvos] CaptiveNetwork API are now marked as prohibited in tvOS (#4357) 2018-06-29 09:35:05 -04:00
touch-unit.sources [master] Bump mono to pickup needed nunitlite changes. (#7812) 2020-02-07 09:56:41 -05:00
tvmlkit.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
tvservices.cs [tvservices] Update for Xcode 11 beta 1 (#6391) 2019-06-20 13:23:46 -07:00
tvuikit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
twitter.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
uikit.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
usernotifications.cs [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
usernotificationsui.cs [UserNotificationsUI] Update the fro Xcode 10. (#4268) 2018-06-18 16:05:20 +02:00
videosubscriberaccount.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
videotoolbox.cs [xcode11] Update with Xcode 10.3 changes and fix intro on iOS 12.4 (#6851) 2019-08-27 08:38:12 -04:00
vision.cs [generator] Add C#8 nullability into generated code (#7570) 2020-04-09 09:29:28 -04:00
visionkit.cs fix header name 2019-08-27 20:25:33 -04:00
watchconnectivity.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
watchkit.cs [xtro][bindings] Add xtro support for nullability and fix some bindings (#8335) 2020-04-10 11:00:47 -04:00
webkit.cs [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595) 2019-07-16 12:13:11 -04:00
wkwebkit.cs remove non-bindings, add wkwebview to .ignore (#8054) 2020-03-06 10:26:59 -05:00
xamios.tmpl.csproj [src] Update csproj templates for platform assemblies to build correctly. (#3417) 2018-02-07 21:51:50 +01:00
xammac.pc.in
xammac.tmpl.csproj Remove unnecessary references to Mono.Security. (#5242) 2018-12-11 10:35:16 +01:00
xamtvos.tmpl.csproj [src] Update csproj templates for platform assemblies to build correctly. (#3417) 2018-02-07 21:51:50 +01:00
xamwatch.tmpl.csproj [src] Update csproj templates for platform assemblies to build correctly. (#3417) 2018-02-07 21:51:50 +01:00
xkit.cs Merge master into d16-5 2019-11-08 10:21:12 -05:00

README.md

Platform assemblies

This directory contains the source code and build logic to build the platform assemblies.

Generator

The generator takes API definition files (most *.cs files in src/) as input, and generates the required binding code.

There is one generator executable, based on IKVM, that's used to generate the binding code for all platforms.

The generator relies heavily on binding attributes; all the binding attributes (that are not in the platform assembly) are compiled into a separate attribute assembly (Xamarin.[iOS|TVOS|WatchOS|Mac].BindingAttributes.dll).

Since the platform assemblies (and thus all the binding attributes assemblies as well) reference each platform's BCL, those assemblies can't be loaded directly into the generator at runtime. In order to not make the generator code too complicated, all the attributes are also compiled into the generator executable, and then instantiated as mock-objects of the real attributes.

The solution generator.sln can be used to debug the generator. There are multiple run configurations (ios, tvos, watchos, mac-unified, mac-full), each configured to execute the generator with the options for the corresponding profile.

Generator diff

Two special make targets can be used to compare the generated code (.g.cs files) changes between two branches.
This is required when making changes to the generator.

  1. Checkout the clean base branch (e.g master's HEAD) the feature (target) branch is based on.
  2. Do make generator-reference in xamarin-macios/src.
  3. Checkout the feature branch that requires the diff.
  4. Do make generator-diff.

Tip: do git diff | pbcopy in xamarin-ios/src/generator-reference and paste that anywhere (gist for instance).

Conditional compilation

These are the symbols defined for each platform assembly:

Assembly Symbols
Xamarin.iOS.dll IPHONE MONOTOUCH IOS XAMCORE_2_0
Xamarin.Mac.dll MONOMAC XAMCORE_2_0
Xamarin.WatchOS.dll IPHONE MONOTOUCH WATCH XAMCORE_2_0 XAMCORE_3_0
Xamarin.TVOS.dll IPHONE MONOTOUCH TVOS XAMCORE_2_0 XAMCORE_3_0

To build core for only one platform, use the platform unique variables IOS, MONOMAC, WATCH or TVOS.

Core Assemblies

Currently 2 variations of the core Xamarin.iOS assembly and 4 variations of the core Xamarin.Mac assembly are produced:

### Xamarin.iOS ###

  • A 32-bit Unified assembly (uses System.nint in place of NSInteger, etc.)
  • A 64-bit Unified assembly (same as 32-bit Unified)

### Xamarin.Mac ###

  • A 32-bit Unified assembly (uses System.nint in place of NSInteger, etc.)
  • A 64-bit Unified assembly (same as 32-bit Unified)
  • A 32-bit Full assembly (uses System.nint in place of NSInteger, and references the v4.5 BCL)
  • A 64-bit Full assembly (same as 32-bit Full)

Classic Assemblies

The 32-bit Classic assemblies for iOS and Mac are no longer built and are now copied from the macios-binaries module.

The Classic assembly are copied in, tested, and shipped in order to not break customer code. Customers can choose to continue using this assembly, but we will encourage customers to move to our Unified assemblies.

The Unified assemblies provides many improvements and support for 64-bit iOS and OS X APIs.

Native Types

Most native APIs use NSInteger (and related) typedefs. On 32-bit systems, these are 32-bit underlying types; on 64-bit systems, these are 64-bit underlying types.

Historically Xamarin.iOS and Xamarin.Mac have bound these explicitly as 32-bit (System.Int32, etc). With the move to 64-bit that has been ongoing in OS X for a few versions (10.6/Snow Leopard) and more recently with the anouncement of 64-bit support in iOS, we needed a solution to support both worlds.

We have introduced 6 new types to make this possible:

Native Type Legacy (32-bit) CIL Type New (32/64-bit) CIL Type
NSInteger System.Int32 System.nint
NSUInteger System.UInt32 System.nuint
CGFloat System.Single System.nfloat
CGSize System.Drawing.SizeF CoreGraphics.CGSize
CGPoint System.Drawing.PointF CoreGraphics.CGPoint
CGRect System.Drawing.RectangleF CoreGraphics.CGRect

In the Classic assembly, the System.Drawing types are backed by the 32-bit System.Single type. In the Unified assemblies, the CoreGraphics types are backed by 32/64-bit System.nfloat type.

Enums

Enums are handled specially. Most native enums are backed by NSInteger or NSUInteger. Unfortunately in C#, the backing type of an enum may only be one of the primitive integral C# types. Thus, an enum cannot be backed by System.nint or System.nuint.

The convention is to make all enums that are backed natively by NSInteger or NSUInteger backed by a 64-bit primitive integral C# type (long or ulong) and then annotated with the [Native] attribute. This ensures that API is identical between the 32/64-bit assemblies but also hints to the code generator that Objective-C runtime calls should first cast the enum to a System.nint or System.nuint.

Native Enum Definition

typedef NS_ENUM(NSUInteger, NSTableViewDropOperation) {
	NSTableViewDropOn,
	NSTableViewDropAbove
};

Managed Enum Definition

[Native]
public enum NSTableViewDropOperation : nuint {
	DropOn,
	DropAbove
}

When dealing with enums in P/Invokes, one must never pass such an enum directly. The P/Invoke signature should take a System.nint or System.nuint and a wrapper API must cast the enum manually (as mentioned above, this is handled automatically for Objective-C APIs by the generator).

Objective-C Binding

interface Fooable {
	[Export ("foo:")]
	void Foo (NSTableViewDropOperation dropOp);
}

C Binding

public partial class Fooable {
	[DllImport ("foo")]
	static extern void Foo (nuint dropOp);

	public static void Foo (NSTableViewDropOperation dropOp)
	{
		Foo ((nuint)(ulong)dropOp);
	}
}

#define

There are a few preprocessor variables that can be used within sources for conditional compilation:

Variable Description
MONOMAC defined for Xamarin.Mac builds; not defined for Xamarin.iOS
ARCH_32 defined when the target architecture is 32-bit; this will be defined for Classic and the Unified 32-bit assemblies
ARCH_64 defined when the target architecture is 64-bit; this will be defined only for the Unified 64-bit assembly
XAMCORE_2_0 defined for the Unified assemblies; this should be used for most conditions dealing with API differences between Unified and Classic assemblies
COREBUILD defined when building the intermediate core.dll assembly against which the code generator will produce bindings

For example, to build an API for all of iOS but only 64-bit OS X (Xamarin.Mac):

#if !MONOMAC || (MONOMAC && ARCH_64)
...
#endif