Skip to content

CarPlay iOS xcode15.0 b1

Manuel de la Pena edited this page Aug 9, 2023 · 3 revisions

#CarPlay.framework https://github.com/xamarin/xamarin-macios/pull/18681

diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CarPlay.framework/Headers/CPNowPlayingButton.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CarPlay.framework/Headers/CPNowPlayingButton.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CarPlay.framework/Headers/CPNowPlayingButton.h	2023-03-09 23:53:53
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CarPlay.framework/Headers/CPNowPlayingButton.h	2023-05-20 00:17:34
@@ -47,6 +47,7 @@
 /**
  A now playing button that indicates the current shuffle mode for your app.
  */
+API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos, tvos)
 @interface CPNowPlayingShuffleButton : CPNowPlayingButton
 @end
 
@@ -54,6 +55,7 @@
  A now playing button that can be used to allow the user to add the current
  playing item to a collection, like their library.
  */
+API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos, tvos)
 @interface CPNowPlayingAddToLibraryButton : CPNowPlayingButton
 @end
 
@@ -62,6 +64,7 @@
  your app could present a @c CPActionSheetTemplate to show more actions
  when the user taps this button.
  */
+API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos, tvos)
 @interface CPNowPlayingMoreButton : CPNowPlayingButton
 @end
 
@@ -69,6 +72,7 @@
  A now playing button that shows the current playback rate and allows
  the user to cycle between different playback rates provided by your app.
  */
+API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos, tvos)
 @interface CPNowPlayingPlaybackRateButton : CPNowPlayingButton
 @end
 
@@ -76,6 +80,7 @@
  A now playing button that shows the current repeat state, like "once"
  or "all".
  */
+API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos, tvos)
 @interface CPNowPlayingRepeatButton : CPNowPlayingButton
 @end
 
@@ -83,6 +88,7 @@
  A now playing button that shows a custom image provided by your app
  for any other custom actions on the now playing screen.
  */
+API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos, tvos)
 @interface CPNowPlayingImageButton : CPNowPlayingButton
 
 /**
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CarPlay.framework/Headers/CPTabBarTemplate.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CarPlay.framework/Headers/CPTabBarTemplate.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CarPlay.framework/Headers/CPTabBarTemplate.h	2023-03-09 23:53:53
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CarPlay.framework/Headers/CPTabBarTemplate.h	2023-05-20 00:17:33
@@ -37,7 +37,7 @@
  @warning The system will throw an exception if your app attempts to display more
  than this number of tabs in your tab bar template.
  */
-@property (nonatomic, class, readonly) NSUInteger maximumTabCount;
+@property (nonatomic, class, readonly) NSInteger maximumTabCount;
 
 /**
  The currently-visible templates in the tab bar. Each template corresponds to
@@ -55,6 +55,23 @@
  Each template in the array becomes a tab on the tab bar.
  */
 - (void)updateTemplates:(NSArray <__kindof CPTemplate *> *)newTemplates;
+
+/**
+ Update the currently-selected tab in this tab bar template, switching to the first tab
+ that is currently hosting @c newTemplate.
+ 
+ @param newTemplate The template that should become selected in the tab bar.
+ */
+- (void)selectTemplate:(CPTemplate *)newTemplate NS_SWIFT_NAME(select(_:)) API_AVAILABLE(ios(17.0));
+
+/**
+ Update the currently-selected tab in this tab bar template, switching to the tab
+ at the specified index.
+ 
+ @param index The index of the tab to select. This must be less than the number
+ of tabs in this tab bar template.
+ */
+- (void)selectTemplateAtIndex:(NSInteger)index NS_SWIFT_NAME(selectTemplate(at:)) API_AVAILABLE(ios(17.0));
 
 @end
 
Clone this wiki locally