CarPlay iOS 14.0 Beta 4 to Beta 5 API Differences

CPBaseListItem.h
AvailabilityReplacement
FromAvailablenone
ToDeprecatedCPSelectableListItem

DeclarationAvailabilityReplacement
From@property (nonatomic, copy) CPListItemHandler listItemHandlerAvailablenone
To@property (nonatomic, copy) void (^)(__kindof CPBaseListItem * _Nonnull, dispatch_block_t _Nonnull) listItemHandlerDeprecated-handler

CPInformationRatingItem.h
Added CPInformationRatingItem
Added -[CPInformationRatingItem initWithRating:maximumRating:title:detail:]
Added CPInformationRatingItem.rating
Added CPInformationRatingItem.maximumRating
CPListImageRowItem.h
Added CPListImageRowItem.text
Added CPListImageRowItem.userInfo
Added CPListImageRowItem.handler
Protocols
Fromnone
ToCPSelectableListItem

CPListItem.h
Added -[CPListItem setText:]
Added CPListItem.handler
Added CPListItem.text
Added CPListItem.userInfo
Modified CPListItem
Protocols
Fromnone
ToCPSelectableListItem

CPListItemTypes.h
Added CPListTemplateItem
Added CPListTemplateItem.text
Added CPListTemplateItem.userInfo
Added CPSelectableListItem
Added CPSelectableListItem.handler
CPListSection.h
Declaration
From- (instancetype)initWithItems:(NSArray<__kindof CPBaseListItem *> *)items header:(NSString *)header sectionIndexTitle:(NSString *)sectionIndexTitle
To- (instancetype)initWithItems:(NSArray *)items header:(NSString *)header sectionIndexTitle:(NSString *)sectionIndexTitle

Declaration
From- (instancetype)initWithItems:(NSArray<__kindof CPBaseListItem *> *)items
To- (instancetype)initWithItems:(NSArray *)items

Declaration
From@property (nonatomic, readonly, copy) NSArray<__kindof CPBaseListItem *> *items
To@property (nonatomic, readonly, copy) NSArray *items

Declaration
From- (NSUInteger)indexOfItem:(__kindof CPBaseListItem *)item
To- (NSUInteger)indexOfItem:(id<CPListTemplateItem>)item

Declaration
From- (__kindof CPBaseListItem *)itemAtIndex:(NSUInteger)index
To- (id<CPListTemplateItem>)itemAtIndex:(NSUInteger)index

CPListTemplate.h
Declaration
From- (NSIndexPath *)indexPathForItem:(__kindof CPBaseListItem *)item
To- (NSIndexPath *)indexPathForItem:(id<CPListTemplateItem>)item

Declaration
From- (void)listTemplate:(CPListTemplate *)listTemplate didSelectListItem:(__kindof CPBaseListItem *)item completionHandler:(void (^)(void))completionHandler
To- (void)listTemplate:(CPListTemplate *)listTemplate didSelectListItem:(CPListItem *)item completionHandler:(void (^)(void))completionHandler

CPMessageListItem.h
Added CPMessageListItem.text
Added CPMessageListItem.userInfo
SuperclassProtocols
FromCPBaseListItemnone
ToNSObjectCPListTemplateItem

CPNowPlayingButton.h
Added CPNowPlayingImageButton.image
CPPointOfInterestTemplate.h
Declaration
From- (instancetype)initWithTitle:(NSString *)title pointsOfInterest:(NSArray<CPPointOfInterest *> *)pointsOfInterest selectedIndex:(NSInteger)selectedIndex
To- (instancetype)initWithTitle:(NSString *)title pointsOfInterest:(NSArray<CPPointOfInterest *> *)pointsOfInterest selectedIndex:(NSUInteger)selectedIndex

Declaration
From- (void)setPointsOfInterest:(NSArray<CPPointOfInterest *> *)pointsOfInterest selectedIndex:(NSInteger)selectedIndex
To- (void)setPointsOfInterest:(NSArray<CPPointOfInterest *> *)pointsOfInterest selectedIndex:(NSUInteger)selectedIndex

Declaration
From@property (nonatomic) NSInteger selectedIndex
To@property (nonatomic, assign) NSUInteger selectedIndex