xamarin-macios/src
Rolf Bjarne Kvinge 3b6a5c20c6
[bgen] Add support for delegates with pointer types. (#21159)
2024-09-02 15:02:39 +02:00
..
ARKit Merge main into net7.0. 2022-10-17 10:21:24 +02:00
AVFoundation [src] Fix definition of AVSampleCursorAudioDependencyInfo for Mac Catalyst. (#20781) 2024-06-26 14:17:58 +02:00
AVKit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
AVRouting [AVKit and AVRouting] Updates for Xcode14 Beta3 (#15811) 2022-09-08 15:13:15 -05:00
Accelerate [src] Expand multi-field single statements into multiple statements. (#20489) 2024-04-25 11:00:41 +02:00
Accessibility [Accessibility] Make P/Invokes have blittable signatures. (#20124) 2024-02-16 16:52:39 +01:00
Accounts [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
AdSupport [autoformat] Add the ARKit, AVFoundation, AVKit, AdSupport, AssetsLibrary and AuthenticationServices frameworks. (#16348) 2022-10-17 08:22:58 +02:00
AddressBook [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
AddressBookUI [AddressBook] Make P/Invokes have blittable signatures. (#20145) 2024-02-20 16:47:23 +01:00
AppKit [AppKit] Improve bindings for NSPasteboard and NSPasteboardReading a bit. (#20643) 2024-05-30 08:23:54 +02:00
AssetsLibrary [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
AudioToolbox [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
AudioUnit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
AuthenticationServices [xcode14.3] Update bidnings to Xcode 14.3 RC and fix tests 2023-03-29 14:37:51 -04:00
BackgroundAssets [src/tests] Fix consistency between ObsoletedOSPlatform and UnsupportedOSPlatform attributes. (#17104) 2022-12-22 12:40:04 +01:00
BackgroundTasks [src/generator] Stop implying Mac Catalyst availability attributes from the iOS attributes. (#17375) 2023-01-31 14:51:53 +01:00
BusinessChat [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
CFNetwork Contributes towards #15684. (#20037) 2024-02-06 11:46:57 +01:00
CallKit
CarPlay [autoformat] Add the BackgroundTasks, BusinessChat, CFNetwork, CarPlay, Chip, ClockKit, CloudKit and Compression frameworks. (#16459) 2022-10-25 23:56:21 +02:00
Chip [src] Delete several file that weren't included in the build. (#19466) 2023-11-16 21:48:39 +01:00
Cinematic [Cinematic] Add support for Xcode 15 beta 6. (#18686) 2023-08-28 14:59:22 -04:00
ClassKit
ClockKit [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
CloudKit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
Compression [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
Contacts [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
CoreAnimation [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
CoreBluetooth [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
CoreData [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
CoreFoundation [CoreFoundation] Fix memory leak in CFProxySupport. (#20713) 2024-06-11 16:52:15 +02:00
CoreGraphics [CoreGraphics] Bind the CGSession API. (#21024) 2024-08-14 19:41:28 +02:00
CoreHaptics [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
CoreImage [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
CoreLocation [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
CoreML [CoreML] Add xcode 15 beta 7 support. (#18898) 2023-09-05 10:41:07 -04:00
CoreMedia [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
CoreMidi [CoreMidi] Move fields to the api definition. (#21043) 2024-08-22 11:58:09 +02:00
CoreMotion [src] Expand multi-field single statements into multiple statements. (#20489) 2024-04-25 11:00:41 +02:00
CoreServices [CoreServices] Make P/Invokes have blittable signatures. (#20408) 2024-04-10 09:24:58 +02:00
CoreSpotlight [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
CoreTelephony [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
CoreText [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
CoreVideo [CoreVideo] Create a strongly typed dictionary for the CVPixelFormat values. (#21110) 2024-08-30 21:01:28 +02:00
CoreWlan [CoreWlan] Make P/Invokes have blittable signatures. (#20465) 2024-04-22 18:54:03 +02:00
Darwin [Darwin] Treat this code as a framework, which simplifies things a little bit. (#20833) 2024-07-09 16:24:26 +02:00
DeviceDiscoveryExtension [DeviceDiscoveryExtension] Added bindings for DeviceDiscoveryExtension. (#20272) 2024-03-14 07:58:45 +01:00
DeviceDiscoveryUI [DeviceDiscoveryUI] Added bindings for DeviceDiscoveryUI. (#20271) 2024-03-08 10:07:39 +01:00
EventKit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
EventKitUI [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
ExternalAccessory [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
FileProvider Merge remote-tracking branch 'origin/net8.0' into bump-main-in-net8.0-2023-02-06 2023-02-07 07:18:23 +01:00
FinderSync [autoformat] Add the CoreWlan, EventKit, EventKitUI, ExternalAccessory, FileProvider, FinderSync and Foundation frameworks. (#16714) 2022-11-11 08:21:20 +01:00
Foundation [Foundation] Allow setting NSUrlSessionHandler.Proxy to null (#21140) 2024-08-29 14:17:50 +02:00
GLKit [GLKit] Make the GLKVertexAttributeParametersFromModelIO P/Invoke have a blittable signature. (#20529) 2024-04-29 16:29:56 +02:00
GameController [GameController] Make a few structs blittable. (#20697) 2024-06-10 11:52:24 +02:00
GameKit [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
GameplayKit [GameplayKit] Remove the bindings for GKHybridStrategist. (#20468) 2024-04-22 07:26:10 +02:00
HealthKit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
HomeKit [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
IOSurface [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
ImageCaptureCore [ImageCaptureCore] Add managed handlers for request methods (#17376) 2023-01-29 23:28:03 -08:00
ImageIO [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
ImageKit [autoformat] Add the IOSurface, ImageCaptureCore, ImageIO, ImageKit, Intents, JavaScriptCore, LocalAuthentication, MLCompute, MapKit, MediaAccessibility, MediaLibrary, MediaPlayer and MediaToolbox frameworks. (#16755) 2022-11-15 17:41:59 +01:00
Intents [src] Enable nullability by default and turn it off in files that haven't been audited/converted. (#19680) 2024-01-02 14:27:48 +01:00
JavaScriptCore [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
LocalAuthentication [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
MLCompute [autoformat] Add the IOSurface, ImageCaptureCore, ImageIO, ImageKit, Intents, JavaScriptCore, LocalAuthentication, MLCompute, MapKit, MediaAccessibility, MediaLibrary, MediaPlayer and MediaToolbox frameworks. (#16755) 2022-11-15 17:41:59 +01:00
MapKit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
MediaAccessibility [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
MediaLibrary [autoformat] Add the IOSurface, ImageCaptureCore, ImageIO, ImageKit, Intents, JavaScriptCore, LocalAuthentication, MLCompute, MapKit, MediaAccessibility, MediaLibrary, MediaPlayer and MediaToolbox frameworks. (#16755) 2022-11-15 17:41:59 +01:00
MediaPlayer [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
MediaToolbox [MediaToolbox] Make P/Invokes in MTAudioProcessingTap.cs have blittable signatures. (#20642) 2024-05-28 14:58:06 +02:00
MessageUI [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
Metal [src] Remove a few MarshalAs attributes in various APIs. (#20704) 2024-06-10 19:11:47 +02:00
MetalKit [src] Fix min OS versions for .NET for numerous APIs. (#17871) 2023-03-22 15:07:29 +01:00
MetalPerformanceShaders [src] Implement a more generic way of calling objc_msgSend with variadic arguments. (#20832) 2024-07-10 21:19:51 +02:00
MetalPerformanceShadersGraph [autoformat] Add the rest of the subdirectories in src/. (#16854) 2022-11-23 07:48:08 +01:00
MetricKit [MetricKit] Add availability attributes to MXMetaData.DictionaryRepresentation. (#17294) 2023-01-20 07:52:20 +01:00
MobileCoreServices [MobileCoreServices] Make P/Invokes have blittable signatures. (#20015) 2024-02-06 15:27:39 +01:00
ModelIO [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
MultipeerConnectivity [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
NativeTypes [src] Stop generating CGPoint, CGRect and CGSize from a t4 file. (#20432) 2024-04-16 17:04:06 +02:00
NaturalLanguage [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
NearbyInteraction [NerabyInteraction] Add support for xcode 15. (#19273) 2023-10-20 10:57:53 -04:00
Network [src] Remove a few MarshalAs attributes in various APIs. (#20704) 2024-06-10 19:11:47 +02:00
NetworkExtension [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
NewsstandKit [Tests] Fix cecil tests. 2023-08-04 11:47:27 -04:00
NotificationCenter [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
ObjCRuntime [ObjCRuntime/bgen] Add support for (s)byte, (u)short and nuint fields. (#21141) 2024-08-29 20:14:52 +02:00
OpenGL [src] Fix accidental xml documentation comments. (#20637) 2024-05-24 14:03:27 +02:00
OpenGLES [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
PassKit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
PdfKit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
Photos [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
PhotosUI [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
PrintCore [PrintCore] Make P/Invokes have blittable signatures. (#20542) 2024-05-01 10:28:23 +02:00
PushToTalk [PushToTalk] Add missing Model attribute to the PTChannelManagerDelegate and PTChannelRestorationDelegate declarations. Fixes #16792. (#17273) 2023-01-19 07:39:45 +01:00
QTKit Remove not needed .gitignore. (#17218) 2023-01-13 00:41:56 -05:00
QuickLook
QuickLookUI [autoformat] Add the PassKit, PdfKit, Photos, PhotosUI, PrintCore, QTKit, QuickLookUI, ReplayKit, SafariServices, ScreenCaptureKit, ScriptingBridge and SearchKit frameworks. (#16775) 2022-11-18 15:21:16 +01:00
ReplayKit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
SafariServices [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
SafetyKit [SafetyKit] Added bindings for SafetyKit. (#20263) 2024-03-15 08:15:01 +01:00
SceneKit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
ScreenCaptureKit [autoformat] Add the PassKit, PdfKit, Photos, PhotosUI, PrintCore, QTKit, QuickLookUI, ReplayKit, SafariServices, ScreenCaptureKit, ScriptingBridge and SearchKit frameworks. (#16775) 2022-11-18 15:21:16 +01:00
ScriptingBridge [autoformat] Add the PassKit, PdfKit, Photos, PhotosUI, PrintCore, QTKit, QuickLookUI, ReplayKit, SafariServices, ScreenCaptureKit, ScriptingBridge and SearchKit frameworks. (#16775) 2022-11-18 15:21:16 +01:00
SearchKit [SearchKit] Make P/Invokes have blittable signatures. (#20493) 2024-04-24 13:19:08 +02:00
Security [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
SensorKit [autoformat] Add the Security, SensorKit, Social, SpriteKit, StoreKit, SystemConfiguration, TVServices, VideoToolbox, Vision and WKWebKit frameworks. (#16763) 2022-11-16 07:38:18 +01:00
SharedWithYouCore [autoformat] Add the rest of the subdirectories in src/. (#16854) 2022-11-23 07:48:08 +01:00
Simd [Vision] Update Xcode 15 support (#19412) 2024-01-02 15:17:57 -05:00
Social [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
Speech [Xcode 15.2] Bump to Xcode 15.2 (#19785) 2024-01-12 04:56:22 -05:00
SpriteKit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
StoreKit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
System.Drawing [autoformat] Add the rest of the subdirectories in src/. (#16854) 2022-11-23 07:48:08 +01:00
System.Net.Http [src] Enable nullability by default and turn it off in files that haven't been audited/converted. (#19680) 2024-01-02 14:27:48 +01:00
SystemConfiguration [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
TVMLKit
TVServices [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
Twitter
UIKit [xcode15.4] Update bindings to Xcode 15.4 (#20865) 2024-07-11 14:09:52 -04:00
UserNotifications
VideoSubscriberAccount [src] Fix min OS versions for .NET for numerous APIs. (#17871) 2023-03-22 15:07:29 +01:00
VideoToolbox [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
Vision [Vision] Make P/Invokes have blittable signatures. (#19703) 2024-01-02 14:20:49 +01:00
WatchConnectivity [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
WatchKit [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
WebKit [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
XKit [src] Expand multi-field single statements into multiple statements. (#20489) 2024-04-25 11:00:41 +02:00
bgen [bgen] Add support for delegates with pointer types. (#21159) 2024-09-02 15:02:39 +02:00
build [Darwin] Treat this code as a framework, which simplifies things a little bit. (#20833) 2024-07-09 16:24:26 +02:00
generate-frameworks-constants Add the .NET TFM as a constant to the generated SdkVersions.cs from our Makefile variables. (#19401) 2023-11-08 13:36:50 +01:00
iAd [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
iTunesLibrary [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
rsp [Darwin] Treat this code as a framework, which simplifies things a little bit. (#20833) 2024-07-09 16:24:26 +02:00
xlf
.gitignore
AssemblyInfo.cs.in [net8.0] [src] Add the RequiresPreviewFeatures attribute if we're using an unstable version of Xcode. Contributes towards #18343. (#18488) 2023-06-26 13:11:21 +02:00
Constants.iOS.cs.in [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
Constants.mac.cs.in [InputMethodKit] Remove existing code for InputMethodKit. (#19462) 2023-11-20 07:55:13 +01:00
Constants.maccatalyst.cs.in
Constants.tvos.cs.in
Constants.watch.cs.in
DotNetGlobals.cs
ILLink.LinkAttributes.tvos.xml
ILLink.LinkAttributes.xml.in
ILLink.Substitutions.MacCatalyst.xml [src/runtime] Add extra checks to Runtime.IsUserType to detect invalid pointers. (#21001) 2024-08-12 13:41:21 +02:00
ILLink.Substitutions.ios.xml [src/runtime] Add extra checks to Runtime.IsUserType to detect invalid pointers. (#21001) 2024-08-12 13:41:21 +02:00
ILLink.Substitutions.macOS.xml [src/runtime] Add extra checks to Runtime.IsUserType to detect invalid pointers. (#21001) 2024-08-12 13:41:21 +02:00
ILLink.Substitutions.tvos.xml [src/runtime] Add extra checks to Runtime.IsUserType to detect invalid pointers. (#21001) 2024-08-12 13:41:21 +02:00
Makefile [Darwin] Treat this code as a framework, which simplifies things a little bit. (#20833) 2024-07-09 16:24:26 +02:00
Makefile.generator [src] Add a few helper make targets. (#19697) 2024-01-02 14:24:24 +01:00
MinimumVersions.cs.in [src] Parameterize the min OS versions when generating MinimumVersions.cs (#16984) 2022-12-12 10:43:48 +01:00
MonoNativeFunctionWrapperAttribute.cs
MonoPInvokeCallbackAttribute.cs
MonoTouch.NUnitLite.maccatalyst.templ.csproj
MonoTouch.NUnitLite.templ.csproj
MonoTouch.NUnitLite.tvos.templ.csproj
MonoTouch.NUnitLite.watchos.templ.csproj
OpenTK.dll.sources
README.md
Resources.Designer.cs [bgen] Add support for specifying the backing field for strong enums using a new BackingFieldType attribute. (#21016) 2024-08-14 21:20:43 +02:00
Resources.resx [bgen] Add support for specifying the backing field for strong enums using a new BackingFieldType attribute. (#21016) 2024-08-14 21:20:43 +02:00
Version.in
accelerate.cs
accessibility.cs [Accessibility] Complete the binding for xcode 15. (#19098) 2023-09-26 08:41:44 -04:00
accounts.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
addressbook.cs
addressbookui.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
adservices.cs [autoformat] Add all of src/. (#16958) 2022-12-06 11:07:43 +01:00
adsupport.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
appclip.cs [autoformat] Add all of src/. (#16958) 2022-12-06 11:07:43 +01:00
appkit.cs [AppKit] Improve bindings for NSPasteboard and NSPasteboardReading a bit. (#20643) 2024-05-30 08:23:54 +02:00
apptrackingtransparency.cs
arkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
assetslibrary.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
audiotoolbox.cs
audiounit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
authenticationservices.cs [xcode15.4] Update bindings to Xcode 15.4 (#20865) 2024-07-11 14:09:52 -04:00
automaticassessmentconfiguration.cs [xcode15.4] Update bindings to Xcode 15.4 (#20865) 2024-07-11 14:09:52 -04:00
avfoundation.cs [bgen] Generate Obsolete + EditorBrowsable attributes in a few more cases. (#21135) 2024-08-31 00:48:17 +02:00
avkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
avrouting.cs [src] Fix containing namespace/framework for AVCustomRoutingControllerDelegate. (#18137) 2023-04-26 15:24:46 +02:00
backgroundassets.cs [BackgroundAssets] Add support for Xcode 15 beta 6. (#18788) 2023-08-23 11:01:55 -04:00
backgroundtasks.cs Auto-format source code 2023-08-08 21:40:59 +00:00
bmac.ikvm
btouch-native
btouch-native.in
btv
businesschat.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
bwatch
bwatch.in
callkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
carplay.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
cfnetwork.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
chip.cs [autoformat] Add all of src/. (#16958) 2022-12-06 11:07:43 +01:00
cinematic.cs [Cinematic] Add support for Xcode 15 beta 6. (#18686) 2023-08-28 14:59:22 -04:00
classkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
clockkit.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
cloudkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
compression.cs
contacts.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
contactsui.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
coreanimation.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
coreaudiokit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
corebluetooth.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
coredata.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
corefoundation.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
coregraphics.cs [CoreGraphics] Bind the CGSession API. (#21024) 2024-08-14 19:41:28 +02:00
corehaptics.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
coreimage.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
corelocation.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
corelocationui.cs [autoformat] Add all of src/. (#16958) 2022-12-06 11:07:43 +01:00
coremedia.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
coremidi.cs [CoreMidi] Move fields to the api definition. (#21043) 2024-08-22 11:58:09 +02:00
coreml.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
coremotion.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
corenfc.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
coreservices.cs
corespotlight.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
coretelephony.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
coretext.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
corevideo.cs [CoreVideo] Create a strongly typed dictionary for the CVPixelFormat values. (#21110) 2024-08-30 21:01:28 +02:00
corewlan.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
cryptotokenkit.cs [CryptoTokenKit] Bind this framework. Fixes #7876. (#20587) 2024-05-29 20:38:40 +02:00
custom-make.sh
darwin.cs [Darwin] Treat this code as a framework, which simplifies things a little bit. (#20833) 2024-07-09 16:24:26 +02:00
devicecheck.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
devicediscoveryextension.cs [DeviceDiscoveryExtension] Added bindings for DeviceDiscoveryExtension. (#20272) 2024-03-14 07:58:45 +01:00
devicediscoveryui.cs [DeviceDiscoveryUI] Added bindings for DeviceDiscoveryUI. (#20271) 2024-03-08 10:07:39 +01:00
dotnet.tmpl.csproj [src] Improve the generated project files a little bit. (#17812) 2023-03-17 11:48:05 +01:00
error.cs [bgen] Implement support for using default interface members to bind protocols. (#20681) 2024-06-07 16:35:48 +02:00
eventkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
eventkitui.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
executionpolicy.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
extensionkit.cs [ExtensionKit] Add support for xcode15 beta7. (#18929) 2023-09-07 09:05:51 -04:00
externalaccessory.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
fileprovider.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
fileproviderui.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
findersync.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
foundation.cs [bgen] Add support for specifying the backing field for strong enums using a new BackingFieldType attribute. (#21016) 2024-08-14 21:20:43 +02:00
frameworks.sources [CoreGraphics] Bind the CGSession API. (#21024) 2024-08-14 19:41:28 +02:00
gamecontroller.cs [GameController] Make a few structs blittable. (#20697) 2024-06-10 11:52:24 +02:00
gamekit.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
gameplaykit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
generate-defines.csharp Simplify argument logic in the C# scripts. (#19805) 2024-01-15 16:51:36 +01:00
generate-embed-files.sh [dotnet] add sourcelink support (#20054) 2024-02-26 08:10:26 -08:00
generate-errors.csharp Simplify argument logic in the C# scripts. (#19805) 2024-01-15 16:51:36 +01:00
generate-frameworks.csharp Simplify argument logic in the C# scripts. (#19805) 2024-01-15 16:51:36 +01:00
generate-sourcelink-json.csharp [dotnet] add sourcelink support (#20054) 2024-02-26 08:10:26 -08:00
generator-diff.mk
generator.csproj [generator] Add support for XML documentation in the API definitions. Fixes #17397. (#20253) 2024-03-13 11:19:36 +01:00
generator.sln
glkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
global.css
healthkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
healthkitui.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
homekit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
iad.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
identitylookup.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
identitylookupui.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
imagecapturecore.cs Merge remote-tracking branch 'origin/net8.0' into bump-main-in-net8.0-2023-02-06 2023-02-07 07:18:23 +01:00
imageio.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
imagekit.cs [src] Remove the Protocolize attribute. (#19684) 2024-01-11 16:23:15 +01:00
intents.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
intentsui.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
iosurface.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
ituneslibrary.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
javascriptcore.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
linkpresentation.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
localauthentication.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
localauthenticationembeddedui.cs [autoformat] Add all of src/. (#16958) 2022-12-06 11:07:43 +01:00
mailkit.cs [autoformat] Add all of src/. (#16958) 2022-12-06 11:07:43 +01:00
mapkit.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
mediaaccessibility.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
medialibrary.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
mediaplayer.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
mediasetup.cs [autoformat] Add all of src/. (#16958) 2022-12-06 11:07:43 +01:00
mediatoolbox.cs
messages.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
messageui.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
metal.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
metalfx.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
metalkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
metalperformanceshaders.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
metalperformanceshadersgraph.cs [src/generator] Stop implying Mac Catalyst availability attributes from the iOS attributes. (#17375) 2023-01-31 14:51:53 +01:00
metrickit.cs [MetricKit] Add support for Xcode 15 beta 8 (#18958) 2023-09-08 10:17:57 -04:00
mlcompute.cs [src/generator] Stop implying Mac Catalyst availability attributes from the iOS attributes. (#17375) 2023-01-31 14:51:53 +01:00
mobilecoreservices.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
modelio.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
multipeerconnectivity.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
naturallanguage.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
nearbyinteraction.cs [NerabyInteraction] Add support for xcode 15. (#19273) 2023-10-20 10:57:53 -04:00
network.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
networkextension.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
newsstandkit.cs [NewsstandKit] Remove this framework. 2023-08-04 11:47:27 -04:00
notificationcenter.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
opengl.cs
opengles.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
opentk.csproj
opentk.mk [src] Standardize a few variable names between platforms. (#17428) 2023-02-03 16:31:09 +01:00
oslog.cs [src/generator] Stop implying Mac Catalyst availability attributes from the iOS attributes. (#17375) 2023-01-31 14:51:53 +01:00
packages.config
passkit.cs [xcode15.4] Update bindings to Xcode 15.4 (#20865) 2024-07-11 14:09:52 -04:00
pdfkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
pencilkit.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
phase.cs [PHASE] Add support for Xcode 15 (#19104) 2023-10-05 09:50:05 -07:00
photos.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
photosui.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
printcore.cs
pushkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
pushtotalk.cs [Xcode 15.2] Bump to Xcode 15.2 (#19785) 2024-01-12 04:56:22 -05:00
qtkit.cs
quartzcomposer.cs [autoformat] Add all of src/. (#16958) 2022-12-06 11:07:43 +01:00
quicklook.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
quicklookUI.cs [src] Fix capitalization in a few APIs for XAMCORE_5_0. (#20281) 2024-03-08 10:02:00 +01:00
quicklookthumbnailing.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
replaykit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
rosetta.pl
safariservices.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
safetykit.cs [SafetyKit] Added bindings for SafetyKit. (#20263) 2024-03-15 08:15:01 +01:00
scenekit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
screencapturekit.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
screentime.cs [autoformat] Add all of src/. (#16958) 2022-12-06 11:07:43 +01:00
scriptingbridge.cs [src] Remove the Protocolize attribute. (#19684) 2024-01-11 16:23:15 +01:00
searchkit.cs [autoformat] Add all of src/. (#16958) 2022-12-06 11:07:43 +01:00
security.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
sensitivecontentanalysis.cs [SensitiveContentAnalysis] Add support for Xcode 15 (#19020) 2023-09-15 09:49:05 -07:00
sensorkit.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
servicemanagement.cs Auto-format source code. (#18278) 2023-05-16 12:46:24 +02:00
sharedwithyou.cs [src/generator] Stop implying Mac Catalyst availability attributes from the iOS attributes. (#17375) 2023-01-31 14:51:53 +01:00
sharedwithyoucore.cs [src/generator] Stop implying Mac Catalyst availability attributes from the iOS attributes. (#17375) 2023-01-31 14:51:53 +01:00
shazamkit.cs [ShazamKit] Add support for Xcode 15 (#19005) 2023-09-18 08:29:29 -07:00
social.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
soundanalysis.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
speech.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
spritekit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
storekit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
symbols.cs [Symbols] Add support for the new Xcode 15 Symbols framework. (#18642) 2023-08-15 11:53:48 -04:00
systemconfiguration.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
threadnetwork.cs [ThreadNetwork] Bump bindings to Xcode 14.3 Beta 2 2023-03-29 14:37:51 -04:00
touch-unit.sources
tvmlkit.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
tvservices.cs [src] Remove redundant availability attributes. 2023-02-03 09:10:47 +01:00
tvuikit.cs [autoformat] Add all of src/. (#16958) 2022-12-06 11:07:43 +01:00
twitter.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
uikit.cs [xcode15.4] Update bindings to Xcode 15.4 (#20865) 2024-07-11 14:09:52 -04:00
uniformtypeidentifiers.cs [UniformTypeIdentifiers] Add support for Xcode 15 beta 8 (#18942) 2023-09-08 10:16:14 -04:00
usernotifications.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
usernotificationsui.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
videosubscriberaccount.cs [xcode15.3] Bump to Xcode 15.3 bindings (#20780) 2024-07-11 11:41:31 +02:00
videotoolbox.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
vision.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
visionkit.cs [src/generator] Stop implying Mac Catalyst availability attributes from the iOS attributes. (#17375) 2023-01-31 14:51:53 +01:00
watchconnectivity.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
watchkit.cs [src] Remove the Protocolize attribute. (#19684) 2024-01-11 16:23:15 +01:00
webkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02:00
xamios.tmpl.csproj
xammac.pc.in
xammac.tmpl.csproj
xammaccatalyst.tmpl.csproj
xamtvos.tmpl.csproj
xamwatch.tmpl.csproj
xkit.cs [src/docs] Add xml documentation for types. (#20672) 2024-06-06 07:37:52 +02: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 main'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
Xamarin.Mac.dll MONOMAC
Xamarin.WatchOS.dll IPHONE MONOTOUCH WATCH XAMCORE_3_0
Xamarin.TVOS.dll IPHONE MONOTOUCH TVOS 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 (System.Runtime.InteropServices.NFloat in .NET).

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
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

Source Localization

Coming soon!

See Localization Wiki for more details on our localization process

or the OneLocBuild Wiki for information on OneLocBuild.