xamarin-macios/src
Sebastien Pouliot 533a68ddf3
[foundation] Remove unused (internal) NSLogWriter (#5357)
This code was moved inside mono since it's used for `Console` output
https://github.com/mono/mono/blob/master/mcs/class/corlib/System/Console.iOS.cs
2019-01-09 09:27:54 -05:00
..
ARKit Merge branch 'xcode9.3' 2018-04-03 14:14:07 -04:00
AVFoundation Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
AVKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Accelerate PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Accounts PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
AddressBook Reuse Libraries.*.Handle instead of dlopen'ing multiple times the same libraries. (#4911) 2018-10-03 14:29:42 +02:00
AddressBookUI PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
AppKit [appkit] Use generated bindings for NS[Open|Save].[Open|Save]Panel. Fixes #5336 (#5341) 2019-01-03 19:26:21 -05:00
AssetsLibrary PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
AudioToolbox Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
AudioUnit [AudioUnit] Adds 'Latency' property [get|set]ter to AudioUnit object (#5221) 2018-12-10 13:13:20 -05:00
BusinessChat Merge branch 'xcode9.3' 2018-04-03 14:14:07 -04:00
CFNetwork [CFNetwork] Fix CVE 2018-8292 on Mac OS X. (#5271) 2018-12-14 11:31:35 +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] Add missing 'CLKComplicationFamily' enum values (#4818) 2018-09-14 18:45:37 -04:00
CloudKit [cloudkit] Review missing 'init' on some types, in particular allow them outside watchOS 2018-08-22 14:56:51 -04:00
Compression [tests] Add introspection tests for Constants.*.cs.in. Fixes #5047 (#5159) 2018-11-22 13:24:55 -05:00
Contacts [contacts] Update for beta 2 (#4298) 2018-06-20 11:26:49 -04:00
CoreAnimation PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
CoreBluetooth [src] Adjust availability attributes to match API available on older macOS versions. 2018-07-03 16:55:30 +02:00
CoreData PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
CoreFoundation Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
CoreGraphics Merge remote-tracking branch 'origin/master' into mono-2018-08 2018-11-16 14:26:50 -05:00
CoreImage [CoreFoundation] Fetch a few static values lazily. (#4924) 2018-10-09 15:51:17 +02:00
CoreLocation [corelocation] Update for beta 1 (macOS only changes) (#4215) 2018-06-11 17:42:18 -07:00
CoreML PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
CoreMedia Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
CoreMidi Reuse Libraries.*.Handle instead of dlopen'ing multiple times the same libraries. (#4911) 2018-10-03 14:29:42 +02:00
CoreMotion PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
CoreServices [mac][coreservices] Add recent/missing enums for FSEvent* API. Fixes #5353 (#5356) 2019-01-09 09:27:18 -05:00
CoreSpotlight PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
CoreTelephony [ios][coretelephony] Update for GM (#4803) 2018-09-13 03:56:20 -04:00
CoreText [coretext] Simplify CTRunDelegate code. Fixes #5303 (#5321) 2019-01-08 09:34:48 -05:00
CoreVideo Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
CoreWlan PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Darwin Merge branch 'xcode9.3' into d15-7-merge-xcode9.3 2018-03-29 19:31:01 -04:00
EventKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
EventKitUI PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
ExternalAccessory PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
FinderSync PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Foundation [foundation] Remove unused (internal) NSLogWriter (#5357) 2019-01-09 09:27:54 -05:00
GLKit [glkit] Update (deprecate in favor of Metal) for beta1 (#4245) 2018-06-13 22:25:57 -04:00
GameController [gamecontroller] Update for Xcode 10.1 beta 2 (#4996) 2018-10-17 15:13:04 -04:00
GameKit Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
GameplayKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
HealthKit [HealthKit] Use generated NSString-backed enums. Fixes #4183. (#4786) 2018-09-12 11:23:02 -04:00
HomeKit [homekit] Remove export for 'RemoveUser' (iOS prohibited) (#4542) 2018-08-01 08:13:49 -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 Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
ImageKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
InputMethodKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Intents [watchos][intents] Enable MediaPlayer related API (now enabled for watchOS) (#4505) 2018-07-26 08:38:12 -04:00
JavaScriptCore PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
LocalAuthentication PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MapKit [mapkit] Fix compatibility stub for MKUserTrackingBarButtonItem which is only required for iOS (and not other platforms) (#4381) 2018-07-03 13:01:32 -04:00
MediaAccessibility Reuse Libraries.*.Handle instead of dlopen'ing multiple times the same libraries. (#4911) 2018-10-03 14:29:42 +02:00
MediaLibrary PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MediaPlayer [mediaplayer] Fix NRE in MPNowPlayingInfoCenter wrt null dictionary entries. Fixes #4988 (#4997) 2018-10-17 08:23:47 -04:00
MediaToolbox PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MessageUI PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
Metal [Metal] Fixe the size of structures. Fixes #4611 (#4838) 2018-09-21 09:33:27 -04:00
MetalKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MetalPerformanceShaders PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MobileCoreServices [coreservices] Update up to beta 5 (#4590) 2018-08-08 12:38:03 -04:00
ModelIO PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MultipeerConnectivity PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
NativeTypes PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
NaturalLanguage [naturallanguage] Fix helper API for `NLTagger.GetTag` and cleanup/fix other API. Fixes #4774 (#4782) 2018-09-11 08:40:42 -04:00
Network [CoreFoundation] Refactor Dispatch code to take advantage of recent code improvements. (#4939) 2018-10-11 07:26:55 +02:00
NetworkExtension [networkextension] Obsolete NWPath and NWHostEndpoint default constructors (#4624) 2018-08-15 21:44:13 -04:00
NewsstandKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
NotificationCenter PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
ObjCRuntime [ObjCRuntime] Verify the system mono version at launch. (#5292) 2018-12-19 17:03:57 +01:00
OpenGL Initial OpenGL deprecation (#4458) 2018-07-20 08:45:47 -05:00
OpenGLES Reuse Libraries.*.Handle instead of dlopen'ing multiple times the same libraries. (#4911) 2018-10-03 14:29:42 +02:00
PassKit [PassKit] Added support for Xcode 10 up to beta 3. (#4423) 2018-07-13 21:21:16 -05:00
PdfKit Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
Photos [Photos] Update for Xcode10-beta2. (#4371) 2018-07-03 17:26:40 +02:00
PhotosUI [Photos] Update for Xcode10-beta2. (#4371) 2018-07-03 17:26:40 +02: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 PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
SafariServices [safariservices] Updates (some deprecations) for beta 1 (#4206) 2018-06-11 05:37:06 -07:00
SceneKit Merge remote-tracking branch 'origin/master' into mono-2018-08 2018-11-16 14:26:50 -05: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 Merge remote-tracking branch 'origin/master' into mono-2018-08 2018-11-16 14:26:50 -05: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 Merge branch 'd15-8' into xcode10-rebase-15.8 2018-08-13 21:04:56 -04:00
StoreKit [StoreKit] Update bindings to Xcode 10 Beta 1, nothing in beta2 (#4367) 2018-06-29 13:50:20 -05:00
System.ComponentModel Build the platform assemblies. 2016-04-24 14:47:26 -04:00
SystemConfiguration Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
TVMLKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05: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 [uikit] Preserve method associated with `updateSearchResultsForSearchController:`. Fixes #5024 (#5027) 2018-10-22 21:54:54 -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 Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
Vision [Vision] Update bindings to Xcode 10 beta 1, nothing in beta 2 (#4321) 2018-08-01 10:50:13 -04:00
WKWebKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
WatchConnectivity PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
WatchKit PMCS Removal (#3197) 2018-02-05 10:26:29 -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
iAd [iAd] Xcode 10 beta 3 support. (#4425) 2018-07-13 16:23:44 +02:00
iTunesLibrary [iTunesLibrary] Xcode 10 beta 3 support. (#4462) 2018-08-08 16:34:16 +02:00
.gitignore [generator] Build using csproj instead of manual csc command. Partial fix for #4384. 2018-08-23 13:49:40 +02:00
AssemblyInfo.cs.in [mtouch] Fix [InternalsVisibleTo] attribute parsing. Fixes #4895 (#4917) 2018-10-03 15:00:59 -04:00
Compat.iOS.cs Build the platform assemblies. 2016-04-24 14:47:26 -04:00
Constants.iOS.cs.in [tests] Add introspection tests for Constants.*.cs.in. Fixes #5047 (#5159) 2018-11-22 13:24:55 -05:00
Constants.mac.cs.in [ObjCRuntime] Verify the system mono version at launch. (#5292) 2018-12-19 17:03:57 +01:00
Constants.tvos.cs.in [tests] Add introspection tests for Constants.*.cs.in. Fixes #5047 (#5159) 2018-11-22 13:24:55 -05:00
Constants.watch.cs.in [tests] Add introspection tests for Constants.*.cs.in. Fixes #5047 (#5159) 2018-11-22 13:24:55 -05:00
Makefile [ObjCRuntime] Verify the system mono version at launch. (#5292) 2018-12-19 17:03:57 +01:00
Makefile.generator Clone files if possible whenever it makes sense. (#5049) 2018-10-29 16:09:30 +01: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 [build] Remove MT.D source build and replace it with a binary (#3957) 2018-04-23 13:08:58 -05:00
MonoTouch.NUnitLite.tvos.templ.csproj [build] Remove MT.D source build and replace it with a binary (#3957) 2018-04-23 13:08:58 -05:00
MonoTouch.NUnitLite.watchos.templ.csproj [src] Make project templates MSBuild-compatible. 2017-01-05 13:09:29 +01:00
Obsoletes.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
OpenTK.dll.sources Build the platform assemblies. 2016-04-24 14:47:26 -04:00
README.md [src] Use generated rsp files when executing the generator. 2018-08-23 13:38:32 +02:00
Version.in Build the platform assemblies. 2016-04-24 14:47:26 -04:00
accelerate.cs Build the platform assemblies. 2016-04-24 14:47:26 -04:00
accounts.cs [accounts] Update for beta 2 (#4297) 2018-06-20 11:25:51 -04:00
addressbook.cs Build the platform assemblies. 2016-04-24 14:47:26 -04:00
addressbookui.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
adsupport.cs [macos][adsupport] Update for GM (#4800) 2018-09-13 00:37:33 -04:00
appkit.cs [appkit] Use generated bindings for NS[Open|Save].[Open|Save]Panel. Fixes #5336 (#5341) 2019-01-03 19:26:21 -05:00
arkit.cs [arkit] Fix crash in ARConfiguration.SupportedVideoFormats. Fixes #5347 (#5348) 2019-01-04 17:29:19 -05:00
assetslibrary.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
audiotoolbox.cs Build the platform assemblies. 2016-04-24 14:47:26 -04:00
audiounit.cs [AudioToolbox] Add Xcode 10 beta 5 support. (#4559) 2018-08-02 20:29:15 -04:00
authenticationservices.cs [authenticationservices] New iOS-only framework added in beta 1 (#4234) 2018-06-13 14:06:37 -04:00
avfoundation.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
avkit.cs [AVKit] Update for Xcode10-beta2 (#4314) 2018-06-21 16:23:36 +02:00
bmac [XM] Only use bgen, not bmac[-mobile-mono]. Fixes #3675. (#4785) 2018-09-13 15:27:34 +02:00
bmac.ikvm Create classic snapshot of bgen and update tests/scripts (#3153) 2018-01-03 15:41:49 -06:00
btouch-native.in [generator] Use target framework to determine the platform. (#1690) 2017-02-17 14:53:58 -05:00
btouch.cs Remove references to bugzilla and replace with github (#4920) 2018-10-04 09:43:55 -04:00
btouch.in [generator] Use target framework to determine the platform. (#1690) 2017-02-17 14:53:58 -05:00
businesschat.cs Merge branch 'xcode9.3' 2018-04-03 14:14:07 -04:00
bwatch.in Build the platform assemblies. 2016-04-24 14:47:26 -04:00
callkit.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
carplay.cs [CarPlay] Update for Xcode 10 beta 6. (#4650) 2018-08-20 14:49:02 -04:00
cfnetwork.cs [coreservices] Update up to beta 5 (#4590) 2018-08-08 12:38:03 -04:00
classkit.cs Fix bindings since 15.7 does not use [p]mcs but csc 2018-05-29 17:40:16 -04:00
clockkit.cs [watchos][clockkit] Update for GM (#4801) 2018-09-13 05:54:08 -04:00
cloudkit.cs [cloudkit] Review missing 'init' on some types, in particular allow them outside watchOS 2018-08-22 14:56:51 -04:00
compression.cs [Compression] Add compression framework bindings. (#3942) 2018-05-11 15:54:31 -04:00
contacts.cs [Contacts] Update bindings to Xcode 10 Beta 4 (#4475) 2018-07-20 14:40:34 -05:00
contactsui.cs [Appkit] Fix xtro DesignatedInitializer output (#3474) 2018-02-14 08:09:43 -06:00
coreanimation.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
coreaudiokit.cs [CoreAudioKit] Fix macOS xtro output (#3508) 2018-02-16 05:49:05 -06:00
corebluetooth.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
coredata.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
corefoundation.cs [CoreFoundation] Fetch a few static values lazily. (#4924) 2018-10-09 15:51:17 +02:00
coregraphics.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
coreimage.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
corelocation.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
coremedia.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
coremidi.cs [coremidi] Update to beta 5 (#4550) 2018-08-02 09:15:09 -04:00
coreml.cs [coreml] Update for Xcode 10 GM (#4798) 2018-09-12 22:14:19 -04:00
coremotion.cs [CoreMotion] Update to Xcode 10 Beta 4 (#4478) 2018-07-20 14:42:29 -05:00
corenfc.cs [CoreNFC] Update bindings to Xcode 10 beta 1 (#4246) 2018-06-13 22:21:17 -05:00
coreservices.cs Build the platform assemblies. 2016-04-24 14:47:26 -04:00
corespotlight.cs [tests] Add introspection tests to ensure there are native linking instructions for all frameworks. Fixes #3976 (#4194) (#4208) 2018-06-11 08:01:41 -07:00
coretelephony.cs Merge xcode10.1 into master 2018-10-31 15:54:48 -04:00
coretext.cs [CoreText] Update bindings to Xcode 10 Beta 1 & 2 (#4368) 2018-07-03 09:48:10 -05:00
corevideo.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
corewlan.cs Add xtro test for [Deprecated] attributes and fix up usages (#4966) 2018-10-15 10:43:17 -05:00
custom-make.sh Build the platform assemblies. 2016-04-24 14:47:26 -04:00
devicecheck.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
error.cs Remove references to bugzilla and replace with github (#4920) 2018-10-04 09:43:55 -04:00
eventkit.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
eventkitui.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
externalaccessory.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
fileprovider.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
fileproviderui.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
findersync.cs [FinderSync] Update to Xcode 10 Beta 4 (#4479) 2018-07-20 14:43:01 -05:00
foundation.cs Merge remote-tracking branch 'origin/master' into mono-2018-08 2018-11-16 14:26:50 -05:00
frameworks.sources [appkit] Use generated bindings for NS[Open|Save].[Open|Save]Panel. Fixes #5336 (#5341) 2019-01-03 19:26:21 -05:00
gamecontroller.cs [gamecontroller] Update for Xcode 10.1 beta 2 (#4996) 2018-10-17 15:13:04 -04:00
gamekit.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
gameplaykit.cs Merge branch 'd15-8' into xcode10-rebase-15.8 2018-08-13 21:04:56 -04:00
generate-frameworks.csharp [generator] Generate the list of frameworks in each platform based on the information in the makefiles. (#1687) 2017-02-13 18:01:16 +01:00
generator-attribute-manager.cs Remove references to bugzilla and replace with github (#4920) 2018-10-04 09:43:55 -04:00
generator-attributes.cs [CoreFoundation, Network, Security] Address review comments 2018-07-31 16:30:23 -04:00
generator-diff.mk [generator] Exclude pdb files from the diff. (#2287) 2017-07-04 07:29:17 +02:00
generator-enums.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
generator-filters.cs [coreimage] Add generator support for CIVector[] and enable it in CIMeshGenerator. Fix #4226 (#4715) 2018-08-29 13:29:34 -04:00
generator-typemanager.cs Remove references to bugzilla and replace with github (#4920) 2018-10-04 09:43:55 -04:00
generator.cs [generator] Throw PlatformNotSupportException in 32-bit mode for 64-bit-only iOS API. Fixes #4689. (#4954) 2018-10-11 08:53:44 +02:00
generator.csproj [generator] Fix launch arguments in the project file. (#5323) 2019-01-08 09:42:37 +01:00
generator.sln [tests] Port the makefile-based generator tests to NUnit. (#3019) 2017-11-20 14:55:16 +01:00
glkit.cs [glkit] Update (deprecate in favor of Metal) for beta1 (#4245) 2018-06-13 22:25:57 -04:00
global.css Build the platform assemblies. 2016-04-24 14:47:26 -04:00
healthkit.cs Add xtro test for [Deprecated] attributes and fix up usages (#4966) 2018-10-15 10:43:17 -05:00
healthkitui.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
homekit.cs [homekit] Remove export for 'RemoveUser' (iOS prohibited) (#4542) 2018-08-01 08:13:49 -04:00
iad.cs [iad] Update for beta 5 (#4544) 2018-08-02 10:13:15 -04:00
identitylookup.cs [identitylookup] Update for Xcode 10.1 beta 3 (#4998) 2018-10-16 20:49:01 -04:00
identitylookupui.cs [IdentityLookupUI] Add bindings for Xcode 10 Beta 1 (#4281) 2018-06-15 20:46:35 -05:00
imagecapturecore.cs [ImageCaptureCore] Remove redundant availability attribute. 2018-11-20 08:41:36 +01:00
imageio.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02: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 [intents] Update for Xcode 10.1 beta 3 (#4999) 2018-10-16 20:49:16 -04:00
intentsui.cs [IntentsUI] Update for Xcode 10 beta 6 (#4640) 2018-08-20 09:20:01 -04:00
iosurface.cs [IOSurface] Update for Xcode10-beta2 (#4322) 2018-06-22 16:41:11 +02:00
ituneslibrary.cs [iTunesLibrary] Xcode 10 beta 3 support. (#4462) 2018-08-08 16:34:16 +02:00
javascriptcore.cs [generator] Register models with unique names to not match platform types. Fixes #3875. (#3879) (#3888) 2018-04-06 19:58:20 +02:00
localauthentication.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
mapkit.cs [mapkit] Add missing [NullAllowed] in initWithAnnotation:reuseIdentifier: Fixes 5345 (#5346) 2019-01-04 13:23:34 -05:00
mediaaccessibility.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
medialibrary.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
mediaplayer.cs Add xtro test for [Deprecated] attributes and fix up usages (#4966) 2018-10-15 10:43:17 -05:00
mediatoolbox.cs Build the platform assemblies. 2016-04-24 14:47:26 -04:00
messages.cs [messages] Updates for beta 1 (#4230) 2018-06-12 13:59:46 -04:00
messageui.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
metal.cs [Metal/SpriteKit] Fix availability attributes on a few API. (#5033) 2018-10-24 23:58:14 +02:00
metalkit.cs [metalkit] Add 'MTKTextureLoader' missing bindings (fix xtro) (#3561) (#3566) 2018-02-22 12:08:06 -05:00
metalperformanceshaders.cs Add xtro test for [Deprecated] attributes and fix up usages (#4966) 2018-10-15 10:43:17 -05:00
mobilecoreservices.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
modelio.cs [intro] Fix missing availability attributes that triggers failures on iOS9 (and lower) (#4717) 2018-08-28 21:25:41 -04:00
multipeerconnectivity.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
naturallanguage.cs [naturallanguage] Fix helper API for `NLTagger.GetTag` and cleanup/fix other API. Fixes #4774 (#4782) 2018-09-11 08:40:42 -04:00
network.cs [Network] Update to Xcode 10 beta 3. (#4686) 2018-08-28 15:11:25 -04:00
networkextension.cs Add xtro test for [Deprecated] attributes and fix up usages (#4966) 2018-10-15 10:43:17 -05:00
newsstandkit.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
notificationcenter.cs [Appkit] Fix xtro DesignatedInitializer output (#3474) 2018-02-14 08:09:43 -06:00
opengl.cs Build the platform assemblies. 2016-04-24 14:47:26 -04:00
opengles.cs [opengles] Update for beta 2 (deprecation warnings) (#4366) 2018-06-29 09:35:54 -04:00
opentk.csproj Build the platform assemblies. 2016-04-24 14:47:26 -04:00
passkit.cs Add xtro test for [Deprecated] attributes and fix up usages (#4966) 2018-10-15 10:43:17 -05:00
pdfkit.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
photos.cs [Photos] Update bindings to Xcode 10 Beta 4 (#4484) 2018-07-20 14:46:24 -05:00
photosui.cs [Photos] Update for Xcode10-beta2. (#4371) 2018-07-03 17:26:40 +02:00
printcore.cs [PrintCore] Add first pass of bindings (#1067) 2016-11-02 13:52:47 -05:00
pushkit.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
qtkit.cs [Appkit] Fix xtro DesignatedInitializer output (#3474) 2018-02-14 08:09:43 -06:00
quartzcomposer.cs [macos][quartzcomposer] Update for beta 4 (#4493) 2018-07-24 08:24:42 -04:00
quicklook.cs [QuickLook] Add [ThreadSafe] to `QLThumbnailReply` and `QLFileThumbnailRequest` (#5119) 2018-11-17 23:08:09 -05:00
quicklookUI.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
replaykit.cs Add xtro test for [Deprecated] attributes and fix up usages (#4966) 2018-10-15 10:43:17 -05:00
rosetta.pl Build the platform assemblies. 2016-04-24 14:47:26 -04:00
safariservices.cs [safariservices] Updates (some deprecations) for beta 1 (#4206) 2018-06-11 05:37:06 -07:00
scenekit.cs Merge remote-tracking branch 'origin/master' into mono-2018-08 2018-11-16 14:26:50 -05: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 Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
social.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
speech.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
spritekit.cs [Metal/SpriteKit] Fix availability attributes on a few API. (#5033) 2018-10-24 23:58:14 +02:00
storekit.cs [storekit] Update for beta 5 (#4535) 2018-07-31 21:50:55 -04:00
system-drawing.sources Build the platform assemblies. 2016-04-24 14:47:26 -04: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 [src] Bump Touch.Unit dependency to get HttpTextWriter addition. (#88) 2016-05-26 15:34:47 +02:00
tvmlkit.cs Update for xcode 10 beta 5 (#4527) 2018-07-31 08:49:19 -04:00
tvservices.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
tvuikit.cs [tvos][tvuikit] Update for beta 5 (#4533) 2018-07-31 21:50:10 -04:00
twitter.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
uikit.cs Merge xcode10.1 into master 2018-10-31 15:54:48 -04:00
usernotifications.cs [foundation/usernotifications] Use NSString to preserve localization (#4697) 2018-08-27 10:07:36 -04:00
usernotificationsui.cs [UserNotificationsUI] Update the fro Xcode 10. (#4268) 2018-06-18 16:05:20 +02:00
videosubscriberaccount.cs [videosubscriberaccount] Update for beta 1 (#4275) 2018-06-15 16:43:23 -04:00
videotoolbox.cs Remove 10.7 & 10.8 availability attributes, since they're redundant now. 2018-10-25 17:12:39 +02:00
vision.cs [Vision] Update bindings to Xcode 10 beta 1, nothing in beta 2 (#4321) 2018-08-01 10:50:13 -04:00
watchconnectivity.cs [watchconnectivity] Updates for beta 1 (#4205) 2018-06-11 05:34:40 -07:00
watchkit.cs [watchos][watchkit] Update for GM (#4799) 2018-09-12 23:03:19 -04:00
webkit.cs Add xtro test for [Deprecated] attributes and fix up usages (#4966) 2018-10-15 10:43:17 -05:00
wkwebkit.cs Merge branch 'xcode9.3' 2018-04-03 14:14:07 -04: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 Build the platform assemblies. 2016-04-24 14:47:26 -04:00
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 [NSLayoutManager] Complete bindings for NSLayoutManager. Fixes #4740. (#4853) 2018-10-01 14:17:28 +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 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
monotouch.dll IPHONE MONOTOUCH IOS
Xamarin.iOS.dll IPHONE MONOTOUCH IOS XAMCORE_2_0
XamMac.dll MONOMAC XAMARIN_MAC
Xamarin.Mac.dll MONOMAC XAMARIN_MAC 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