Replace manually maintained code about frameworks with generated code. (#10218)

* [src] Generate the string constants for each framework from our list of frameworks.

This makes it less error prone to add new frameworks (one less place to add
them), and easier to add new platforms (only one place to make sure the list
of frameworks is correct).

This also revelead a few issues in our list of frameworks (missing frameworks,
frameworks that have been moved, etc.), which have been fixed.

* [mmp] Generate the library path -> namespace map for the linker to optimize away dlopen statements.

* Fix indentation to be just as broken as the surrounding indentation.

* Remove unused Cecil reference.

* Fix c&p oversight.

* Adjust more Mac Catalyst API.

* CFNetwork is its own top-level framework.
This commit is contained in:
Rolf Bjarne Kvinge 2020-12-15 18:44:05 +01:00 коммит произвёл GitHub
Родитель d7684319cd
Коммит bf847323a0
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
13 изменённых файлов: 220 добавлений и 621 удалений

Просмотреть файл

@ -8,141 +8,16 @@ namespace ObjCRuntime {
internal const string Revision = "@REVISION@";
public const string SdkVersion = "@IOS_SDK_VERSION@";
public const string AddressBookLibrary = "/System/Library/Frameworks/AddressBook.framework/AddressBook";
public const string AddressBookUILibrary = "/System/Library/Frameworks/AddressBookUI.framework/AddressBookUI";
public const string AudioToolboxLibrary = "/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox";
public const string CoreGraphicsLibrary = "/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics";
public const string CoreFoundationLibrary = "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation";
public const string FoundationLibrary = "/System/Library/Frameworks/Foundation.framework/Foundation";
public const string CFNetworkLibrary = "/System/Library/Frameworks/CFNetwork.framework/CFNetwork";
public const string OpenGLESLibrary = "/System/Library/Frameworks/OpenGLES.framework/OpenGLES";
public const string QuartzLibrary = "/System/Library/Frameworks/QuartzCore.framework/QuartzCore";
public const string CoreAnimationLibrary = "/System/Library/Frameworks/QuartzCore.framework/QuartzCore";
public const string UIKitLibrary = "/System/Library/Frameworks/UIKit.framework/UIKit";
public const string SystemConfigurationLibrary = "/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration";
public const string MediaPlayerLibrary = "/System/Library/Frameworks/MediaPlayer.framework/MediaPlayer";
public const string AVFoundationLibrary = "/System/Library/Frameworks/AVFoundation.framework/AVFoundation";
public const string CoreLocationLibrary = "/System/Library/Frameworks/CoreLocation.framework/CoreLocation";
public const string SecurityLibrary = "/System/Library/Frameworks/Security.framework/Security";
public const string CoreTextLibrary = "/System/Library/Frameworks/CoreText.framework/CoreText";
public const string iAdLibrary = "/System/Library/Frameworks/iAd.framework/iAd";
public const string CoreTelephonyLibrary = "/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony";
public const string CoreMediaLibrary = "/System/Library/Frameworks/CoreMedia.framework/CoreMedia";
public const string MapKitLibrary = "/System/Library/Frameworks/MapKit.framework/MapKit";
public const string GameKitLibrary = "/System/Library/Frameworks/GameKit.framework/GameKit";
public const string EventKitLibrary = "/System/Library/Frameworks/EventKit.framework/EventKit";
public const string EventKitUILibrary = "/System/Library/Frameworks/EventKitUI.framework/EventKitUI";
public const string ImageIOLibrary = "/System/Library/Frameworks/ImageIO.framework/ImageIO";
public const string AssetsLibraryLibrary = "/System/Library/Frameworks/AssetsLibrary.framework/AssetsLibrary";
public const string CoreVideoLibrary = "/System/Library/Frameworks/CoreVideo.framework/CoreVideo";
public const string AccountsLibrary = "/System/Library/Frameworks/Accounts.framework/Accounts";
public const string CoreDataLibrary = "/System/Library/Frameworks/CoreData.framework/CoreData";
public const string CoreImageLibrary = "/System/Library/Frameworks/CoreImage.framework/CoreImage";
public const string GLKitLibrary = "/System/Library/Frameworks/GLKit.framework/GLKit";
public const string MessageUILibrary = "/System/Library/Frameworks/MessageUI.framework/MessageUI";
public const string CoreBluetoothLibrary = "/System/Library/Frameworks/CoreBluetooth.framework/CoreBluetooth";
public const string CoreMidiLibrary = "/System/Library/Frameworks/CoreMIDI.framework/CoreMIDI";
public const string QuickLookLibrary = "/System/Library/Frameworks/QuickLook.framework/QuickLook";
public const string NewsstandKitLibrary = "/System/Library/Frameworks/NewsstandKit.framework/NewsstandKit";
public const string ExternalAccessoryLibrary = "/System/Library/Frameworks/ExternalAccessory.framework/ExternalAccessory";
public const string MobileCoreServicesLibrary = "/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices";
public const string CoreServicesLibrary = "/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices";
public const string StoreKitLibrary = "/System/Library/Frameworks/StoreKit.framework/StoreKit";
public const string AudioUnitLibrary = "/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox";
public const string AccelerateImageLibrary = "/System/Library/Frameworks/Accelerate.framework/Frameworks/vImage.framework/vImage";
// iOS 6
public const string AdSupportLibrary = "/System/Library/Frameworks/AdSupport.framework/AdSupport";
public const string MediaToolboxLibrary = "/System/Library/Frameworks/MediaToolbox.framework/MediaToolbox";
public const string PassKitLibrary = "/System/Library/Frameworks/PassKit.framework/PassKit";
public const string SocialLibrary = "/System/Library/Frameworks/Social.framework/Social";
// iOS 7
public const string JavaScriptCoreLibrary = "/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore";
public const string GameControllerLibrary = "/System/Library/Frameworks/GameController.framework/GameController";
public const string MultipeerConnectivityLibrary = "/System/Library/Frameworks/MultipeerConnectivity.framework/MultipeerConnectivity";
public const string SpriteKitLibrary = "/System/Library/Frameworks/SpriteKit.framework/SpriteKit";
public const string SafariServicesLibrary = "/System/Library/Frameworks/SafariServices.framework/SafariServices";
public const string MediaAccessibilityLibrary = "/System/Library/Frameworks/MediaAccessibility.framework/MediaAccessibility";
// iOS 8
public const string HealthKitLibrary = "/System/Library/Frameworks/HealthKit.framework/HealthKit";
public const string HomeKitLibrary = "/System/Library/Frameworks/HomeKit.framework/HomeKit";
public const string PushKitLibrary = "/System/Library/Frameworks/PushKit.framework/PushKit";
public const string LocalAuthenticationLibrary = "/System/Library/Frameworks/LocalAuthentication.framework/LocalAuthentication";
public const string PhotosLibrary = "/System/Library/Frameworks/Photos.framework/Photos";
public const string PhotosUILibrary = "/System/Library/Frameworks/PhotosUI.framework/PhotosUI";
public const string MetalLibrary = "/System/Library/Frameworks/Metal.framework/Metal";
public const string CloudKitLibrary = "/System/Library/Frameworks/CloudKit.framework/CloudKit";
public const string SceneKitLibrary = "/System/Library/Frameworks/SceneKit.framework/SceneKit";
public const string AVKitLibrary = "/System/Library/Frameworks/AVKit.framework/AVKit";
public const string CoreAudioKitLibrary = "/System/Library/Frameworks/CoreAudioKit.framework/CoreAudioKit";
public const string CoreMotionLibrary = "/System/Library/Frameworks/CoreMotion.framework/CoreMotion";
public const string VideoToolboxLibrary = "/System/Library/Frameworks/VideoToolbox.framework/VideoToolbox";
public const string NetworkLibrary = "/System/Library/Frameworks/Network.framework/Network";
public const string NetworkExtensionLibrary = "/System/Library/Frameworks/NetworkExtension.framework/NetworkExtension";
public const string WebKitLibrary = "/System/Library/Frameworks/WebKit.framework/WebKit";
public const string QuartzLibrary = "/System/Library/Frameworks/QuartzCore.framework/QuartzCore";
// iOS 8.2
#if !XAMCORE_4_0
// Apple removed the WatchKit framework from iOS
public const string WatchKitLibrary = "/System/Library/Frameworks/WatchKit.framework/WatchKit";
// iOS 9.0
public const string ReplayKitLibrary = "/System/Library/Frameworks/ReplayKit.framework/ReplayKit";
public const string ContactsLibrary = "/System/Library/Frameworks/Contacts.framework/Contacts";
public const string ContactsUILibrary = "/System/Library/Frameworks/ContactsUI.framework/ContactsUI";
public const string CoreSpotlightLibrary = "/System/Library/Frameworks/CoreSpotlight.framework/CoreSpotlight";
public const string WatchConnectivityLibrary = "/System/Library/Frameworks/WatchConnectivity.framework/WatchConnectivity";
public const string MetalPerformanceShadersLibrary = "/System/Library/Frameworks/MetalPerformanceShaders.framework/MetalPerformanceShaders";
public const string MetalKitLibrary = "/System/Library/Frameworks/MetalKit.framework/MetalKit";
public const string ModelIOLibrary = "/System/Library/Frameworks/ModelIO.framework/ModelIO";
public const string GameplayKitLibrary = "/System/Library/Frameworks/GameplayKit.framework/GameplayKit";
#endif
// iOS 9
public const string libcompressionLibrary = "/usr/lib/libcompression.dylib";
// iOS 9.3
public const string HealthKitUILibrary = "/System/Library/Frameworks/HealthKitUI.framework/HealthKitUI";
// iOS 10.0
public const string CallKitLibrary = "/System/Library/Frameworks/CallKit.framework/CallKit";
public const string MessagesLibrary = "/System/Library/Frameworks/Messages.framework/Messages";
public const string SpeechLibrary = "/System/Library/Frameworks/Speech.framework/Speech";
public const string VideoSubscriberAccountLibrary = "/System/Library/Frameworks/VideoSubscriberAccount.framework/VideoSubscriberAccount";
public const string UserNotificationsLibrary = "/System/Library/Frameworks/UserNotifications.framework/UserNotifications";
public const string UserNotificationsUILibrary = "/System/Library/Frameworks/UserNotificationsUI.framework/UserNotificationsUI";
public const string IntentsLibrary = "/System/Library/Frameworks/Intents.framework/Intents";
public const string IntentsUILibrary = "/System/Library/Frameworks/IntentsUI.framework/IntentsUI";
// iOS 11.0
public const string ARKitLibrary = "/System/Library/Frameworks/ARKit.framework/ARKit";
public const string CoreNFCLibrary = "/System/Library/Frameworks/CoreNFC.framework/CoreNFC";
public const string DeviceCheckLibrary = "/System/Library/Frameworks/DeviceCheck.framework/DeviceCheck";
public const string IdentityLookupLibrary = "/System/Library/Frameworks/IdentityLookup.framework/IdentityLookup";
public const string CoreMLLibrary = "/System/Library/Frameworks/CoreML.framework/CoreML";
public const string VisionLibrary = "/System/Library/Frameworks/Vision.framework/Vision";
public const string FileProviderLibrary = "/System/Library/Frameworks/FileProvider.framework/FileProvider";
public const string FileProviderUILibrary = "/System/Library/Frameworks/FileProviderUI.framework/FileProviderUI";
public const string IOSurfaceLibrary = "/System/Library/Frameworks/IOSurface.framework/IOSurface";
public const string PdfKitLibrary = "/System/Library/Frameworks/PDFKit.framework/PDFKit";
// iOS 11.3
public const string BusinessChatLibrary = "/System/Library/Frameworks/BusinessChat.framework/BusinessChat";
// iOS 11.4
public const string ClassKitLibrary = "/System/Library/Frameworks/ClassKit.framework/ClassKit";
// iOS 12.0
public const string AuthenticationServicesLibrary = "/System/Library/Frameworks/AuthenticationServices.framework/AuthenticationServices";
public const string CarPlayLibrary = "/System/Library/Frameworks/CarPlay.framework/CarPlay";
public const string IdentityLookupUILibrary = "/System/Library/Frameworks/IdentityLookupUI.framework/IdentityLookupUI";
public const string NaturalLanguageLibrary = "/System/Library/Frameworks/NaturalLanguage.framework/NaturalLanguage";
// iOS 13.0
public const string BackgroundTasksLibrary = "/System/Library/Frameworks/BackgroundTasks.framework/BackgroundTasks";
public const string CoreHapticsLibrary = "/System/Library/Frameworks/CoreHaptics.framework/CoreHaptics";
public const string LinkPresentationLibrary = "/System/Library/Frameworks/LinkPresentation.framework/LinkPresentation";
public const string MetricKitLibrary = "/System/Library/Frameworks/MetricKit.framework/MetricKit";
public const string PencilKitLibrary = "/System/Library/Frameworks/PencilKit.framework/PencilKit";
public const string QuickLookThumbnailingLibrary = "/System/Library/Frameworks/QuickLookThumbnailing.framework/QuickLookThumbnailing";
public const string VisionKitLibrary = "/System/Library/Frameworks/VisionKit.framework/VisionKit";
public const string SoundAnalysisLibrary = "/System/Library/Frameworks/SoundAnalysis.framework/SoundAnalysis";
// iOS 13.4
public const string AutomaticAssessmentConfigurationLibrary = "/System/Library/Frameworks/AutomaticAssessmentConfiguration.framework/AutomaticAssessmentConfiguration";
// iOS 14.0
public const string AccessibilityLibrary = "/System/Library/Frameworks/Accessibility.framework/Accessibility";
public const string AppClipLibrary = "/System/Library/Frameworks/AppClip.framework/AppClip";
public const string AppTrackingTransparencyLibrary = "/System/Library/Frameworks/AppTrackingTransparency.framework/AppTrackingTransparency";
public const string MediaSetupLibrary = "/System/Library/Frameworks/MediaSetup.framework/MediaSetup";
public const string MLComputeLibrary = "/System/Library/Frameworks/MLCompute.framework/MLCompute";
public const string NearbyInteractionLibrary = "/System/Library/Frameworks/NearbyInteraction.framework/NearbyInteraction";
public const string ScreenTimeLibrary = "/System/Library/Frameworks/ScreenTime.framework/ScreenTime";
public const string SensorKitLibrary = "/System/Library/Frameworks/SensorKit.framework/SensorKit";
public const string UniformTypeIdentifiersLibrary = "/System/Library/Frameworks/UniformTypeIdentifiers.framework/UniformTypeIdentifiers";
}
}

Просмотреть файл

@ -33,147 +33,9 @@ namespace ObjCRuntime {
public const string SdkVersion = "@OSX_SDK_VERSION@";
internal const string MinMonoVersion = "@MIN_XM_MONO_VERSION@";
public const string AddressBookLibrary = "/System/Library/Frameworks/AddressBook.framework/AddressBook";
public const string AppKitLibrary = "/System/Library/Frameworks/AppKit.framework/AppKit";
public const string CoreFoundationLibrary = "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation";
public const string CoreGraphicsLibrary = "/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/CoreGraphics";
public const string CoreTextLibrary = "/System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreText.framework/CoreText";
public const string FoundationLibrary = "/System/Library/Frameworks/Foundation.framework/Foundation";
public const string QuartzLibrary = "/System/Library/Frameworks/QuartzCore.framework/QuartzCore";
public const string AudioToolboxLibrary = "/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox";
public const string WebKitLibrary = "/System/Library/Frameworks/WebKit.framework/WebKit";
public const string AudioUnitLibrary = "/System/Library/Frameworks/AudioUnit.framework/AudioUnit";
public const string CoreAudioLibrary = "/System/Library/Frameworks/CoreAudio.framework/CoreAudio";
public const string CoreAnimationLibrary = "/System/Library/Frameworks/QuartzCore.framework/QuartzCore";
public const string ImageIOLibrary = "/System/Library/Frameworks/ApplicationServices.framework/Frameworks/ImageIO.framework/ImageIO";
public const string QTKitLibrary = "/System/Library/Frameworks/QTKit.framework/QTKit";
public const string CoreLocationLibrary = "/System/Library/Frameworks/CoreLocation.framework/CoreLocation";
public const string SecurityLibrary = "/System/Library/Frameworks/Security.framework/Security";
public const string CoreVideoLibrary = "/System/Library/Frameworks/CoreVideo.framework/CoreVideo";
public const string QuartzComposerLibrary = "/System/Library/Frameworks/Quartz.framework/Frameworks/QuartzComposer.framework/QuartzComposer";
public const string CoreWlanLibrary = "/System/Library/Frameworks/CoreWLAN.framework/CoreWLAN";
public const string PdfKitLibrary = "/System/Library/Frameworks/Quartz.framework/Frameworks/PDFKit.framework/PDFKit";
public const string ImageKitLibrary = "/System/Library/Frameworks/Quartz.framework/Frameworks/ImageKit.framework/ImageKit";
public const string OpenGLLibrary = "/System/Library/Frameworks/OpenGL.framework/OpenGL";
public const string OpenALLibrary = "/System/Library/Frameworks/OpenAL.framework/OpenAL";
public const string CoreMediaLibrary = "/System/Library/Frameworks/CoreMedia.framework/CoreMedia";
public const string ScriptingBridgeLibrary = "/System/Library/Frameworks/ScriptingBridge.framework/ScriptingBridge";
public const string CoreDataLibrary = "/System/Library/Frameworks/CoreData.framework/CoreData";
public const string CoreImageLibrary = "/System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/CoreImage";
public const string CFNetworkLibrary = "/System/Library/Frameworks/CoreServices.framework/Frameworks/CFNetwork.framework/CFNetwork";
public const string CoreMidiLibrary = "/System/Library/Frameworks/CoreMIDI.framework/CoreMIDI";
public const string QuickLookLibrary = "/System/Library/Frameworks/QuickLook.framework/QuickLook";
public const string AVFoundationLibrary = "/System/Library/Frameworks/AVFoundation.framework/AVFoundation";
public const string AccelerateImageLibrary = "/System/Library/Frameworks/Accelerate.framework/Frameworks/vImage.framework/vImage";
public const string CoreBluetoothLibrary = "/System/Library/Frameworks/IOBluetooth.framework/Versions/A/Frameworks/CoreBluetooth.framework/CoreBluetooth";
public const string GameKitLibrary = "/System/Library/Frameworks/GameKit.framework/GameKit";
public const string SceneKitLibrary = "/System/Library/Frameworks/SceneKit.framework/SceneKit";
public const string StoreKitLibrary = "/System/Library/Frameworks/StoreKit.framework/StoreKit";
public const string CoreServicesLibrary = "/System/Library/Frameworks/CoreServices.framework/CoreServices";
public const string SystemConfigurationLibrary = "/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration";
public const string InputMethodKitLibrary = "/System/Library/Frameworks/InputMethodKit.framework/InputMethodKit";
public const string ApplicationServicesCoreGraphicsLibrary = "/System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreGraphics.framework/CoreGraphics";
public const string JavaScriptCoreLibrary = "/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore";
public const string ImageCaptureCoreLibrary = "/System/Library/Frameworks/ImageCaptureCore.framework/ImageCaptureCore";
public const string AccountsLibrary = "/System/Library/Frameworks/Accounts.framework/Accounts";
public const string EventKitLibrary = "/System/Library/Frameworks/EventKit.framework/EventKit";
public const string GLKitLibrary = "/System/Library/Frameworks/GLKit.framework/GLKit";
public const string SpriteKitLibrary = "/System/Library/Frameworks/SpriteKit.framework/SpriteKit";
public const string SocialLibrary = "/System/Library/Frameworks/Social.framework/Social";
public const string LocalAuthenticationLibrary = "/System/Library/Frameworks/LocalAuthentication.framework/LocalAuthentication";
public const string CloudKitLibrary = "/System/Library/Frameworks/CloudKit.framework/CloudKit";
public const string MapKitLibrary = "/System/Library/Frameworks/MapKit.framework/MapKit";
public const string VideoToolboxLibrary = "/System/Library/Frameworks/VideoToolbox.framework/VideoToolbox";
public const string GameControllerLibrary = "/System/Library/Frameworks/GameController.framework/GameController";
public const string MediaAccessibilityLibrary = "/System/Library/Frameworks/MediaAccessibility.framework/MediaAccessibility";
public const string IOBluetoothLibrary = "/System/Library/Frameworks/IOBluetooth.framework/IOBluetooth";
public const string IOBluetoothUILibrary = "/System/Library/Frameworks/IOBluetoothUI.framework/IOBluetoothUI";
public const string CryptoTokenKitLibrary = "/System/Library/Frameworks/CryptoTokenKit.framework/CryptoTokenKit";
public const string FinderSyncLibrary = "/System/Library/Frameworks/FinderSync.framework/FinderSync";
public const string HypervisorLibrary = "/System/Library/Frameworks/Hypervisor.framework/Hypervisor";
public const string MultipeerConnectivityLibrary = "/System/Library/Frameworks/MultipeerConnectivity.framework/MultipeerConnectivity";
public const string NotificationCenterLibrary = "/System/Library/Frameworks/NotificationCenter.framework/NotificationCenter";
public const string AVKitLibrary = "/System/Library/Frameworks/AVKit.framework/AVKit";
public const string QuickLookUILibrary = "/System/Library/Frameworks/Quartz.framework/Frameworks/QuickLookUI.framework/QuickLookUI";
public const string SearchKitLibrary = "/System/Library/Frameworks/CoreServices.framework/Frameworks/SearchKit.framework/SearchKit";
public const string ContactsLibrary = "/System/Library/Frameworks/Contacts.framework/Contacts";
public const string ContactsUILibrary = "/System/Library/Frameworks/ContactsUI.framework/ContactsUI";
public const string MetalLibrary = "/System/Library/Frameworks/Metal.framework/Metal";
public const string MetalKitLibrary = "/System/Library/Frameworks/MetalKit.framework/MetalKit";
public const string ModelIOLibrary = "/System/Library/Frameworks/ModelIO.framework/ModelIO";
public const string GameplayKitLibrary = "/System/Library/Frameworks/GameplayKit.framework/GameplayKit";
public const string NetworkLibrary = "/System/Library/Frameworks/Network.framework/Network";
public const string NetworkExtensionLibrary = "/System/Library/Frameworks/NetworkExtension.framework/NetworkExtension";
public const string CoreAudioKitLibrary = "/System/Library/Frameworks/CoreAudioKit.framework/CoreAudioKit";
public const string MediaToolboxLibrary = "/System/Library/Frameworks/MediaToolbox.framework/MediaToolbox";
public const string MediaLibraryLibrary = "/System/Library/Frameworks/MediaLibrary.framework/MediaLibrary";
public const string SafariServicesLibrary = "/System/Library/Frameworks/SafariServices.framework/SafariServices";
public const string PrintCoreLibrary = "/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/PrintCore";
public const string QuartzLibrary = "/System/Library/Frameworks/QuartzCore.framework/QuartzCore";
public const string libcompressionLibrary = "/usr/lib/libcompression.dylib";
// macOS 10.12
public const string PhotosLibrary = "/System/Library/Frameworks/Photos.framework/Photos";
public const string IntentsLibrary = "/System/Library/Frameworks/Intents.framework/Intents";
public const string MediaPlayerLibrary = "/System/Library/Frameworks/MediaPlayer.framework/MediaPlayer";
// macOS 10.13
public const string CoreMLLibrary = "/System/Library/Frameworks/CoreML.framework/CoreML";
public const string CoreSpotlightLibrary = "/System/Library/Frameworks/CoreSpotlight.framework/CoreSpotlight";
public const string VisionLibrary = "/System/Library/Frameworks/Vision.framework/Vision";
public const string IOSurfaceLibrary = "/System/Library/Frameworks/IOSurface.framework/IOSurface";
public const string PhotosUILibrary = "/System/Library/Frameworks/PhotosUI.framework/PhotosUI";
public const string ExternalAccessoryLibrary = "/System/Library/Frameworks/ExternalAccessory.framework/ExternalAccessory";
public const string MetalPerformanceShadersLibrary = "/System/Library/Frameworks/MetalPerformanceShaders.framework/MetalPerformanceShaders";
// macOS 10.13.4
public const string BusinessChatLibrary = "/System/Library/Frameworks/BusinessChat.framework/BusinessChat";
// macOS 10.14
public const string AdSupportLibrary = "/System/Library/Frameworks/AdSupport.framework/AdSupport";
public const string NaturalLanguageLibrary = "/System/Library/Frameworks/NaturalLanguage.framework/NaturalLanguage";
public const string VideoSubscriberAccountLibrary = "/System/Library/Frameworks/VideoSubscriberAccount.framework/VideoSubscriberAccount";
public const string UserNotificationsLibrary = "/System/Library/Frameworks/UserNotifications.framework/UserNotifications";
public const string iTunesLibraryLibrary = "/System/Library/Frameworks/iTunesLibrary.framework/iTunesLibrary";
// macOS 10.15
public const string AuthenticationServicesLibrary = "/System/Library/Frameworks/AuthenticationServices.framework/AuthenticationServices";
public const string CoreMotionLibrary = "/System/Library/Frameworks/CoreMotion.framework/CoreMotion";
public const string DeviceCheckLibrary = "/System/Library/Frameworks/DeviceCheck.framework/DeviceCheck";
public const string ExecutionPolicyLibrary = "/System/Library/Frameworks/ExecutionPolicy.framework/ExecutionPolicy";
public const string FileProviderLibrary = "/System/Library/Frameworks/FileProvider.framework/FileProvider";
public const string FileProviderUILibrary = "/System/Library/Frameworks/FileProviderUI.framework/FileProviderUI";
public const string PushKitLibrary = "/System/Library/Frameworks/PushKit.framework/PushKit";
public const string QuickLookThumbnailingLibrary = "/System/Library/Frameworks/QuickLookThumbnailing.framework/QuickLookThumbnailing";
public const string SoundAnalysisLibrary = "/System/Library/Frameworks/SoundAnalysis.framework/SoundAnalysis";
public const string PencilKitLibrary = "/System/Library/Frameworks/PencilKit.framework/PencilKit";
public const string SpeechLibrary = "/System/Library/Frameworks/Speech.framework/Speech";
public const string LinkPresentationLibrary = "/System/Library/Frameworks/LinkPresentation.framework/LinkPresentation";
// not clear if the api is available, issue: https://github.com/xamarin/maccore/issues/1951
//public const string CoreHapticsLibrary = "/System/Library/Frameworks/CoreHaptics.framework/CoreHaptics";
// macOS 10.15.4
public const string AutomaticAssessmentConfigurationLibrary = "/System/Library/Frameworks/AutomaticAssessmentConfiguration.framework/AutomaticAssessmentConfiguration";
// macOS 10.16/11.0
public const string AccessibilityLibrary = "/System/Library/Frameworks/Accessibility.framework/Accessibility";
public const string AppTrackingTransparencyLibrary = "/System/Library/Frameworks/AppTrackingTransparency.framework/AppTrackingTransparency";
public const string CallKitLibrary = "/System/Library/Frameworks/CallKitLibrary.framework/CallKitLibrary";
public const string ClassKitLibrary = "/System/Library/Frameworks/ClassKit.framework/ClassKit";
public const string PassKitLibrary = "/System/Library/Frameworks/PassKit.framework/PassKit";
public const string MLComputeLibrary = "/System/Library/Frameworks/MLCompute.framework/MLCompute";
public const string NearbyInteractionLibrary = "/System/Library/Frameworks/NearbyInteraction.framework/NearbyInteraction";
public const string OSLogLibrary = "/System/Library/Frameworks/OSLog.framework/OSLog";
public const string ReplayKitLibrary = "/System/Library/Frameworks/ReplayKit.framework/ReplayKit";
public const string ScreenTimeLibrary = "/System/Library/Frameworks/ScreenTime.framework/ScreenTime";
public const string UniformTypeIdentifiersLibrary = "/System/Library/Frameworks/UniformTypeIdentifiers.framework/UniformTypeIdentifiers";
public const string UserNotificationsUILibrary = "/System/Library/Frameworks/UserNotificationsUI.framework/UserNotificationsUI";
}
}

Просмотреть файл

@ -4,141 +4,10 @@ namespace ObjCRuntime {
internal const string Revision = "@REVISION@";
public const string SdkVersion = "@IOS_SDK_VERSION@";
public const string AddressBookLibrary = "/System/Library/Frameworks/AddressBook.framework/AddressBook";
public const string AddressBookUILibrary = "/System/Library/Frameworks/AddressBookUI.framework/AddressBookUI";
public const string AudioToolboxLibrary = "/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox";
public const string CoreGraphicsLibrary = "/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics";
public const string CoreFoundationLibrary = "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation";
public const string FoundationLibrary = "/System/Library/Frameworks/Foundation.framework/Foundation";
public const string CFNetworkLibrary = "/System/Library/Frameworks/CFNetwork.framework/CFNetwork";
public const string OpenGLESLibrary = "/System/Library/Frameworks/OpenGLES.framework/OpenGLES";
public const string QuartzLibrary = "/System/Library/Frameworks/QuartzCore.framework/QuartzCore";
public const string CoreAnimationLibrary = "/System/Library/Frameworks/QuartzCore.framework/QuartzCore";
public const string UIKitLibrary = "/System/Library/Frameworks/UIKit.framework/UIKit";
public const string SystemConfigurationLibrary = "/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration";
public const string MediaPlayerLibrary = "/System/Library/Frameworks/MediaPlayer.framework/MediaPlayer";
public const string AVFoundationLibrary = "/System/Library/Frameworks/AVFoundation.framework/AVFoundation";
public const string CoreLocationLibrary = "/System/Library/Frameworks/CoreLocation.framework/CoreLocation";
public const string SecurityLibrary = "/System/Library/Frameworks/Security.framework/Security";
public const string CoreTextLibrary = "/System/Library/Frameworks/CoreText.framework/CoreText";
public const string iAdLibrary = "/System/Library/Frameworks/iAd.framework/iAd";
public const string CoreTelephonyLibrary = "/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony";
public const string CoreMediaLibrary = "/System/Library/Frameworks/CoreMedia.framework/CoreMedia";
public const string MapKitLibrary = "/System/Library/Frameworks/MapKit.framework/MapKit";
public const string GameKitLibrary = "/System/Library/Frameworks/GameKit.framework/GameKit";
public const string EventKitLibrary = "/System/Library/Frameworks/EventKit.framework/EventKit";
public const string EventKitUILibrary = "/System/Library/Frameworks/EventKitUI.framework/EventKitUI";
public const string ImageIOLibrary = "/System/Library/Frameworks/ImageIO.framework/ImageIO";
public const string AssetsLibraryLibrary = "/System/Library/Frameworks/AssetsLibrary.framework/AssetsLibrary";
public const string CoreVideoLibrary = "/System/Library/Frameworks/CoreVideo.framework/CoreVideo";
public const string AccountsLibrary = "/System/Library/Frameworks/Accounts.framework/Accounts";
public const string CoreDataLibrary = "/System/Library/Frameworks/CoreData.framework/CoreData";
public const string CoreImageLibrary = "/System/Library/Frameworks/CoreImage.framework/CoreImage";
public const string GLKitLibrary = "/System/Library/Frameworks/GLKit.framework/GLKit";
public const string MessageUILibrary = "/System/Library/Frameworks/MessageUI.framework/MessageUI";
public const string CoreBluetoothLibrary = "/System/Library/Frameworks/CoreBluetooth.framework/CoreBluetooth";
public const string CoreMidiLibrary = "/System/Library/Frameworks/CoreMIDI.framework/CoreMIDI";
public const string QuickLookLibrary = "/System/Library/Frameworks/QuickLook.framework/QuickLook";
public const string NewsstandKitLibrary = "/System/Library/Frameworks/NewsstandKit.framework/NewsstandKit";
public const string ExternalAccessoryLibrary = "/System/Library/Frameworks/ExternalAccessory.framework/ExternalAccessory";
public const string MobileCoreServicesLibrary = "/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices";
public const string CoreServicesLibrary = "/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices";
public const string StoreKitLibrary = "/System/Library/Frameworks/StoreKit.framework/StoreKit";
public const string AudioUnitLibrary = "/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox";
public const string AccelerateImageLibrary = "/System/Library/Frameworks/Accelerate.framework/Frameworks/vImage.framework/vImage";
// iOS 6
public const string AdSupportLibrary = "/System/Library/Frameworks/AdSupport.framework/AdSupport";
public const string MediaToolboxLibrary = "/System/Library/Frameworks/MediaToolbox.framework/MediaToolbox";
public const string PassKitLibrary = "/System/Library/Frameworks/PassKit.framework/PassKit";
public const string SocialLibrary = "/System/Library/Frameworks/Social.framework/Social";
// iOS 7
public const string JavaScriptCoreLibrary = "/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore";
public const string GameControllerLibrary = "/System/Library/Frameworks/GameController.framework/GameController";
public const string MultipeerConnectivityLibrary = "/System/Library/Frameworks/MultipeerConnectivity.framework/MultipeerConnectivity";
public const string SpriteKitLibrary = "/System/Library/Frameworks/SpriteKit.framework/SpriteKit";
public const string SafariServicesLibrary = "/System/Library/Frameworks/SafariServices.framework/SafariServices";
public const string MediaAccessibilityLibrary = "/System/Library/Frameworks/MediaAccessibility.framework/MediaAccessibility";
// iOS 8
public const string HealthKitLibrary = "/System/Library/Frameworks/HealthKit.framework/HealthKit";
public const string HomeKitLibrary = "/System/Library/Frameworks/HomeKit.framework/HomeKit";
public const string PushKitLibrary = "/System/Library/Frameworks/PushKit.framework/PushKit";
public const string LocalAuthenticationLibrary = "/System/Library/Frameworks/LocalAuthentication.framework/LocalAuthentication";
public const string PhotosLibrary = "/System/Library/Frameworks/Photos.framework/Photos";
public const string PhotosUILibrary = "/System/Library/Frameworks/PhotosUI.framework/PhotosUI";
public const string MetalLibrary = "/System/Library/Frameworks/Metal.framework/Metal";
public const string CloudKitLibrary = "/System/Library/Frameworks/CloudKit.framework/CloudKit";
public const string SceneKitLibrary = "/System/Library/Frameworks/SceneKit.framework/SceneKit";
public const string AVKitLibrary = "/System/Library/Frameworks/AVKit.framework/AVKit";
public const string CoreAudioKitLibrary = "/System/Library/Frameworks/CoreAudioKit.framework/CoreAudioKit";
public const string CoreMotionLibrary = "/System/Library/Frameworks/CoreMotion.framework/CoreMotion";
public const string VideoToolboxLibrary = "/System/Library/Frameworks/VideoToolbox.framework/VideoToolbox";
public const string NetworkLibrary = "/System/Library/Frameworks/Network.framework/Network";
public const string NetworkExtensionLibrary = "/System/Library/Frameworks/NetworkExtension.framework/NetworkExtension";
public const string WebKitLibrary = "/System/Library/Frameworks/WebKit.framework/WebKit";
// iOS 8.2
public const string WatchKitLibrary = "/System/Library/Frameworks/WatchKit.framework/WatchKit";
public const string QuartzLibrary = "/System/Library/Frameworks/QuartzCore.framework/QuartzCore";
// iOS 9.0
public const string ReplayKitLibrary = "/System/Library/Frameworks/ReplayKit.framework/ReplayKit";
public const string ContactsLibrary = "/System/Library/Frameworks/Contacts.framework/Contacts";
public const string ContactsUILibrary = "/System/Library/Frameworks/ContactsUI.framework/ContactsUI";
public const string CoreSpotlightLibrary = "/System/Library/Frameworks/CoreSpotlight.framework/CoreSpotlight";
public const string WatchConnectivityLibrary = "/System/Library/Frameworks/WatchConnectivity.framework/WatchConnectivity";
public const string MetalPerformanceShadersLibrary = "/System/Library/Frameworks/MetalPerformanceShaders.framework/MetalPerformanceShaders";
public const string MetalKitLibrary = "/System/Library/Frameworks/MetalKit.framework/MetalKit";
public const string ModelIOLibrary = "/System/Library/Frameworks/ModelIO.framework/ModelIO";
public const string GameplayKitLibrary = "/System/Library/Frameworks/GameplayKit.framework/GameplayKit";
public const string libcompressionLibrary = "/usr/lib/libcompression.dylib";
// iOS 9.3
public const string HealthKitUILibrary = "/System/Library/Frameworks/HealthKitUI.framework/HealthKitUI";
// iOS 10.0
public const string CallKitLibrary = "/System/Library/Frameworks/CallKit.framework/CallKit";
public const string MessagesLibrary = "/System/Library/Frameworks/Messages.framework/Messages";
public const string SpeechLibrary = "/System/Library/Frameworks/Speech.framework/Speech";
public const string VideoSubscriberAccountLibrary = "/System/Library/Frameworks/VideoSubscriberAccount.framework/VideoSubscriberAccount";
public const string UserNotificationsLibrary = "/System/Library/Frameworks/UserNotifications.framework/UserNotifications";
public const string UserNotificationsUILibrary = "/System/Library/Frameworks/UserNotificationsUI.framework/UserNotificationsUI";
public const string IntentsLibrary = "/System/Library/Frameworks/Intents.framework/Intents";
public const string IntentsUILibrary = "/System/Library/Frameworks/IntentsUI.framework/IntentsUI";
// iOS 11.0
public const string ARKitLibrary = "/System/Library/Frameworks/ARKit.framework/ARKit";
public const string CoreNFCLibrary = "/System/Library/Frameworks/CoreNFC.framework/CoreNFC";
public const string DeviceCheckLibrary = "/System/Library/Frameworks/DeviceCheck.framework/DeviceCheck";
public const string IdentityLookupLibrary = "/System/Library/Frameworks/IdentityLookup.framework/IdentityLookup";
public const string CoreMLLibrary = "/System/Library/Frameworks/CoreML.framework/CoreML";
public const string VisionLibrary = "/System/Library/Frameworks/Vision.framework/Vision";
public const string FileProviderLibrary = "/System/Library/Frameworks/FileProvider.framework/FileProvider";
public const string FileProviderUILibrary = "/System/Library/Frameworks/FileProviderUI.framework/FileProviderUI";
public const string IOSurfaceLibrary = "/System/Library/Frameworks/IOSurface.framework/IOSurface";
public const string PdfKitLibrary = "/System/Library/Frameworks/PDFKit.framework/PDFKit";
// iOS 11.3
public const string BusinessChatLibrary = "/System/Library/Frameworks/BusinessChat.framework/BusinessChat";
// iOS 11.4
public const string ClassKitLibrary = "/System/Library/Frameworks/ClassKit.framework/ClassKit";
// iOS 12.0
public const string AuthenticationServicesLibrary = "/System/Library/Frameworks/AuthenticationServices.framework/AuthenticationServices";
public const string CarPlayLibrary = "/System/Library/Frameworks/CarPlay.framework/CarPlay";
public const string IdentityLookupUILibrary = "/System/Library/Frameworks/IdentityLookupUI.framework/IdentityLookupUI";
public const string NaturalLanguageLibrary = "/System/Library/Frameworks/NaturalLanguage.framework/NaturalLanguage";
// iOS 13.0
public const string BackgroundTasksLibrary = "/System/Library/Frameworks/BackgroundTasks.framework/BackgroundTasks";
public const string CoreHapticsLibrary = "/System/Library/Frameworks/CoreHaptics.framework/CoreHaptics";
public const string LinkPresentationLibrary = "/System/Library/Frameworks/LinkPresentation.framework/LinkPresentation";
public const string MetricKitLibrary = "/System/Library/Frameworks/MetricKit.framework/MetricKit";
public const string PencilKitLibrary = "/System/Library/Frameworks/PencilKit.framework/PencilKit";
public const string QuickLookThumbnailingLibrary = "/System/Library/Frameworks/QuickLookThumbnailing.framework/QuickLookThumbnailing";
public const string VisionKitLibrary = "/System/Library/Frameworks/VisionKit.framework/VisionKit";
public const string SoundAnalysisLibrary = "/System/Library/Frameworks/SoundAnalysis.framework/SoundAnalysis";
// iOS 13.4
public const string AutomaticAssessmentConfigurationLibrary = "/System/Library/Frameworks/AutomaticAssessmentConfiguration.framework/AutomaticAssessmentConfiguration";
// iOS 14.0
public const string AccessibilityLibrary = "/System/Library/Frameworks/Accessibility.framework/Accessibility";
public const string AppClipLibrary = "/System/Library/Frameworks/AppClip.framework/AppClip";
public const string AppTrackingTransparencyLibrary = "/System/Library/Frameworks/AppTrackingTransparency.framework/AppTrackingTransparency";
public const string MediaSetupLibrary = "/System/Library/Frameworks/MediaSetup.framework/MediaSetup";
public const string MLComputeLibrary = "/System/Library/Frameworks/MLCompute.framework/MLCompute";
public const string NearbyInteractionLibrary = "/System/Library/Frameworks/NearbyInteraction.framework/NearbyInteraction";
public const string ScreenTimeLibrary = "/System/Library/Frameworks/ScreenTime.framework/ScreenTime";
public const string SensorKitLibrary = "/System/Library/Frameworks/SensorKit.framework/SensorKit";
public const string UniformTypeIdentifiersLibrary = "/System/Library/Frameworks/UniformTypeIdentifiers.framework/UniformTypeIdentifiers";
}
}

Просмотреть файл

@ -5,90 +5,11 @@ namespace ObjCRuntime {
public const string SdkVersion = "@TVOS_SDK_VERSION@";
// TVOS 9.0
internal const string CoreServicesLibrary = "/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices";
public const string AccelerateImageLibrary = "/System/Library/Frameworks/Accelerate.framework/Frameworks/vImage.framework/vImage";
public const string AudioToolboxLibrary = "/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox";
public const string AudioUnitLibrary = "/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox";
public const string AVFoundationLibrary = "/System/Library/Frameworks/AVFoundation.framework/AVFoundation";
public const string AVKitLibrary = "/System/Library/Frameworks/AVKit.framework/AVKit";
public const string CFNetworkLibrary = "/System/Library/Frameworks/CFNetwork.framework/CFNetwork";
public const string CloudKitLibrary = "/System/Library/Frameworks/CloudKit.framework/CloudKit";
public const string CoreAnimationLibrary = "/System/Library/Frameworks/QuartzCore.framework/QuartzCore";
public const string CoreBluetoothLibrary = "/System/Library/Frameworks/CoreBluetooth.framework/CoreBluetooth";
public const string CoreDataLibrary = "/System/Library/Frameworks/CoreData.framework/CoreData";
public const string CoreFoundationLibrary = "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation";
public const string CoreGraphicsLibrary = "/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics";
public const string CoreImageLibrary = "/System/Library/Frameworks/CoreImage.framework/CoreImage";
public const string CoreLocationLibrary = "/System/Library/Frameworks/CoreLocation.framework/CoreLocation";
public const string CoreMediaLibrary = "/System/Library/Frameworks/CoreMedia.framework/CoreMedia";
public const string CoreSpotlightLibrary = "/System/Library/Frameworks/CoreSpotlight.framework/CoreSpotlight";
public const string CoreTextLibrary = "/System/Library/Frameworks/CoreText.framework/CoreText";
public const string CoreVideoLibrary = "/System/Library/Frameworks/CoreVideo.framework/CoreVideo";
public const string FoundationLibrary = "/System/Library/Frameworks/Foundation.framework/Foundation";
public const string GameControllerLibrary = "/System/Library/Frameworks/GameController.framework/GameController";
public const string GameKitLibrary = "/System/Library/Frameworks/GameKit.framework/GameKit";
public const string GameplayKitLibrary = "/System/Library/Frameworks/GameplayKit.framework/GameplayKit";
public const string GLKitLibrary = "/System/Library/Frameworks/GLKit.framework/GLKit";
public const string HomeKitLibrary = "/System/Library/Frameworks/HomeKit.framework/HomeKit";
public const string ImageIOLibrary = "/System/Library/Frameworks/ImageIO.framework/ImageIO";
public const string JavaScriptCoreLibrary = "/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore";
public const string MediaAccessibilityLibrary = "/System/Library/Frameworks/MediaAccessibility.framework/MediaAccessibility";
public const string MediaPlayerLibrary = "/System/Library/Frameworks/MediaPlayer.framework/MediaPlayer";
public const string MediaToolboxLibrary = "/System/Library/Frameworks/MediaToolbox.framework/MediaToolbox";
public const string MetalKitLibrary = "/System/Library/Frameworks/MetalKit.framework/MetalKit";
public const string MetalLibrary = "/System/Library/Frameworks/Metal.framework/Metal";
public const string MetalPerformanceShadersLibrary = "/System/Library/Frameworks/MetalPerformanceShaders.framework/MetalPerformanceShaders";
public const string MobileCoreServicesLibrary = "/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices";
public const string ModelIOLibrary = "/System/Library/Frameworks/ModelIO.framework/ModelIO";
public const string NetworkLibrary = "/System/Library/Frameworks/Network.framework/Network";
public const string OpenGLESLibrary = "/System/Library/Frameworks/OpenGLES.framework/OpenGLES";
#if !XAMCORE_4_0
public const string PassKitLibrary = "/System/Library/Frameworks/PassKit.framework/PassKit";
#endif
public const string QuartzLibrary = "/System/Library/Frameworks/QuartzCore.framework/QuartzCore";
public const string SceneKitLibrary = "/System/Library/Frameworks/SceneKit.framework/SceneKit";
public const string SecurityLibrary = "/System/Library/Frameworks/Security.framework/Security";
public const string SpriteKitLibrary = "/System/Library/Frameworks/SpriteKit.framework/SpriteKit";
public const string StoreKitLibrary = "/System/Library/Frameworks/StoreKit.framework/StoreKit";
public const string SystemConfigurationLibrary = "/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration";
public const string TVMLKitLibrary = "/System/Library/Frameworks/TVMLKit.framework/TVMLKit";
public const string TVServicesLibrary = "/System/Library/Frameworks/TVServices.framework/TVServices";
public const string UIKitLibrary = "/System/Library/Frameworks/UIKit.framework/UIKit";
public const string libcompressionLibrary = "/usr/lib/libcompression.dylib";
// TVOS 9.2
public const string MapKitLibrary = "/System/Library/Frameworks/MapKit.framework/MapKit";
// TVOS 10.0
public const string ExternalAccessoryLibrary = "/System/Library/Frameworks/ExternalAccessory.framework/ExternalAccessory";
public const string MultipeerConnectivityLibrary = "/System/Library/Frameworks/MultipeerConnectivity.framework/MultipeerConnectivity";
public const string PhotosLibrary = "/System/Library/Frameworks/Photos.framework/Photos";
public const string ReplayKitLibrary = "/System/Library/Frameworks/ReplayKit.framework/ReplayKit";
public const string UserNotificationsLibrary = "/System/Library/Frameworks/UserNotifications.framework/UserNotifications";
public const string VideoSubscriberAccountLibrary = "/System/Library/Frameworks/VideoSubscriberAccount.framework/VideoSubscriberAccount";
// tvOS 10.2
public const string VideoToolboxLibrary = "/System/Library/Frameworks/VideoToolbox.framework/VideoToolbox";
// tvOS 11.0
public const string DeviceCheckLibrary = "/System/Library/Frameworks/DeviceCheck.framework/DeviceCheck";
public const string CoreMLLibrary = "/System/Library/Frameworks/CoreML.framework/CoreML";
public const string VisionLibrary = "/System/Library/Frameworks/Vision.framework/Vision";
public const string IOSurfaceLibrary = "/System/Library/Frameworks/IOSurface.framework/IOSurface";
// tvOS 12.0
public const string NaturalLanguageLibrary = "/System/Library/Frameworks/NaturalLanguage.framework/NaturalLanguage";
// tvOS 13.0
public const string AuthenticationServicesLibrary = "/System/Library/Frameworks/AuthenticationServices.framework/AuthenticationServices";
public const string SoundAnalysisLibrary = "/System/Library/Frameworks/SoundAnalysis.framework/SoundAnalysis";
public const string BackgroundTasksLibrary = "/System/Library/Frameworks/BackgroundTasks.framework/BackgroundTasks";
// tvOS 14.0
public const string AccessibilityLibrary = "/System/Library/Frameworks/Accessibility.framework/Accessibility";
public const string AppTrackingTransparencyLibrary = "/System/Library/Frameworks/AppTrackingTransparency.framework/AppTrackingTransparency";
public const string CoreHapticsLibrary = "/System/Library/Frameworks/CoreHaptics.framework/CoreHaptics";
public const string LinkPresentationLibrary = "/System/Library/Frameworks/LinkPresentation.framework/LinkPresentation";
public const string MLComputeLibrary = "/System/Library/Frameworks/MLCompute.framework/MLCompute";
public const string UniformTypeIdentifiersLibrary = "/System/Library/Frameworks/UniformTypeIdentifiers.framework/UniformTypeIdentifiers";
public const string IntentsLibrary = "/System/Library/Frameworks/Intents.framework/Intents";
}
}

Просмотреть файл

@ -6,63 +6,15 @@ namespace ObjCRuntime {
// WatchOS 2.0
public const string CFNetworkLibrary = "/System/Library/Frameworks/CFNetwork.framework/CFNetwork";
public const string ClockKitLibrary = "/System/Library/Frameworks/ClockKit.framework/ClockKit";
public const string ContactsLibrary = "/System/Library/Frameworks/Contacts.framework/Contacts";
public const string CoreDataLibrary = "/System/Library/Frameworks/CoreData.framework/CoreData";
public const string CoreFoundationLibrary = "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation";
public const string CoreGraphicsLibrary = "/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics";
public const string CoreLocationLibrary = "/System/Library/Frameworks/CoreLocation.framework/CoreLocation";
public const string CoreMotionLibrary = "/System/Library/Frameworks/CoreMotion.framework/CoreMotion";
internal const string CoreServicesLibrary = "/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices";
public const string CoreTextLibrary = "/System/Library/Frameworks/CoreText.framework/CoreText";
public const string EventKitLibrary = "/System/Library/Frameworks/EventKit.framework/EventKit";
public const string FoundationLibrary = "/System/Library/Frameworks/Foundation.framework/Foundation";
public const string HealthKitLibrary = "/System/Library/Frameworks/HealthKit.framework/HealthKit";
public const string HomeKitLibrary = "/System/Library/Frameworks/HomeKit.framework/HomeKit";
public const string ImageIOLibrary = "/System/Library/Frameworks/ImageIO.framework/ImageIO";
public const string MapKitLibrary = "/System/Library/Frameworks/MapKit.framework/MapKit";
public const string MobileCoreServicesLibrary = "/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices";
public const string PassKitLibrary = "/System/Library/Frameworks/PassKit.framework/PassKit";
public const string SecurityLibrary = "/System/Library/Frameworks/Security.framework/Security";
public const string UIKitLibrary = "/System/Library/Frameworks/UIKit.framework/UIKit";
public const string WatchConnectivityLibrary = "/System/Library/Frameworks/WatchConnectivity.framework/WatchConnectivity";
public const string WatchKitLibrary = "/System/Library/Frameworks/WatchKit.framework/WatchKit";
public const string libcompressionLibrary = "/usr/lib/libcompression.dylib";
// WatchOS 3.0
public const string AVFoundationLibrary = "/System/Library/Frameworks/AVFoundation.framework/AVFoundation";
public const string CloudKitLibrary = "/System/Library/Frameworks/CloudKit.framework/CloudKit";
public const string GameKitLibrary = "/System/Library/Frameworks/GameKit.framework/GameKit";
public const string SceneKitLibrary = "/System/Library/Frameworks/SceneKit.framework/SceneKit";
public const string SpriteKitLibrary = "/System/Library/Frameworks/SpriteKit.framework/SpriteKit";
public const string UserNotificationsLibrary = "/System/Library/Frameworks/UserNotifications.framework/UserNotifications";
// WatchOS 3.2
public const string IntentsLibrary = "/System/Library/Frameworks/Intents.framework/Intents";
public const string AccelerateImageLibrary = "/System/Library/Frameworks/Accelerate.framework/Frameworks/vImage.framework/vImage";
// WatchOS 4.0
public const string AccelerateImageLibrary = "/System/Library/Frameworks/Accelerate.framework/Frameworks/vImage.framework/vImage";
public const string CoreBluetoothLibrary = "/System/Library/Frameworks/CoreBluetooth.framework/CoreBluetooth";
public const string CoreMLLibrary = "/System/Library/Frameworks/CoreML.framework/CoreML";
public const string CoreVideoLibrary = "/System/Library/Frameworks/CoreVideo.framework/CoreVideo";
#if !XAMCORE_4_0
public const string VisionLibrary = "/System/Library/Frameworks/Vision.framework/Vision";
#endif
// WatchOS 5
public const string NaturalLanguageLibrary = "/System/Library/Frameworks/NaturalLanguage.framework/NaturalLanguage";
public const string MediaPlayerLibrary = "/System/Library/Frameworks/MediaPlayer.framework/MediaPlayer";
// WatchOS 6
public const string AuthenticationServicesLibrary = "/System/Library/Frameworks/AuthenticationServices.framework/AuthenticationServices";
public const string NetworkLibrary = "/System/Library/Frameworks/Network.framework/Network";
public const string PushKitLibrary = "/System/Library/Frameworks/PushKit.framework/PushKit";
public const string SoundAnalysisLibrary = "/System/Library/Frameworks/SoundAnalysis.framework/SoundAnalysis";
public const string CoreMediaLibrary = "/System/Library/Frameworks/CoreMedia.framework/CoreMedia";
public const string StoreKitLibrary = "/System/Library/Frameworks/StoreKit.framework/StoreKit";
// watchOS 7
public const string AccessibilityLibrary = "/System/Library/Frameworks/Accessibility.framework/Accessibility";
public const string UniformTypeIdentifiersLibrary = "/System/Library/Frameworks/UniformTypeIdentifiers.framework/UniformTypeIdentifiers";
}
}

Просмотреть файл

@ -42,7 +42,6 @@ namespace Foundation {
// note: the linker will remove the unrequired `dlopen` calls
// Used to force the loading of AppKit and Foundation
// ** DO NOT rename the fields as mmp's linker can remove them when not required **
// ** IF YOU ADD ITEMS HERE PLEASE UPDATE linker/ObjCExtensions.cs and mmp/linker/MonoMac.Tuner/MonoMacNamespaces.cs
static IntPtr fl = Dlfcn.dlopen (Constants.FoundationLibrary, 1);
static IntPtr al = Dlfcn.dlopen (Constants.AppKitLibrary, 1);
static IntPtr ab = Dlfcn.dlopen (Constants.AddressBookLibrary, 1);
@ -109,7 +108,6 @@ namespace Foundation {
static IntPtr vs = Dlfcn.dlopen (Constants.VideoSubscriberAccountLibrary, 1);
static IntPtr un = Dlfcn.dlopen (Constants.UserNotificationsLibrary, 1);
static IntPtr il = Dlfcn.dlopen (Constants.iTunesLibraryLibrary, 1);
// ** IF YOU ADD ITEMS HERE PLEASE UPDATE linker/ObjCExtensions.cs and mmp/linker/MonoMac.Tuner/MonoMacNamespaces.cs
#if !XAMCORE_4_0
[Obsolete ("Use PlatformAssembly for easier code sharing across platforms.")]

Просмотреть файл

@ -93,6 +93,7 @@ include ./Makefile.generator
include ./generator-diff.mk
COMMON_TARGET_DIRS = \
$(BUILD_DIR) \
$(BUILD_DIR)/common \
$(BUILD_DIR)/common/NativeTypes \
@ -115,6 +116,7 @@ $(SHARED_DESIGNER_CS): $(SHARED_RESX)
IOS_EXTRA_SOURCES = \
$(IOS_OPENTK_1_0_CORE_SOURCES) \
$(IOS_BUILD_DIR)/Constants.cs \
$(BUILD_DIR)/Constants.ios.generated.cs \
$(IOS_BUILD_DIR)/AssemblyInfo.cs \
$(SHARED_DESIGNER_CS) \
$(SHARED_SYSTEM_DRAWING_SOURCES) \
@ -432,6 +434,7 @@ SN_KEY = $(PRODUCT_KEY_PATH)
MAC_EXTRA_CORE_SOURCES += \
$(MAC_BUILD_DIR)/Constants.cs \
$(BUILD_DIR)/Constants.macos.generated.cs \
# Add new bindings + source files in frameworks.sources, not here.
@ -725,6 +728,7 @@ WATCHOS_WARNINGS_TO_FIX = -nowarn:219,618,114,414,1635,3021,$(IOS_WARNINGS_THAT_
WATCHOS_EXTRA_CORE_SOURCES = \
$(WATCH_BUILD_DIR)/Constants.cs \
$(BUILD_DIR)/Constants.watchos.generated.cs \
$(WATCH_BUILD_DIR)/AssemblyInfo.cs \
$(IOS_OPENTK_1_0_CORE_SOURCES) \
AudioToolbox/AudioBuffers.cs \
@ -1004,6 +1008,7 @@ TVOS_WARNINGS_TO_FIX=-nowarn:219,618,114,414,1635,3021,$(IOS_WARNINGS_THAT_YOU_S
TVOS_EXTRA_CORE_SOURCES = \
$(TVOS_BUILD_DIR)/Constants.cs \
$(BUILD_DIR)/Constants.tvos.generated.cs \
$(TVOS_BUILD_DIR)/AssemblyInfo.cs \
$(IOS_OPENTK_1_0_CORE_SOURCES) \
$(SHARED_SYSTEM_DRAWING_SOURCES) \
@ -1205,6 +1210,7 @@ MACCATALYST_WARNINGS_TO_FIX=-nowarn:219,618,114,414,1635,3021,$(IOS_WARNINGS_THA
MACCATALYST_EXTRA_CORE_SOURCES = \
$(MACCATALYST_BUILD_DIR)/Constants.cs \
$(BUILD_DIR)/Constants.maccatalyst.generated.cs \
$(MACCATALYST_BUILD_DIR)/AssemblyInfo.cs \
$(IOS_OPENTK_1_0_CORE_SOURCES) \
$(SHARED_SYSTEM_DRAWING_SOURCES) \
@ -1529,6 +1535,16 @@ $(DOTNET_COMPILER): Makefile $(TOP)/Make.config | $(DOTNET_BUILD_DIR)
$(Q) echo "exec $(SYSTEM_CSC) $(DOTNET_FLAGS) \"\$$@\"" >> $@
$(Q) chmod +x $@
GENERATE_FRAMEWORKS_CONSTANTS=generate-frameworks-constants/bin/Debug/generate-frameworks-constants.exe
$(GENERATE_FRAMEWORKS_CONSTANTS): $(wildcard generate-frameworks-constants/*.cs*) $(TOP)/tools/common/Frameworks.cs Makefile
$(Q) $(SYSTEM_MSBUILD) /r generate-frameworks-constants/generate-frameworks-constants.csproj $(MSBUILD_VERBOSITY)
# This rule means: generate a Constants.<platform>.generated.cs for the frameworks in the variable <PLATFORM>_FRAMEWORKS
$(BUILD_DIR)/Constants.%.generated.cs: Makefile $(GENERATE_FRAMEWORKS_CONSTANTS) | $(BUILD_DIR)
$(Q) mono --debug $(GENERATE_FRAMEWORKS_CONSTANTS) "$*" "$@.tmp"
$(Q) mv "$@.tmp" "$@"
# This tells NuGet to use the exact same dotnet version we've configured in Make.config
global.json: $(TOP)/global6.json
$(Q) $(CP) $< $@

Просмотреть файл

@ -59,7 +59,7 @@ namespace ObjCRuntime {
static public readonly IntPtr Handle = Dlfcn.dlopen (Constants.CoreMidiLibrary, 0);
}
#endif
#if !WATCH && !MONOMAC
#if HAS_OPENGLES
static public class OpenGLES
{
static public readonly IntPtr Handle = Dlfcn.dlopen (Constants.OpenGLESLibrary, 0);

Просмотреть файл

@ -0,0 +1,56 @@
using System;
using System.IO;
using System.Linq;
using System.Text;
using Xamarin.Utils;
namespace GenerateFrameworksConstants {
class MainClass {
public static int Main (string [] args)
{
var platform = args [0];
var output = args [1];
return Fix (GetPlatform (platform), output);
}
static ApplePlatform GetPlatform (string platform)
{
switch (platform.ToLowerInvariant ()) {
case "ios":
return ApplePlatform.iOS;
case "tvos":
return ApplePlatform.TVOS;
case "watchos":
return ApplePlatform.WatchOS;
case "macos":
return ApplePlatform.MacOSX;
case "maccatalyst":
return ApplePlatform.MacCatalyst;
default:
throw new NotImplementedException ($"Unknown platform: {platform}");
}
}
static int Fix (ApplePlatform platform, string output)
{
var frameworks = Frameworks.GetFrameworks (platform, false).Values.Where (v => !v.Unavailable);
var sb = new StringBuilder ();
sb.AppendLine ("namespace ObjCRuntime {");
sb.AppendLine ("\tpublic static partial class Constants {");
foreach (var grouped in frameworks.GroupBy (v => v.Version)) {
sb.AppendLine ($"\t\t// {platform} {grouped.Key}");
foreach (var fw in grouped.OrderBy (v => v.Name))
sb.AppendLine ($"\t\tpublic const string {fw.Namespace}Library = \"{fw.LibraryPath}\";");
sb.AppendLine ();
}
sb.AppendLine ("\t}");
sb.AppendLine ("}");
File.WriteAllText (output, sb.ToString ());
return 0;
}
}
}

Просмотреть файл

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">anycpu</Platform>
<ProjectGuid>{F502F186-49B0-431A-B6B2-CE87AFD711C3}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>generateframeworksconstants</RootNamespace>
<AssemblyName>generate-frameworks-constants</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|anycpu' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ExternalConsole>true</ExternalConsole>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|anycpu' ">
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ExternalConsole>true</ExternalConsole>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="..\..\tools\common\Frameworks.cs">
<Link>Frameworks.cs</Link>
</Compile>
<Compile Include="..\..\tools\common\ApplePlatform.cs">
<Link>ApplePlatform.cs</Link>
</Compile>
<Compile Include="..\..\tools\common\StringUtils.cs">
<Link>StringUtils.cs</Link>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project>

Просмотреть файл

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.808.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "generate-frameworks-constants", "generate-frameworks-constants.csproj", "{F502F186-49B0-431A-B6B2-CE87AFD711C3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|anycpu = Debug|anycpu
Release|anycpu = Release|anycpu
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F502F186-49B0-431A-B6B2-CE87AFD711C3}.Debug|anycpu.ActiveCfg = Debug|anycpu
{F502F186-49B0-431A-B6B2-CE87AFD711C3}.Debug|anycpu.Build.0 = Debug|anycpu
{F502F186-49B0-431A-B6B2-CE87AFD711C3}.Release|anycpu.ActiveCfg = Release|anycpu
{F502F186-49B0-431A-B6B2-CE87AFD711C3}.Release|anycpu.Build.0 = Release|anycpu
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {DCAC0510-C3C5-461F-BAB6-9A3D031EB2B9}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -13,12 +13,23 @@ using Xamarin.Utils;
public class Framework
{
public string Namespace;
public string Name;
public string Name; // this is the name to pass to the linker when linking. This can be an umbrella framework.
public string SubFramework; // if Name is an umbrella framework, this is the name of the actual sub framework.
public Version Version;
public Version VersionAvailableInSimulator;
public bool AlwaysWeakLinked;
public bool Unavailable;
public string LibraryPath {
get {
if (string.IsNullOrEmpty (SubFramework)) {
return $"/System/Library/Frameworks/{Name}.framework/{Name}";
} else {
return $"/System/Library/Frameworks/{Name}.framework/Versions/A/Frameworks/{SubFramework}.framework/{SubFramework}";
}
}
}
#if MTOUCH || MMP || BUNDLER
public bool IsFrameworkAvailableInSimulator (Application app)
{
@ -50,6 +61,11 @@ public class Frameworks : Dictionary <string, Framework>
Add (@namespace, @namespace, new Version (major_version, minor_version));
}
public void Add (string @namespace, int major_version, int minor_version, string subFramework = null)
{
Add (@namespace, @namespace, new Version (major_version, minor_version), subFramework: subFramework);
}
public void Add (string @namespace, string framework, int major_version, bool alwaysWeakLink)
{
Add (@namespace, framework, new Version (major_version, 0), null, alwaysWeakLink);
@ -60,12 +76,17 @@ public class Frameworks : Dictionary <string, Framework>
Add (@namespace, framework, new Version (major_version, minor_version));
}
public void Add (string @namespace, string framework, int major_version, int minor_version, string umbrellaFramework = null)
{
Add (@namespace, framework, new Version (major_version, minor_version), subFramework: umbrellaFramework);
}
public void Add (string @namespace, string framework, int major_version, int minor_version, int build_version)
{
Add (@namespace, framework, new Version (major_version, minor_version, build_version));
}
public void Add (string @namespace, string framework, Version version, Version version_available_in_simulator = null, bool alwaysWeakLink = false)
public void Add (string @namespace, string framework, Version version, Version version_available_in_simulator = null, bool alwaysWeakLink = false, string subFramework = null)
{
var fr = new Framework () {
Namespace = @namespace,
@ -73,6 +94,7 @@ public class Frameworks : Dictionary <string, Framework>
Version = version,
VersionAvailableInSimulator = version_available_in_simulator ?? version,
AlwaysWeakLinked = alwaysWeakLink,
SubFramework = subFramework,
};
base.Add (fr.Namespace, fr);
}
@ -94,18 +116,25 @@ public class Frameworks : Dictionary <string, Framework>
mac_frameworks = new Frameworks () {
{ "Accelerate", 10, 0 },
{ "AppKit", 10, 0 },
{ "CoreAudio", "CoreAudio", 10, 0 },
{ "CoreFoundation", "CoreFoundation", 10, 0 },
{ "CoreGraphics", "QuartzCore", 10, 0 },
{ "CoreImage", "QuartzCore", 10, 0 },
{ "CoreGraphics", "ApplicationServices", 10, 0, "CoreGraphics" },
// The CoreImage framework by itself was introduced in 10.11
// Up until 10.10 it was a sub framework in the QuartzCore umbrella framework
// They both existed until 10.13, when the sub framework was removed.
{ "CoreImage", 10, 0 },
{ "Foundation", 10, 0 },
{ "ImageKit", "Quartz", 10, 0 },
{ "PdfKit", "Quartz", 10, 0 },
{ "ImageKit", "Quartz", 10, 0, "ImageKit" },
{ "PdfKit", "Quartz", 10, 0, "PDFKit" },
{ "Security", 10, 0 },
{ "GSS", "GSS", 10, 1 },
{ "AddressBook", 10, 2 },
{ "AudioUnit", 10, 2 },
{ "CoreMidi", "CoreMIDI", 10, 2 },
{ "IOBluetooth", 10, 2 },
{ "IOBluetoothUI", 10, 2 },
{ "WebKit", 10, 2},
{ "AudioToolbox", 10, 3 },
@ -113,27 +142,27 @@ public class Frameworks : Dictionary <string, Framework>
{ "CoreVideo", 10, 3 },
{ "MobileCoreServices", "CoreServices", 10, 3 },
{ "OpenGL", 10, 3 },
{ "SearchKit", "CoreServices", 10,3 },
{ "SearchKit", "CoreServices", 10,3, "SearchKit" },
{ "SystemConfiguration", 10, 3 },
{ "CoreData", 10, 4 },
{ "ImageIO", 10, 4 },
{ "ImageIO", 10, 4 }, // it's own framework since at least 10.9
{ "OpenAL", 10, 4 },
{ "CoreAnimation", "QuartzCore", 10, 5 },
{ "CoreText", 10, 5 },
{ "PrintCore", "CoreServices", 10,5 },
{ "CoreText", 10, 5 }, // it's own framework since at least 10.9
{ "InputMethodKit", 10, 5 },
{ "PrintCore", "ApplicationServices", 10,5, "PrintCore" },
{ "ScriptingBridge", 10, 5 },
{ "QuickLook", 10, 5 },
{ "QuartzComposer", "Quartz", 10, 5 },
{ "QuartzComposer", "Quartz", 10, 5, "QuartzComposer" },
{ "ImageCaptureCore", "ImageCaptureCore", 10,5 },
{ "QTKit", 10, 6 },
{ "QuickLookUI", "Quartz", 10, 6 },
{ "QuickLookUI", "Quartz", 10, 6, "QuickLookUI" },
{ "MediaToolbox", 10, 9 },
{ "AVFoundation", 10, 7 },
{ "CoreBluetooth", "IOBluetooth", 10, 7 },
{ "CoreLocation", 10, 7 },
{ "CoreMedia", 10, 7 },
{ "CoreWlan", "CoreWLAN", 10, 7 },
@ -150,6 +179,10 @@ public class Frameworks : Dictionary <string, Framework>
{ "VideoToolbox", 10, 8 },
{ "AVKit", 10, 9 },
// The CoreBluetooth framework was added as a sub framework of the IOBluetooth framework in 10.7
// Then it was moved to its own top-level framework in 10.10
// and the sub framework was deleted in 10.12
{ "CoreBluetooth", 10, 9 },
{ "GameController", 10, 9 },
{ "MapKit", 10, 9 },
{ "MediaAccessibility", 10, 9 },
@ -218,6 +251,7 @@ public class Frameworks : Dictionary <string, Framework>
{ "CallKit", "CallKit", 11,0 },
{ "ClassKit", "ClassKit", 11,0 },
{ "MLCompute", "MLCompute", 11,0 },
{ "NearbyInteraction", "NearbyInteraction", 11,0 },
{ "OSLog", "OSLog", 11,0 },
{ "PassKit", "PassKit", 11,0 },
{ "ReplayKit", "ReplayKit", 11,0 },
@ -249,6 +283,7 @@ public class Frameworks : Dictionary <string, Framework>
{ "AVFoundation", "AVFoundation", 3 },
{ "CFNetwork", "CFNetwork", 3 },
{ "CoreAnimation", "QuartzCore", 3 },
{ "CoreAudio", "CoreAudio", 3 },
{ "CoreData", "CoreData", 3 },
{ "CoreFoundation", "CoreFoundation", 3 },
{ "CoreGraphics", "CoreGraphics", 3 },
@ -353,6 +388,7 @@ public class Frameworks : Dictionary <string, Framework>
{ "AuthenticationServices", "AuthenticationServices", 12,0 },
{ "CarPlay", "CarPlay", 12,0 },
{ "CoreServices", "MobileCoreServices", 12, 0 },
{ "IdentityLookupUI", "IdentityLookupUI", 12,0 },
{ "NaturalLanguage", "NaturalLanguage", 12,0 },
{ "Network", "Network", 12, 0 },
@ -398,6 +434,7 @@ public class Frameworks : Dictionary <string, Framework>
// { "CFNetwork", "CFNetwork", 2 },
{ "ClockKit", "ClockKit", 2 },
{ "Contacts", "Contacts", 2 },
{ "CoreAudio", "CoreAudio", 2 },
{ "CoreData", "CoreData", 2 },
{ "CoreFoundation", "CoreFoundation", 2 },
{ "CoreGraphics", "CoreGraphics", 2 },
@ -470,6 +507,7 @@ public class Frameworks : Dictionary <string, Framework>
{ "CoreImage", "CoreImage", 9 },
{ "CoreLocation", "CoreLocation", 9 },
{ "CoreMedia", "CoreMedia", 9 },
{ "CoreSpotlight", "CoreSpotlight", 9 },
{ "CoreText", "CoreText", 9 },
{ "CoreVideo", "CoreVideo", 9 },
{ "Foundation", "Foundation", 9 },
@ -485,7 +523,6 @@ public class Frameworks : Dictionary <string, Framework>
{ "Metal", "Metal", 9 },
{ "MetalKit", "MetalKit", new Version (9, 0), new Version (10, 0) },
{ "MetalPerformanceShaders", "MetalPerformanceShaders", new Version (9, 0), NotAvailableInSimulator /* not available in the simulator */ },
{ "CoreServices", "CFNetwork", 9 },
{ "MobileCoreServices", "MobileCoreServices", 9 },
{ "ModelIO", "ModelIO", 9 },
{ "OpenGLES", "OpenGLES", 9 },
@ -515,6 +552,7 @@ public class Frameworks : Dictionary <string, Framework>
{ "IOSurface", "IOSurface", new Version (11, 0), NotAvailableInSimulator /* Not available in the simulator (the header is there, but broken) */ },
{ "Vision", "Vision", 11 },
{ "CoreServices", "MobileCoreServices", 12 },
{ "NaturalLanguage", "NaturalLanguage", 12,0 },
{ "Network", "Network", 12, 0 } ,
{ "TVUIKit", "TVUIKit", 12,0 },

Просмотреть файл

@ -2,6 +2,7 @@
//#define DEBUG
using System;
using System.Collections.Generic;
using System.Linq;
using Mono.Cecil;
using Mono.Cecil.Cil;
@ -10,79 +11,11 @@ using Mono.Linker.Steps;
using Mono.Tuner;
using Xamarin.Linker;
using Xamarin.Bundler;
using Xamarin.Tuner;
namespace MonoMac.Tuner {
public class MonoMacNamespaces : IStep {
Dictionary <string, string> NamespaceMapping = new Dictionary <string, string> {
{ Constants.FoundationLibrary, Namespaces.Foundation },
{ Constants.AppKitLibrary, Namespaces.AppKit },
{ Constants.AddressBookLibrary, Namespaces.AddressBook },
{ Constants.CoreTextLibrary, Namespaces.CoreText },
{ Constants.WebKitLibrary, Namespaces.WebKit },
{ Constants.QuartzLibrary, Namespaces.CoreAnimation },
{ Constants.QTKitLibrary, Namespaces.QTKit },
{ Constants.CoreLocationLibrary, Namespaces.CoreLocation },
{ Constants.SecurityLibrary, Namespaces.Security },
{ Constants.QuartzComposerLibrary, Namespaces.QuartzComposer },
{ Constants.CoreWlanLibrary, Namespaces.CoreWlan },
{ Constants.PdfKitLibrary, Namespaces.PdfKit },
{ Constants.ImageKitLibrary, Namespaces.ImageKit },
{ Constants.ScriptingBridgeLibrary, Namespaces.ScriptingBridge },
{ Constants.AVFoundationLibrary, Namespaces.AVFoundation },
{ Constants.CoreBluetoothLibrary, Namespaces.CoreBluetooth },
{ Constants.GameKitLibrary, Namespaces.GameKit },
{ Constants.GameControllerLibrary, Namespaces.GameController },
{ Constants.JavaScriptCoreLibrary, Namespaces.JavaScriptCore },
{ Constants.CoreAudioKitLibrary, Namespaces.CoreAudioKit },
{ Constants.InputMethodKitLibrary, Namespaces.InputMethodKit },
{ Constants.OpenALLibrary, Namespaces.OpenAL },
{ Constants.MediaAccessibilityLibrary, Namespaces.MediaAccessibility },
{ Constants.CoreMidiLibrary, Namespaces.CoreMIDI },
{ Constants.MediaLibraryLibrary, Namespaces.MediaLibrary },
{ Constants.GLKitLibrary, Namespaces.GLKit },
{ Constants.SpriteKitLibrary, Namespaces.SpriteKit },
{ Constants.CloudKitLibrary, Namespaces.CloudKit },
{ Constants.LocalAuthenticationLibrary, Namespaces.LocalAuthentication },
{ Constants.AccountsLibrary, Namespaces.Accounts },
{ Constants.ContactsLibrary, Namespaces.Contacts },
{ Constants.ContactsUILibrary, Namespaces.ContactsUI },
{ Constants.MapKitLibrary, Namespaces.MapKit },
{ Constants.EventKitLibrary, Namespaces.EventKit },
{ Constants.SocialLibrary, Namespaces.Social },
{ Constants.AVKitLibrary, Namespaces.AVKit },
{ Constants.VideoToolboxLibrary, Namespaces.VideoToolbox },
{ Constants.GameplayKitLibrary, Namespaces.GameplayKit },
{ Constants.NetworkExtensionLibrary, Namespaces.NetworkExtension },
{ Constants.MultipeerConnectivityLibrary, Namespaces.MultipeerConnectivity },
{ Constants.MetalKitLibrary, Namespaces.MetalKit },
{ Constants.ModelIOLibrary, Namespaces.ModelIO },
{ Constants.IOBluetoothLibrary, Namespaces.IOBluetooth },
{ Constants.IOBluetoothUILibrary, Namespaces.IOBluetoothUI },
{ Constants.FinderSyncLibrary, Namespaces.FinderSync },
{ Constants.NotificationCenterLibrary, Namespaces.NotificationCenter },
{ Constants.SceneKitLibrary, Namespaces.SceneKit },
{ Constants.StoreKitLibrary, Namespaces.StoreKit },
{ Constants.MediaPlayerLibrary, Namespaces.MediaPlayer },
{ Constants.IntentsLibrary, Namespaces.Intents },
{ Constants.PhotosLibrary, Namespaces.Photos },
{ Constants.PhotosUILibrary, Namespaces.PhotosUI },
{ Constants.PrintCoreLibrary, Namespaces.PrintCore },
{ Constants.CoreMLLibrary, Namespaces.CoreML },
{ Constants.VisionLibrary, Namespaces.Vision },
{ Constants.IOSurfaceLibrary, Namespaces.IOSurface },
{ Constants.ExternalAccessoryLibrary, Namespaces.ExternalAccessory },
{ Constants.MetalPerformanceShadersLibrary, Namespaces.MetalPerformanceShaders },
{ Constants.AdSupportLibrary, Namespaces.AdSupport },
{ Constants.NaturalLanguageLibrary, Namespaces.NaturalLanguage},
{ Constants.NetworkLibrary, Namespaces.Network},
{ Constants.VideoSubscriberAccountLibrary, Namespaces.VideoSubscriberAccount },
{ Constants.ImageCaptureCoreLibrary, Namespaces.ImageCaptureCore },
{ Constants.iTunesLibraryLibrary, Namespaces.iTunesLibrary },
};
public void Process (LinkContext context)
{
var profile = (Profile.Current as BaseProfile);
@ -96,6 +29,16 @@ namespace MonoMac.Tuner {
namespaces.Add (type.Namespace);
}
// Compute our map
// there can be multiple namespaces for the same library
var frameworks = Frameworks.GetFrameworks (((DerivedLinkContext) context).App.Platform, false);
var map = new Dictionary<string, List<string>> ();
foreach (var fw in frameworks.Values) {
if (!map.TryGetValue (fw.LibraryPath, out var list))
map [fw.LibraryPath] = list = new List<string> ();
list.Add (fw.Namespace);
}
// clean NSObject from loading them
var nsobject = assembly.MainModule.GetType (Namespaces.Foundation + ".NSObject");
@ -112,9 +55,8 @@ namespace MonoMac.Tuner {
// Based on the list from xamcore/src/Foundation/NSObjectMac.cs
bool remove_dlopen = false;
string targetNamespace;
if (NamespaceMapping.TryGetValue (ins.Operand as string, out targetNamespace)) {
remove_dlopen = !namespaces.Contains (targetNamespace);
if (map.TryGetValue (ins.Operand as string, out var targetNamespaces)) {
remove_dlopen = !targetNamespaces.Any (v => namespaces.Contains (v));
}
#if DEBUG
else {