xamarin-macios/src
Sebastien Pouliot f471f9b591
[security] Update for beta 5 (only) change (#4600)
2018-08-09 10:12:07 -04:00
..
ARKit Remove XamCore. and a couple of nint/nuint enums 2018-03-29 19:46:17 -06:00
AVFoundation [AVFoundation] bump for Xcode10-beta 2. Includes AVFAudio. (#4313) 2018-06-22 10:36:01 +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 Optimize calls to BlockLiteral.SetupBlock to inject the block signature. (#3391) 2018-02-06 07:08:15 +01:00
AddressBookUI PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
AppKit AppKit 10b4 (#4488) 2018-07-31 15:17:25 -05:00
AssetsLibrary PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
AudioToolbox [audiotoolbox][tvos] Remove AudioFileReadPackets symbol (#4570) 2018-08-04 00:24:54 -04:00
AudioUnit Merge branch 'xcode9.3' into d15-7-merge-xcode9.3 2018-03-29 19:31:01 -04:00
BusinessChat Remove XamCore. and a couple of nint/nuint enums 2018-03-29 19:46:17 -06:00
CFNetwork [coreservices] Update up to beta 5 (#4590) 2018-08-08 12:38:03 -04: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-03 19:12:02 -04:00
ClockKit [watchos][clockkit] Update for beta 3 (#4393) 2018-07-04 15:53:46 -04:00
CloudKit [CloudKit] Update bindings to Xcode 10 Beta 1, nothing in beta 2 (#4354) 2018-06-28 20:08:03 -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 Use 'ref BlockLiteral' in P/Invokes instead of unsafe code whenever we don't need to pass null blocks. 2018-08-01 17:11:07 +02:00
CoreGraphics [CoreGraphics] Add missing API added in Xcode 10 beta 1. (#4547) 2018-08-02 20:30:41 -04:00
CoreImage Fix code to compile in csc. (#3414) 2018-02-07 22:03:17 +01: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 [CoreMedia] Add Xcode 10 beta 5 support. (#4567) 2018-08-04 00:24:24 -04:00
CoreMidi [CoreMidi] Xcode 10 beta 3 update. (#4470) 2018-07-23 11:03:17 +02:00
CoreMotion PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
CoreServices PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
CoreSpotlight PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
CoreTelephony PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
CoreText [CoreText] Update bindings to Xcode 10 Beta 1 & 2 (#4368) 2018-07-03 09:48:10 -05:00
CoreVideo [corevideo] Update for beta 3 (#4398) 2018-07-05 08:54:56 -04: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 [iTunesLibrary] Xcode 10 beta 3 support. (#4462) 2018-08-08 16:34:16 +02:00
GLKit [glkit] Update (deprecate in favor of Metal) for beta1 (#4245) 2018-06-13 22:25:57 -04:00
GameController [src] Adjust availability attributes to match API available on older macOS versions. 2018-07-03 16:55:30 +02:00
GameKit [gamekit] Update for beta2 (largely deprecations) (#4374) 2018-07-01 21:16:57 -04:00
GameplayKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
HealthKit [HealthKit] Update to Xcode10-beta2 (#4336) 2018-06-29 15:41:16 -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
ImageIO [ImageIO] Add support for Xcode 10 beta 5. (#4587) 2018-08-07 21:06:40 -04: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 PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MediaLibrary PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
MediaPlayer [MediaPlayer] Xcode 10 beta 2 support. (#4387) 2018-07-10 18:38:19 +02: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 Optimize calls to BlockLiteral.SetupBlock to inject the block signature. (#3391) 2018-02-06 07:08:15 +01: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] Xcode 10 beta 3 update. (#4390) 2018-07-04 14:43:00 -04:00
Network [Network, Security] Feedback, plus build warnings 2018-08-02 17:38:51 -04:00
NetworkExtension PMCS Removal (#3197) 2018-02-05 10:26:29 -05: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 [Network, ObjCRuntime] Bring back the helper for future simple uses of the block API 2018-08-01 12:20:56 -04:00
OpenGL Initial OpenGL deprecation (#4458) 2018-07-20 08:45:47 -05:00
OpenGLES [opengles] Update for beta 2 (deprecation warnings) (#4366) 2018-06-29 09:35:54 -04:00
PassKit [PassKit] Added support for Xcode 10 up to beta 3. (#4423) 2018-07-13 21:21:16 -05:00
PdfKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05: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 PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
QTKit PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
QuickLook PMCS Removal (#3197) 2018-02-05 10:26:29 -05: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 [scenekit] Avoid breaking change (missing !) (#4126) 2018-07-11 09:51:19 -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 [Network, Security] Feedback, plus build warnings 2018-08-02 17:38:51 -04: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 [SpriteKit] Update bindings to Xcode 10 Beta 1 (#4263) 2018-06-15 00:22:51 -05: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 [systemconfiguration][tvos] CaptiveNetwork API are now marked as prohibited in tvOS (#4357) 2018-06-29 09:35:05 -04: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] Added support for Xcode 10 beta 3. (#4395) 2018-07-06 11:52:56 -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 branch 'xcode9.3' into d15-7-merge-xcode9.3 2018-03-29 19:31:01 -04: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 PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
AssemblyInfo.cs.in [ObjCRuntime] Only use a 'BundleFinder' class when we don't have another internal type we can use. Fixes #56255. (#2099) 2017-05-16 20:50:10 +02:00
Compat.iOS.cs Build the platform assemblies. 2016-04-24 14:47:26 -04:00
Constants.iOS.cs.in Merge xcode10 2018-06-29 22:56:31 -04:00
Constants.mac.cs.in [iTunesLibrary] Xcode 10 beta 3 support. (#4462) 2018-08-08 16:34:16 +02:00
Constants.tvos.cs.in Merge xcode10 2018-06-29 22:56:31 -04:00
Constants.watch.cs.in [MediaPlayer] Xcode 10 beta 2 support. (#4387) 2018-07-10 18:38:19 +02:00
Makefile Build with CSC instead of MCS (#3393) (#3578) 2018-02-26 09:20:54 -06:00
Makefile.generator [generator] Fix project file for debugging Xamarin.Mac configurations. (#4328) 2018-06-25 10:48:02 +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.Dialog-1.templ.csproj [src] Make project templates MSBuild-compatible. 2017-01-05 13:09:29 +01:00
MonoTouch.Dialog-1.tvos.templ.csproj [src] Make project templates MSBuild-compatible. 2017-01-05 13:09:29 +01:00
MonoTouch.NUnitLite.templ.csproj [src] Make project templates MSBuild-compatible. 2017-01-05 13:09:29 +01:00
MonoTouch.NUnitLite.tvos.templ.csproj [src] Make project templates MSBuild-compatible. 2017-01-05 13:09:29 +01: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 PMCS Removal (#3197) 2018-02-05 10:26:29 -05: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 Bump for Xcode 10 beta 3 (#4386) 2018-07-04 11:14:17 +02:00
appkit.cs Fix appkit warning (#4573) 2018-08-04 00:22:07 -04:00
arkit.cs [arkit] Add ARAnchorCopying protocol (#4523) 2018-07-31 21:20:16 -04: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 [AVFoundation] Add support for Xcode 10 beta5. (#4554) 2018-08-02 16:15:16 -04:00
avkit.cs [AVKit] Update for Xcode10-beta2 (#4314) 2018-06-21 16:23:36 +02:00
bmac [generator] Use target framework to determine the platform. (#1690) 2017-02-17 14:53:58 -05:00
bmac.csproj Merge Quote methods into a single class instead of multiple versions (#2153) 2017-06-06 12:32:25 -08: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 [generator] Register models with unique names to not match platform types. Fixes #3875. (#3879) (#3888) 2018-04-06 19:58:20 +02:00
btouch.csproj Build the platform assemblies. 2016-04-24 14:47:26 -04:00
btouch.in [generator] Use target framework to determine the platform. (#1690) 2017-02-17 14:53:58 -05:00
businesschat.cs Remove XamCore. and a couple of nint/nuint enums 2018-03-29 19:46:17 -06: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 Bump for Xcode 10 beta 4 2018-07-18 15:10:41 -05: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-03 19:12:02 -04:00
clockkit.cs [watchos][clockkit] Update for beta 1 (no new API) (#4229) 2018-06-12 13:35:51 -04:00
cloudkit.cs [CloudKit] Update bindings to Xcode 10 Beta 1, nothing in beta 2 (#4354) 2018-06-28 20:08:03 -05: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 [coreanimation] Add new API up to b5 (#4571) 2018-08-07 13:49:30 -04:00
coreaudiokit.cs [CoreAudioKit] Fix macOS xtro output (#3508) 2018-02-16 05:49:05 -06:00
corebluetooth.cs [CoreBluetooth] Add availability attributes for CBUUID.CBUUIDValidRangeString. (#4508) 2018-07-26 15:04:58 +02:00
coredata.cs [CoreData] Xcode10 beta 3 update. (#4424) 2018-07-10 18:34:22 +02:00
corefoundation.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
coregraphics.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
coreimage.cs [CoreImage] Add Xcode 10 beta 5 support. (#4564) 2018-08-03 17:06:45 -04:00
corelocation.cs [corelocation] Update for beta 1 (macOS only changes) (#4215) 2018-06-11 17:42:18 -07:00
coremedia.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
coremidi.cs [coremidi] Update to beta 5 (#4550) 2018-08-02 09:15:09 -04:00
coreml.cs [coreml] Update for Xcode 10 beta 5 (#4534) 2018-07-31 21:50:40 -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 PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
coretext.cs [CoreText] Update bindings to Xcode 10 Beta 1 & 2 (#4368) 2018-07-03 09:48:10 -05:00
corevideo.cs [src] Adjust availability attributes to match API available on older macOS versions. 2018-07-03 16:55:30 +02:00
corewlan.cs CoreWLan 10b1 (#4344) 2018-06-27 12:21:01 -07: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 [generator] Fix bug 52573 - Add nowarn and warnaserror to btouch/bmac (#1882) 2017-03-22 07:52:24 -05:00
eventkit.cs Bump for Xcode 10 beta 3 (#4386) 2018-07-04 11:14:17 +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 Add soft deprecations from Foundation beta 5 on macOS (#4548) 2018-08-02 11:06:28 -05:00
frameworks.sources [iTunesLibrary] Xcode 10 beta 3 support. (#4462) 2018-08-08 16:34:16 +02:00
gamecontroller.cs [src] Adjust availability attributes to match API available on older macOS versions. 2018-07-03 16:55:30 +02:00
gamekit.cs Merge remote-tracking branch 'origin/xcode10' into jenkins-mojave 2018-07-04 12:35:10 +02:00
gameplaykit.cs [GameplayKit] Update bindings to Xcode 10 Beta 1 (#4248) 2018-06-13 21:46:36 -05: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 [generator] Teach generator about WrapAttribute on Getters and Setters (#3388) 2018-02-05 21:14:08 -06: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 properties (to subbed) filters added in beta 2 (#4385) 2018-07-03 15:18:41 -04:00
generator-ikvm.csproj.in PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
generator-typemanager.cs [CoreFondation] Introduce bindings for DispatchIO, add upcoming support for DispatchData on bindings API 2018-07-16 22:44:00 -04:00
generator.cs Merge pull request #4251 from migueldeicaza/xcode10-network 2018-08-08 09:55:06 -04: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 [HealthKit] Update bindings to Xcode 10 Beta 4 (#4480) 2018-07-20 14:43:35 -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 bindings to Xcode 10 Beta 1 (#4276) 2018-06-15 13:55:06 -05:00
identitylookupui.cs [IdentityLookupUI] Add bindings for Xcode 10 Beta 1 (#4281) 2018-06-15 20:46:35 -05:00
imageio.cs [ImageIO] Add support for Xcode 10 beta 5. (#4587) 2018-08-07 21:06:40 -04:00
imagekit.cs Merge branch 'xcode9.3' into d15-7-merge-xcode9.3 2018-03-29 19:31:01 -04:00
inputmethodkit.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
intents.cs [Intents] Update bindings to Xcode 10 Beta 4 (#4482) 2018-07-20 16:34:56 -05:00
intentsui.cs [Intents|UI] Update bindings to Xcode 10 Beta 3 (#4402) 2018-07-05 15:36:24 -05: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] Update for beta2 (macOS only changes) (#4296) 2018-06-20 11:21:15 -04: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 [MediaPlayer] Xcode 10 beta 2 support. (#4387) 2018-07-10 18:38:19 +02: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 [generator] Register models with unique names to not match platform types. Fixes #3875. (#3879) (#3888) 2018-04-06 19:58:20 +02:00
metalkit.cs [metalkit] Add 'MTKTextureLoader' missing bindings (fix xtro) (#3561) (#3566) 2018-02-22 12:08:06 -05:00
metalperformanceshaders.cs Bump for Xcode 10 beta 4 2018-07-18 15:10:41 -05:00
mobilecoreservices.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
modelio.cs [modelio] Update for Xcode 10 beta 5 (#4536) 2018-07-31 21:25:30 -04:00
monotouch-dialog.sources Build the platform assemblies. 2016-04-24 14:47:26 -04:00
multipeerconnectivity.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
naturallanguage.cs [NaturalLanguage] Xcode 10 beta 3 update. (#4390) 2018-07-04 14:43:00 -04:00
network.cs [Network] First pass at the Network bindings 2018-06-13 22:40:04 -04:00
networkextension.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -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 [passkit] Update for beta 5 (#4537) 2018-07-31 21:22:30 -04:00
pdfkit.cs [PDFkit] Fix kPDFDestinationUnspecifiedValue availability (#4444) 2018-07-16 10:37:06 -05: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|UI] Update bindings to Xcode 10 Beta 1 (#4264) 2018-06-15 02:28:06 -05:00
quicklookUI.cs [QuickLook|UI] Update bindings to Xcode 10 Beta 1 (#4264) 2018-06-15 02:28:06 -05:00
replaykit.cs [ReplayKit] Update bindings to Xcode 10 beta 2 (#4304) 2018-06-20 16:51:22 -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 [scenekit] Update for beta 5 (#4541) 2018-08-01 08:13:21 -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] Update for beta 5 (only) change (#4600) 2018-08-09 10:12:07 -04:00
social.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
speech.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
spritekit.cs [src] Adjust availability attributes to match API available on older macOS versions. 2018-07-03 16:55:30 +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 [UIKit] Add support for Xcode 10 beta 5. (#4556) 2018-08-02 16:31:35 -04:00
usernotifications.cs [UserNotifications] Update to Xcode 10 Beta 4 (#4481) 2018-07-20 14:44:09 -05: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 [VideoToolbox] Update bindings to Xcode 10 Beta 1 (#4260) 2018-06-14 19:00:30 -05: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 beta 3 (#4392) 2018-07-04 13:57:57 -04:00
webkit.cs [WebKit] Update bindings to Xcode 10 Beta 1, Nothing on beta 2 or 3 (#4443) 2018-07-13 21:19:57 -05:00
wkwebkit.cs Merge branch 'xcode9.3' into d15-7-merge-xcode9.3 2018-03-29 19:31:01 -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 [src] Update csproj templates for platform assemblies to build correctly. (#3417) 2018-02-07 21:51:50 +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

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-classic, ios-unified, tvos, watchos, mac-classic, 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