[CarPlay] Adds Xcode 10 Beta 1 Bindings (#4217)
* [CarPlay] Adds Xcode 10 Beta 1 Bindings * Adds [DisableDefaultCtor] to CPVoiceControlTemplate * Implement feedback
This commit is contained in:
Родитель
d2b8669113
Коммит
20f5d952a9
|
@ -34,6 +34,8 @@
|
|||
/src/avkit.cs @spouliot @dalexsoto
|
||||
/src/CallKit @dalexsoto
|
||||
/src/callkit.cs @dalexsoto
|
||||
/src/CarPlay @dalexsoto
|
||||
/src/carplay.cs @dalexsoto
|
||||
/src/CFNetwork @spouliot
|
||||
/src/cfnetwork.cs @spouliot
|
||||
/src/CloudKit @mandel-macaque
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
//
|
||||
// CPNavigationAlert.cs
|
||||
//
|
||||
// Authors:
|
||||
// Alex Soto <alexsoto@microsoft.com>
|
||||
//
|
||||
// Copyright 2018 Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
using System;
|
||||
using Foundation;
|
||||
using ObjCRuntime;
|
||||
|
||||
#if XAMCORE_2_0
|
||||
namespace CarPlay {
|
||||
public partial class CPNavigationAlert {
|
||||
// Defined inside CPNavigationAlert.h
|
||||
// static NSTimeInterval const CPNavigationAlertMinimumDuration = 10;
|
||||
public const double MinimumDuration = 10;
|
||||
}
|
||||
}
|
||||
#endif // XAMCORE_2_0
|
|
@ -122,5 +122,7 @@ namespace MonoTouch {
|
|||
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 CarPlayLibrary = "/System/Library/Frameworks/CarPlay.framework/CarPlay";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,714 @@
|
|||
//
|
||||
// CarPlay bindings
|
||||
//
|
||||
// Authors:
|
||||
// Alex Soto <alexsoto@microsoft.com>
|
||||
//
|
||||
// Copyright 2018 Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#if XAMCORE_2_0
|
||||
|
||||
using System;
|
||||
using Foundation;
|
||||
using ObjCRuntime;
|
||||
using UIKit;
|
||||
using CoreGraphics;
|
||||
using MapKit;
|
||||
|
||||
namespace CarPlay {
|
||||
|
||||
// Just to please the generator that at this point does not know the hierarchy
|
||||
interface NSUnitLength : NSUnit { }
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Native]
|
||||
enum CPAlertStyle : ulong {
|
||||
ActionSheet = 0,
|
||||
FullScreen,
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Native]
|
||||
enum CPAlertActionStyle : ulong {
|
||||
Default = 0,
|
||||
Cancel,
|
||||
Destructive,
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Native]
|
||||
enum CPBarButtonType : ulong {
|
||||
Text,
|
||||
Image,
|
||||
}
|
||||
|
||||
[Flags, NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Native]
|
||||
enum CPPanDirection : ulong {
|
||||
None = 0,
|
||||
Left = 1uL << 0,
|
||||
Right = 1uL << 1,
|
||||
Up = 1uL << 2,
|
||||
Down = 1uL << 3,
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Native]
|
||||
enum CPNavigationAlertPriority : ulong {
|
||||
Default = 0,
|
||||
High,
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Native]
|
||||
public enum CPNavigationAlertDismissalContext : ulong {
|
||||
Timeout = 0,
|
||||
UserDismissed,
|
||||
SystemDismissed,
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Native]
|
||||
public enum CPTripPauseReason : ulong {
|
||||
Arrived = 1,
|
||||
Loading = 2,
|
||||
Locating = 3,
|
||||
Rerouting = 4,
|
||||
ProceedToRoute = 5,
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Flags]
|
||||
[Native]
|
||||
enum CPLimitableUserInterface : ulong {
|
||||
Keyboard = 1uL << 0,
|
||||
Lists = 1uL << 1,
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPAlert : NSSecureCoding {
|
||||
|
||||
[Export ("initWithTitleVariants:style:actions:")]
|
||||
IntPtr Constructor (string [] title, CPAlertStyle style, CPAlertAction [] actions);
|
||||
|
||||
[Export ("titleVariants", ArgumentSemantic.Copy)]
|
||||
string [] TitleVariants { get; }
|
||||
|
||||
[Export ("style")]
|
||||
CPAlertStyle Style { get; }
|
||||
|
||||
[Export ("actions", ArgumentSemantic.Strong)]
|
||||
CPAlertAction [] Actions { get; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPAlertAction : NSSecureCoding {
|
||||
|
||||
[Export ("initWithTitle:style:handler:")]
|
||||
IntPtr Constructor (string title, CPAlertActionStyle style, Action<CPAlertAction> handler);
|
||||
|
||||
[Export ("title")]
|
||||
string Title { get; }
|
||||
|
||||
[Export ("style", ArgumentSemantic.Assign)]
|
||||
CPAlertActionStyle Style { get; }
|
||||
|
||||
[Export ("handler", ArgumentSemantic.Copy)]
|
||||
Action<CPAlertAction> Handler { get; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPBarButton : NSSecureCoding {
|
||||
|
||||
[Export ("initWithType:handler:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (CPBarButtonType type, [NullAllowed] Action<CPBarButton> handler);
|
||||
|
||||
[Export ("enabled")]
|
||||
bool Enabled { [Bind ("isEnabled")] get; set; }
|
||||
|
||||
[Export ("buttonType", ArgumentSemantic.Assign)]
|
||||
CPBarButtonType ButtonType { get; }
|
||||
|
||||
[NullAllowed, Export ("image", ArgumentSemantic.Strong)]
|
||||
UIImage Image { get; set; }
|
||||
|
||||
[NullAllowed, Export ("title")]
|
||||
string Title { get; set; }
|
||||
}
|
||||
|
||||
interface ICPBarButtonProviding { }
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Protocol]
|
||||
interface CPBarButtonProviding {
|
||||
|
||||
[Abstract]
|
||||
[Export ("leadingNavigationBarButtons", ArgumentSemantic.Strong)]
|
||||
CPBarButton [] LeadingNavigationBarButtons { get; set; }
|
||||
|
||||
[Abstract]
|
||||
[Export ("trailingNavigationBarButtons", ArgumentSemantic.Strong)]
|
||||
CPBarButton [] TrailingNavigationBarButtons { get; set; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPGridButton : NSSecureCoding {
|
||||
|
||||
[Export ("initWithTitleVariants:image:handler:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (string [] titleVariants, UIImage image, [NullAllowed] Action<CPGridButton> handler);
|
||||
|
||||
[Export ("enabled")]
|
||||
bool Enabled { [Bind ("isEnabled")] get; set; }
|
||||
|
||||
[Export ("image")]
|
||||
UIImage Image { get; }
|
||||
|
||||
[Export ("titleVariants")]
|
||||
string [] TitleVariants { get; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (CPTemplate))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPGridTemplate : CPBarButtonProviding{
|
||||
|
||||
[Export ("initWithTitle:gridButtons:")]
|
||||
IntPtr Constructor ([NullAllowed] string title, CPGridButton [] gridButtons);
|
||||
|
||||
[Export ("gridButtons")]
|
||||
CPGridButton [] GridButtons { get; }
|
||||
|
||||
[Export ("title")]
|
||||
string Title { get; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPInterfaceController {
|
||||
|
||||
[Wrap ("WeakDelegate")]
|
||||
[NullAllowed]
|
||||
ICPInterfaceControllerDelegate Delegate { get; set; }
|
||||
|
||||
[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
|
||||
NSObject WeakDelegate { get; set; }
|
||||
|
||||
[Export ("setRootTemplate:animated:")]
|
||||
void SetRootTemplate (CPTemplate rootTemplate, bool animated);
|
||||
|
||||
[Export ("pushTemplate:animated:")]
|
||||
void PushTemplate (CPTemplate templateToPush, bool animated);
|
||||
|
||||
[Export ("popTemplateAnimated:")]
|
||||
void PopTemplate (bool animated);
|
||||
|
||||
[Export ("popToRootTemplateAnimated:")]
|
||||
void PopToRootTemplate (bool animated);
|
||||
|
||||
[Export ("popToTemplate:animated:")]
|
||||
void PopToTemplate (CPTemplate targetTemplate, bool animated);
|
||||
|
||||
[Export ("rootTemplate")]
|
||||
CPTemplate RootTemplate { get; }
|
||||
|
||||
[NullAllowed, Export ("topTemplate", ArgumentSemantic.Strong)]
|
||||
CPTemplate TopTemplate { get; }
|
||||
|
||||
[Export ("templates", ArgumentSemantic.Strong)]
|
||||
CPTemplate [] Templates { get; }
|
||||
|
||||
[Export ("presentAlert:")]
|
||||
void PresentAlert (CPAlert alert);
|
||||
|
||||
[Export ("dismissAlertAnimated:")]
|
||||
void DismissAlert (bool animated);
|
||||
}
|
||||
|
||||
interface ICPInterfaceControllerDelegate { }
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Protocol, Model (AutoGeneratedName = true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface CPInterfaceControllerDelegate {
|
||||
|
||||
[Export ("templateWillAppear:animated:")]
|
||||
void TemplateWillAppear (CPTemplate aTemplate, bool animated);
|
||||
|
||||
[Export ("templateDidAppear:animated:")]
|
||||
void TemplateDidAppear (CPTemplate aTemplate, bool animated);
|
||||
|
||||
[Export ("templateWillDisappear:animated:")]
|
||||
void TemplateWillDisappear (CPTemplate aTemplate, bool animated);
|
||||
|
||||
[Export ("templateDidDisappear:animated:")]
|
||||
void TemplateDidDisappear (CPTemplate aTemplate, bool animated);
|
||||
}
|
||||
|
||||
interface ICPApplicationDelegate { }
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Protocol, Model (AutoGeneratedName = true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface CPApplicationDelegate : UIApplicationDelegate {
|
||||
|
||||
[Abstract]
|
||||
[Export ("application:didConnectCarInterfaceController:toWindow:")]
|
||||
void DidConnectCarInterfaceController (UIApplication application, CPInterfaceController interfaceController, UIWindow window);
|
||||
|
||||
[Abstract]
|
||||
[Export ("application:didDisconnectCarInterfaceController:fromWindow:")]
|
||||
void DidDisconnectCarInterfaceController (UIApplication application, CPInterfaceController interfaceController, UIWindow window);
|
||||
|
||||
[Export ("application:didSelectNavigationAlert:")]
|
||||
void DidSelectNavigationAlert (UIApplication application, CPNavigationAlert navigationAlert);
|
||||
|
||||
[Export ("application:didSelectManeuver:")]
|
||||
void DidSelectManeuver (UIApplication application, CPManeuver maneuver);
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPListItem : NSSecureCoding {
|
||||
|
||||
[Field ("CPMaximumListItemImageSize")]
|
||||
CGSize MaximumListItemImageSize { get; }
|
||||
|
||||
[Export ("initWithText:detailText:image:showsDisclosureIndicator:")]
|
||||
IntPtr Constructor ([NullAllowed] string text, [NullAllowed] string detailText, [NullAllowed] UIImage image, bool showsDisclosureIndicator);
|
||||
|
||||
[Export ("initWithText:detailText:image:")]
|
||||
IntPtr Constructor ([NullAllowed] string text, [NullAllowed] string detailText, [NullAllowed] UIImage image);
|
||||
|
||||
[Export ("initWithText:detailText:")]
|
||||
IntPtr Constructor ([NullAllowed] string text, [NullAllowed] string detailText);
|
||||
|
||||
[NullAllowed, Export ("text")]
|
||||
string Text { get; }
|
||||
|
||||
[NullAllowed, Export ("detailText")]
|
||||
string DetailText { get; }
|
||||
|
||||
[NullAllowed, Export ("image", ArgumentSemantic.Strong)]
|
||||
UIImage Image { get; }
|
||||
|
||||
[Export ("showsDisclosureIndicator")]
|
||||
bool ShowsDisclosureIndicator { get; }
|
||||
|
||||
[NullAllowed, Export ("userInfo", ArgumentSemantic.Strong)]
|
||||
NSObject UserInfo { get; set; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPListSection : NSSecureCoding {
|
||||
|
||||
[Export ("initWithItems:header:sectionIndexTitle:")]
|
||||
IntPtr Constructor (CPListItem [] items, [NullAllowed] string header, [NullAllowed] string sectionIndexTitle);
|
||||
|
||||
[Export ("initWithItems:")]
|
||||
IntPtr Constructor (CPListItem [] items);
|
||||
|
||||
[NullAllowed, Export ("header")]
|
||||
string Header { get; }
|
||||
|
||||
[NullAllowed, Export ("sectionIndexTitle")]
|
||||
string SectionIndexTitle { get; }
|
||||
|
||||
[Export ("items", ArgumentSemantic.Copy)]
|
||||
CPListItem [] Items { get; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (CPTemplate))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPListTemplate : CPBarButtonProviding {
|
||||
|
||||
[Export ("initWithSections:")]
|
||||
IntPtr Constructor (CPListSection [] sections);
|
||||
|
||||
[Wrap ("WeakDelegate")]
|
||||
[NullAllowed]
|
||||
ICPListTemplateDelegate Delegate { get; set; }
|
||||
|
||||
[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
|
||||
NSObject WeakDelegate { get; set; }
|
||||
|
||||
[Export ("sections", ArgumentSemantic.Copy)]
|
||||
CPListSection [] Sections { get; }
|
||||
|
||||
[NullAllowed, Export ("title")]
|
||||
string Title { get; set; }
|
||||
|
||||
[Export ("updateSections:")]
|
||||
void UpdateSections (CPListSection [] sections);
|
||||
}
|
||||
|
||||
interface ICPListTemplateDelegate { }
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Protocol, Model (AutoGeneratedName = true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface CPListTemplateDelegate {
|
||||
|
||||
[Abstract]
|
||||
[Export ("listTemplate:didSelectListItem:completionHandler:")]
|
||||
void DidSelectListItem (CPListTemplate listTemplate, CPListItem item, Action completionHandler);
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface CPManeuver : NSCopying, NSSecureCoding {
|
||||
|
||||
[NullAllowed, Export ("symbol", ArgumentSemantic.Strong)]
|
||||
UIImage Symbol { get; set; }
|
||||
|
||||
[Export ("instructionVariants", ArgumentSemantic.Copy)]
|
||||
string [] InstructionVariants { get; set; }
|
||||
|
||||
[NullAllowed, Export ("distanceFromPreviousManeuver", ArgumentSemantic.Copy)]
|
||||
NSMeasurement<NSUnitLength> DistanceFromPreviousManeuver { get; set; }
|
||||
|
||||
[NullAllowed, Export ("userInfo", ArgumentSemantic.Strong)]
|
||||
NSObject UserInfo { get; set; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPMapButton : NSSecureCoding {
|
||||
|
||||
[Export ("initWithHandler:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor ([NullAllowed] Action<CPMapButton> handler);
|
||||
|
||||
[Export ("enabled")]
|
||||
bool Enabled { [Bind ("isEnabled")] get; set; }
|
||||
|
||||
[Export ("hidden")]
|
||||
bool Hidden { [Bind ("isHidden")] get; set; }
|
||||
|
||||
[NullAllowed, Export ("image", ArgumentSemantic.Strong)]
|
||||
UIImage Image { get; set; }
|
||||
|
||||
[NullAllowed, Export ("focusedImage", ArgumentSemantic.Strong)]
|
||||
UIImage FocusedImage { get; set; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (CPTemplate))]
|
||||
interface CPMapTemplate : CPBarButtonProviding {
|
||||
|
||||
[Export ("mapButtons", ArgumentSemantic.Strong)]
|
||||
CPMapButton [] MapButtons { get; set; }
|
||||
|
||||
[Export ("showTripPreviews:")]
|
||||
void ShowTripPreviews (CPTrip [] tripPreviews);
|
||||
|
||||
[Export ("hideTripPreviews")]
|
||||
void HideTripPreviews ();
|
||||
|
||||
[Export ("updateTravelEstimates:forTrip:")]
|
||||
void UpdateTravelEstimates (CPTravelEstimates estimates, CPTrip trip);
|
||||
|
||||
[Export ("startNavigationSessionForTrip:")]
|
||||
CPNavigationSession StartNavigationSession (CPTrip trip);
|
||||
|
||||
[Export ("automaticallyHidesNavigationBar")]
|
||||
bool AutomaticallyHidesNavigationBar { get; set; }
|
||||
|
||||
[Export ("hidesButtonsWithNavigationBar")]
|
||||
bool HidesButtonsWithNavigationBar { get; set; }
|
||||
|
||||
[Wrap ("WeakMapDelegate")]
|
||||
[NullAllowed]
|
||||
ICPMapTemplateDelegate MapDelegate { get; set; }
|
||||
|
||||
[NullAllowed, Export ("mapDelegate", ArgumentSemantic.Weak)]
|
||||
NSObject WeakMapDelegate { get; set; }
|
||||
|
||||
[Export ("showPanningInterfaceAnimated:")]
|
||||
void ShowPanningInterface (bool animated);
|
||||
|
||||
[Export ("dismissPanningInterfaceAnimated:")]
|
||||
void DismissPanningInterface (bool animated);
|
||||
|
||||
[NullAllowed, Export ("currentNavigationAlert", ArgumentSemantic.Strong)]
|
||||
CPNavigationAlert CurrentNavigationAlert { get; }
|
||||
|
||||
[Export ("presentNavigationAlert:animated:")]
|
||||
void PresentNavigationAlert (CPNavigationAlert navigationAlert, bool animated);
|
||||
|
||||
[Async]
|
||||
[Export ("dismissNavigationAlertAnimated:completion:")]
|
||||
void DismissNavigationAlert (bool animated, Action<bool> completion);
|
||||
}
|
||||
|
||||
interface ICPMapTemplateDelegate { }
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Protocol, Model (AutoGeneratedName = true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface CPMapTemplateDelegate {
|
||||
|
||||
[Export ("mapTemplate:shouldShowNotificationForManeuver:")]
|
||||
bool ShouldShowNotificationForManeuver (CPMapTemplate mapTemplate, CPManeuver maneuver);
|
||||
|
||||
[Export ("mapTemplate:shouldUpdateNotificationForManeuver:withTravelEstimates:")]
|
||||
bool ShouldUpdateNotificationForManeuver (CPMapTemplate mapTemplate, CPManeuver maneuver, CPTravelEstimates travelEstimates);
|
||||
|
||||
[Export ("mapTemplate:shouldShowNotificationForNavigationAlert:")]
|
||||
bool ShouldShowNotificationForNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
|
||||
|
||||
[Export ("mapTemplateDidShowPanningInterface:")]
|
||||
void DidShowPanningInterface (CPMapTemplate mapTemplate);
|
||||
|
||||
[Export ("mapTemplateWillDismissPanningInterface:")]
|
||||
void WillDismissPanningInterface (CPMapTemplate mapTemplate);
|
||||
|
||||
[Export ("mapTemplateDidDismissPanningInterface:")]
|
||||
void DidDismissPanningInterface (CPMapTemplate mapTemplate);
|
||||
|
||||
[Export ("mapTemplate:panBeganWithDirection:")]
|
||||
void PanBegan (CPMapTemplate mapTemplate, CPPanDirection direction);
|
||||
|
||||
[Export ("mapTemplate:panEndedWithDirection:")]
|
||||
void PanEnded (CPMapTemplate mapTemplate, CPPanDirection direction);
|
||||
|
||||
[Export ("mapTemplate:panWithDirection:")]
|
||||
void Pan (CPMapTemplate mapTemplate, CPPanDirection direction);
|
||||
|
||||
[Export ("mapTemplate:willShowNavigationAlert:")]
|
||||
void WillShowNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
|
||||
|
||||
[Export ("mapTemplate:didShowNavigationAlert:")]
|
||||
void DidShowNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
|
||||
|
||||
[Export ("mapTemplate:willDismissNavigationAlert:dismissalContext:")]
|
||||
void WillDismissNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert, CPNavigationAlertDismissalContext dismissalContext);
|
||||
|
||||
[Export ("mapTemplate:didDismissNavigationAlert:dismissalContext:")]
|
||||
void DidDismissNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert, CPNavigationAlertDismissalContext dismissalContext);
|
||||
|
||||
[Export ("mapTemplate:selectedPreviewForTrip:usingRouteChoice:")]
|
||||
void SelectedPreview (CPMapTemplate mapTemplate, CPTrip trip, CPRouteChoice routeChoice);
|
||||
|
||||
[Export ("mapTemplate:startedTrip:usingRouteChoice:")]
|
||||
void StartedTrip (CPMapTemplate mapTemplate, CPTrip trip, CPRouteChoice routeChoice);
|
||||
|
||||
[Export ("mapTemplateDidCancelNavigation:")]
|
||||
void DidCancelNavigation (CPMapTemplate mapTemplate);
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPNavigationAlert : NSSecureCoding {
|
||||
|
||||
[Export ("initWithTitleVariants:subtitleVariants:image:priority:primaryAction:secondaryAction:duration:")]
|
||||
IntPtr Constructor (string [] titleVariants, [NullAllowed] string [] subtitleVariants, [NullAllowed] UIImage image, CPNavigationAlertPriority priority, CPAlertAction primaryAction, [NullAllowed] CPAlertAction secondaryAction, double duration);
|
||||
|
||||
[Export ("alertPriority")]
|
||||
CPNavigationAlertPriority AlertPriority { get; }
|
||||
|
||||
[Export ("titleVariants", ArgumentSemantic.Copy)]
|
||||
string [] TitleVariants { get; }
|
||||
|
||||
[Export ("subtitleVariants", ArgumentSemantic.Copy)]
|
||||
string [] SubtitleVariants { get; }
|
||||
|
||||
[NullAllowed, Export ("image", ArgumentSemantic.Copy)]
|
||||
UIImage Image { get; }
|
||||
|
||||
[Export ("primaryAction", ArgumentSemantic.Strong)]
|
||||
CPAlertAction PrimaryAction { get; }
|
||||
|
||||
[NullAllowed, Export ("secondaryAction", ArgumentSemantic.Strong)]
|
||||
CPAlertAction SecondaryAction { get; }
|
||||
|
||||
[Export ("duration")]
|
||||
double Duration { get; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPTravelEstimates : NSSecureCoding {
|
||||
|
||||
[Export ("initWithDistanceRemaining:timeRemaining:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (NSMeasurement<NSUnitLength> distance, double time);
|
||||
|
||||
[Export ("distanceRemaining", ArgumentSemantic.Copy)]
|
||||
NSMeasurement<NSUnitLength> DistanceRemaining { get; }
|
||||
|
||||
[Export ("timeRemaining")]
|
||||
double TimeRemaining { get; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPNavigationSession {
|
||||
|
||||
[Export ("pauseTripForReason:")]
|
||||
void PauseTrip (CPTripPauseReason reason);
|
||||
|
||||
[Export ("finishTrip")]
|
||||
void FinishTrip ();
|
||||
|
||||
[Export ("cancelTrip")]
|
||||
void CancelTrip ();
|
||||
|
||||
[Export ("upcomingManeuvers", ArgumentSemantic.Copy)]
|
||||
CPManeuver [] UpcomingManeuvers { get; set; }
|
||||
|
||||
[Export ("trip", ArgumentSemantic.Strong)]
|
||||
CPTrip Trip { get; }
|
||||
|
||||
[Export ("updateTravelEstimates:forManeuver:")]
|
||||
void UpdateTravelEstimates (CPTravelEstimates estimates, CPManeuver maneuver);
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (CPTemplate))]
|
||||
interface CPSearchTemplate {
|
||||
|
||||
[Wrap ("WeakDelegate")]
|
||||
[NullAllowed]
|
||||
ICPSearchTemplateDelegate Delegate { get; set; }
|
||||
|
||||
[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
|
||||
NSObject WeakDelegate { get; set; }
|
||||
}
|
||||
|
||||
interface ICPSearchTemplateDelegate { }
|
||||
delegate void CPSearchTemplateDelegateUpdateHandler (CPListItem [] searchResults);
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Protocol, Model (AutoGeneratedName = true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface CPSearchTemplateDelegate {
|
||||
|
||||
[Abstract]
|
||||
[Export ("searchTemplate:updatedSearchText:completionHandler:")]
|
||||
void UpdatedSearchText (CPSearchTemplate searchTemplate, string searchText, CPSearchTemplateDelegateUpdateHandler completionHandler);
|
||||
|
||||
[Abstract]
|
||||
[Export ("searchTemplate:selectedResult:completionHandler:")]
|
||||
void SelectedResult (CPSearchTemplate searchTemplate, CPListItem item, Action completionHandler);
|
||||
|
||||
[Export ("searchTemplateSearchButtonPressed:")]
|
||||
void SearchButtonPressed (CPSearchTemplate searchTemplate);
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPSessionConfiguration {
|
||||
|
||||
[Export ("initWithDelegate:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (ICPSessionConfigurationDelegate @delegate);
|
||||
|
||||
[Export ("limitedUserInterfaces")]
|
||||
CPLimitableUserInterface LimitedUserInterfaces { get; }
|
||||
|
||||
[Wrap ("WeakDelegate")]
|
||||
[NullAllowed]
|
||||
ICPSessionConfigurationDelegate Delegate { get; set; }
|
||||
|
||||
[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
|
||||
NSObject WeakDelegate { get; set; }
|
||||
}
|
||||
|
||||
interface ICPSessionConfigurationDelegate { }
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[Protocol, Model ( AutoGeneratedName = true)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface CPSessionConfigurationDelegate {
|
||||
|
||||
[Abstract]
|
||||
[Export ("sessionConfiguration:limitedUserInterfacesChanged:")]
|
||||
void LimitedUserInterfacesChanged (CPSessionConfiguration sessionConfiguration, CPLimitableUserInterface limitedUserInterfaces);
|
||||
}
|
||||
|
||||
[Abstract]
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface CPTemplate : NSSecureCoding {
|
||||
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPRouteChoice : NSCopying, NSSecureCoding {
|
||||
|
||||
[Export ("initWithSummaryVariants:additionalInformationVariants:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (string [] summaryVariants, string [] additionalInformationVariants);
|
||||
|
||||
[Export ("summaryVariants", ArgumentSemantic.Copy)]
|
||||
string [] SummaryVariants { get; }
|
||||
|
||||
[Export ("additionalInformationVariants", ArgumentSemantic.Copy)]
|
||||
string [] AdditionalInformationVariants { get; }
|
||||
|
||||
[NullAllowed, Export ("userInfo", ArgumentSemantic.Strong)]
|
||||
NSObject UserInfo { get; set; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPTrip : NSSecureCoding {
|
||||
|
||||
[Export ("initWithOrigin:destination:routeChoices:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (MKMapItem origin, MKMapItem destination, CPRouteChoice [] routeChoices);
|
||||
|
||||
[Export ("origin", ArgumentSemantic.Strong)]
|
||||
MKMapItem Origin { get; }
|
||||
|
||||
[Export ("destination", ArgumentSemantic.Strong)]
|
||||
MKMapItem Destination { get; }
|
||||
|
||||
[Export ("routeChoices", ArgumentSemantic.Copy)]
|
||||
CPRouteChoice [] RouteChoices { get; }
|
||||
|
||||
[NullAllowed, Export ("userInfo", ArgumentSemantic.Strong)]
|
||||
NSObject UserInfo { get; set; }
|
||||
}
|
||||
|
||||
[NoWatch, NoTV, NoMac, iOS (12,0)]
|
||||
[BaseType (typeof (CPTemplate))]
|
||||
[DisableDefaultCtor]
|
||||
interface CPVoiceControlTemplate {
|
||||
|
||||
[Export ("initWithTitleVariants:animatedImage:")]
|
||||
IntPtr Constructor (string [] titleVariants, UIImage animatedImage);
|
||||
|
||||
[Export ("titleVariants", ArgumentSemantic.Copy)]
|
||||
string [] TitleVariants { get; }
|
||||
|
||||
[Export ("animatedImage", ArgumentSemantic.Strong)]
|
||||
UIImage AnimatedImage { get; }
|
||||
}
|
||||
}
|
||||
|
||||
#endif // XAMCORE_2_0
|
|
@ -294,6 +294,11 @@ BUSINESSCHAT_SOURCES = \
|
|||
CALLKIT_SOURCES = \
|
||||
CallKit/CXProvider.cs \
|
||||
|
||||
# CarPlay
|
||||
|
||||
CARPLAY_SOURCES = \
|
||||
CarPlay/CPNavigationAlert.cs \
|
||||
|
||||
# ClassKit
|
||||
|
||||
CLASSKIT_SOURCES = \
|
||||
|
@ -1723,6 +1728,7 @@ IOS_FRAMEWORKS = \
|
|||
AudioUnit \
|
||||
BusinessChat \
|
||||
CallKit \
|
||||
CarPlay \
|
||||
CFNetwork \
|
||||
ClassKit \
|
||||
CloudKit \
|
||||
|
|
|
@ -1,163 +0,0 @@
|
|||
!missing-enum! CPAlertActionStyle not bound
|
||||
!missing-enum! CPAlertStyle not bound
|
||||
!missing-enum! CPBarButtonType not bound
|
||||
!missing-enum! CPLimitableUserInterface not bound
|
||||
!missing-enum! CPNavigationAlertDismissalContext not bound
|
||||
!missing-enum! CPNavigationAlertPriority not bound
|
||||
!missing-enum! CPPanDirection not bound
|
||||
!missing-enum! CPTripPauseReason not bound
|
||||
!missing-field! CPMaximumListItemImageSize not bound
|
||||
!missing-protocol! CPApplicationDelegate not bound
|
||||
!missing-protocol! CPBarButtonProviding not bound
|
||||
!missing-protocol! CPInterfaceControllerDelegate not bound
|
||||
!missing-protocol! CPListTemplateDelegate not bound
|
||||
!missing-protocol! CPMapTemplateDelegate not bound
|
||||
!missing-protocol! CPSearchTemplateDelegate not bound
|
||||
!missing-protocol! CPSessionConfigurationDelegate not bound
|
||||
!missing-selector! CPAlert::actions not bound
|
||||
!missing-selector! CPAlert::initWithTitleVariants:style:actions: not bound
|
||||
!missing-selector! CPAlert::style not bound
|
||||
!missing-selector! CPAlert::titleVariants not bound
|
||||
!missing-selector! CPAlertAction::handler not bound
|
||||
!missing-selector! CPAlertAction::initWithTitle:style:handler: not bound
|
||||
!missing-selector! CPAlertAction::style not bound
|
||||
!missing-selector! CPAlertAction::title not bound
|
||||
!missing-selector! CPBarButton::buttonType not bound
|
||||
!missing-selector! CPBarButton::image not bound
|
||||
!missing-selector! CPBarButton::initWithType:handler: not bound
|
||||
!missing-selector! CPBarButton::isEnabled not bound
|
||||
!missing-selector! CPBarButton::setEnabled: not bound
|
||||
!missing-selector! CPBarButton::setImage: not bound
|
||||
!missing-selector! CPBarButton::setTitle: not bound
|
||||
!missing-selector! CPBarButton::title not bound
|
||||
!missing-selector! CPGridButton::image not bound
|
||||
!missing-selector! CPGridButton::initWithTitleVariants:image:handler: not bound
|
||||
!missing-selector! CPGridButton::isEnabled not bound
|
||||
!missing-selector! CPGridButton::setEnabled: not bound
|
||||
!missing-selector! CPGridButton::titleVariants not bound
|
||||
!missing-selector! CPGridTemplate::gridButtons not bound
|
||||
!missing-selector! CPGridTemplate::initWithTitle:gridButtons: not bound
|
||||
!missing-selector! CPGridTemplate::title not bound
|
||||
!missing-selector! CPInterfaceController::delegate not bound
|
||||
!missing-selector! CPInterfaceController::dismissAlertAnimated: not bound
|
||||
!missing-selector! CPInterfaceController::popTemplateAnimated: not bound
|
||||
!missing-selector! CPInterfaceController::popToRootTemplateAnimated: not bound
|
||||
!missing-selector! CPInterfaceController::popToTemplate:animated: not bound
|
||||
!missing-selector! CPInterfaceController::presentAlert: not bound
|
||||
!missing-selector! CPInterfaceController::pushTemplate:animated: not bound
|
||||
!missing-selector! CPInterfaceController::rootTemplate not bound
|
||||
!missing-selector! CPInterfaceController::setDelegate: not bound
|
||||
!missing-selector! CPInterfaceController::setRootTemplate:animated: not bound
|
||||
!missing-selector! CPInterfaceController::templates not bound
|
||||
!missing-selector! CPInterfaceController::topTemplate not bound
|
||||
!missing-selector! CPListItem::detailText not bound
|
||||
!missing-selector! CPListItem::image not bound
|
||||
!missing-selector! CPListItem::initWithText:detailText: not bound
|
||||
!missing-selector! CPListItem::initWithText:detailText:image: not bound
|
||||
!missing-selector! CPListItem::initWithText:detailText:image:showsDisclosureIndicator: not bound
|
||||
!missing-selector! CPListItem::setUserInfo: not bound
|
||||
!missing-selector! CPListItem::showsDisclosureIndicator not bound
|
||||
!missing-selector! CPListItem::text not bound
|
||||
!missing-selector! CPListItem::userInfo not bound
|
||||
!missing-selector! CPListSection::header not bound
|
||||
!missing-selector! CPListSection::initWithItems: not bound
|
||||
!missing-selector! CPListSection::initWithItems:header:sectionIndexTitle: not bound
|
||||
!missing-selector! CPListSection::items not bound
|
||||
!missing-selector! CPListSection::sectionIndexTitle not bound
|
||||
!missing-selector! CPListTemplate::delegate not bound
|
||||
!missing-selector! CPListTemplate::initWithSections: not bound
|
||||
!missing-selector! CPListTemplate::sections not bound
|
||||
!missing-selector! CPListTemplate::setDelegate: not bound
|
||||
!missing-selector! CPListTemplate::setTitle: not bound
|
||||
!missing-selector! CPListTemplate::title not bound
|
||||
!missing-selector! CPListTemplate::updateSections: not bound
|
||||
!missing-selector! CPManeuver::distanceFromPreviousManeuver not bound
|
||||
!missing-selector! CPManeuver::instructionVariants not bound
|
||||
!missing-selector! CPManeuver::setDistanceFromPreviousManeuver: not bound
|
||||
!missing-selector! CPManeuver::setInstructionVariants: not bound
|
||||
!missing-selector! CPManeuver::setSymbol: not bound
|
||||
!missing-selector! CPManeuver::setUserInfo: not bound
|
||||
!missing-selector! CPManeuver::symbol not bound
|
||||
!missing-selector! CPManeuver::userInfo not bound
|
||||
!missing-selector! CPMapButton::focusedImage not bound
|
||||
!missing-selector! CPMapButton::image not bound
|
||||
!missing-selector! CPMapButton::initWithHandler: not bound
|
||||
!missing-selector! CPMapButton::isEnabled not bound
|
||||
!missing-selector! CPMapButton::isHidden not bound
|
||||
!missing-selector! CPMapButton::setEnabled: not bound
|
||||
!missing-selector! CPMapButton::setFocusedImage: not bound
|
||||
!missing-selector! CPMapButton::setHidden: not bound
|
||||
!missing-selector! CPMapButton::setImage: not bound
|
||||
!missing-selector! CPMapTemplate::automaticallyHidesNavigationBar not bound
|
||||
!missing-selector! CPMapTemplate::currentNavigationAlert not bound
|
||||
!missing-selector! CPMapTemplate::dismissNavigationAlertAnimated:completion: not bound
|
||||
!missing-selector! CPMapTemplate::dismissPanningInterfaceAnimated: not bound
|
||||
!missing-selector! CPMapTemplate::hidesButtonsWithNavigationBar not bound
|
||||
!missing-selector! CPMapTemplate::mapButtons not bound
|
||||
!missing-selector! CPMapTemplate::mapDelegate not bound
|
||||
!missing-selector! CPMapTemplate::presentNavigationAlert:animated: not bound
|
||||
!missing-selector! CPMapTemplate::setAutomaticallyHidesNavigationBar: not bound
|
||||
!missing-selector! CPMapTemplate::setHidesButtonsWithNavigationBar: not bound
|
||||
!missing-selector! CPMapTemplate::setMapButtons: not bound
|
||||
!missing-selector! CPMapTemplate::setMapDelegate: not bound
|
||||
!missing-selector! CPMapTemplate::showPanningInterfaceAnimated: not bound
|
||||
!missing-selector! CPMapTemplate::showTripPreviews: not bound
|
||||
!missing-selector! CPMapTemplate::startNavigationSessionForTrip: not bound
|
||||
!missing-selector! CPMapTemplate::updateTravelEstimates:forTrip: not bound
|
||||
!missing-selector! CPNavigationAlert::alertPriority not bound
|
||||
!missing-selector! CPNavigationAlert::duration not bound
|
||||
!missing-selector! CPNavigationAlert::image not bound
|
||||
!missing-selector! CPNavigationAlert::initWithTitleVariants:subtitleVariants:image:priority:primaryAction:secondaryAction:duration: not bound
|
||||
!missing-selector! CPNavigationAlert::primaryAction not bound
|
||||
!missing-selector! CPNavigationAlert::secondaryAction not bound
|
||||
!missing-selector! CPNavigationAlert::subtitleVariants not bound
|
||||
!missing-selector! CPNavigationAlert::titleVariants not bound
|
||||
!missing-selector! CPNavigationSession::pauseTripForReason: not bound
|
||||
!missing-selector! CPNavigationSession::setUpcomingManeuvers: not bound
|
||||
!missing-selector! CPNavigationSession::trip not bound
|
||||
!missing-selector! CPNavigationSession::upcomingManeuvers not bound
|
||||
!missing-selector! CPNavigationSession::updateTravelEstimates:forManeuver: not bound
|
||||
!missing-selector! CPRouteChoice::additionalInformationVariants not bound
|
||||
!missing-selector! CPRouteChoice::initWithSummaryVariants:additionalInformationVariants: not bound
|
||||
!missing-selector! CPRouteChoice::setUserInfo: not bound
|
||||
!missing-selector! CPRouteChoice::summaryVariants not bound
|
||||
!missing-selector! CPRouteChoice::userInfo not bound
|
||||
!missing-selector! CPSearchTemplate::delegate not bound
|
||||
!missing-selector! CPSearchTemplate::setDelegate: not bound
|
||||
!missing-selector! CPSessionConfiguration::delegate not bound
|
||||
!missing-selector! CPSessionConfiguration::initWithDelegate: not bound
|
||||
!missing-selector! CPSessionConfiguration::limitedUserInterfaces not bound
|
||||
!missing-selector! CPSessionConfiguration::setDelegate: not bound
|
||||
!missing-selector! CPTravelEstimates::distanceRemaining not bound
|
||||
!missing-selector! CPTravelEstimates::initWithDistanceRemaining:timeRemaining: not bound
|
||||
!missing-selector! CPTravelEstimates::timeRemaining not bound
|
||||
!missing-selector! CPTrip::destination not bound
|
||||
!missing-selector! CPTrip::initWithOrigin:destination:routeChoices: not bound
|
||||
!missing-selector! CPTrip::origin not bound
|
||||
!missing-selector! CPTrip::routeChoices not bound
|
||||
!missing-selector! CPTrip::setUserInfo: not bound
|
||||
!missing-selector! CPTrip::userInfo not bound
|
||||
!missing-selector! CPVoiceControlTemplate::animatedImage not bound
|
||||
!missing-selector! CPVoiceControlTemplate::initWithTitleVariants:animatedImage: not bound
|
||||
!missing-selector! CPVoiceControlTemplate::titleVariants not bound
|
||||
!missing-type! CPAlert not bound
|
||||
!missing-type! CPAlertAction not bound
|
||||
!missing-type! CPBarButton not bound
|
||||
!missing-type! CPGridButton not bound
|
||||
!missing-type! CPGridTemplate not bound
|
||||
!missing-type! CPInterfaceController not bound
|
||||
!missing-type! CPListItem not bound
|
||||
!missing-type! CPListSection not bound
|
||||
!missing-type! CPListTemplate not bound
|
||||
!missing-type! CPManeuver not bound
|
||||
!missing-type! CPMapButton not bound
|
||||
!missing-type! CPMapTemplate not bound
|
||||
!missing-type! CPNavigationAlert not bound
|
||||
!missing-type! CPNavigationSession not bound
|
||||
!missing-type! CPRouteChoice not bound
|
||||
!missing-type! CPSearchTemplate not bound
|
||||
!missing-type! CPSessionConfiguration not bound
|
||||
!missing-type! CPTemplate not bound
|
||||
!missing-type! CPTravelEstimates not bound
|
||||
!missing-type! CPTrip not bound
|
||||
!missing-type! CPVoiceControlTemplate not bound
|
|
@ -281,6 +281,8 @@ public class Frameworks : Dictionary <string, Framework>
|
|||
{ "BusinessChat", "BusinessChat", 11, 3 },
|
||||
|
||||
{ "ClassKit", "ClassKit", 11,4 },
|
||||
|
||||
{ "CarPlay", "CarPlay", 12,0 },
|
||||
};
|
||||
}
|
||||
return ios_frameworks;
|
||||
|
|
|
@ -301,7 +301,10 @@ SIMLAUNCHER_FRAMEWORKS = \
|
|||
\
|
||||
-weak_framework IdentityLookup \
|
||||
-weak_framework BusinessChat \
|
||||
-weak_framework ClassKit
|
||||
-weak_framework ClassKit \
|
||||
\
|
||||
-weak_framework CarPlay \
|
||||
|
||||
|
||||
# note: there _was_ no CoreAudioKit.framework or Metal.framework for the simulator (before recent iOS9 betas)
|
||||
# note 2: there's no GameKit, in iOS 9 (beta 3 at least), you're supposed to reference GameCenter instead (looks fixed in beta 4)
|
||||
|
|
Загрузка…
Ссылка в новой задаче