iOS: CarPlay (#420)
A CarPlay scene beside the phone's: In Progress, Unread and Shows as
CPListTemplates from ipx's API, read with the player's credentials, and
a pick played through the same Playback, so it resumes from the saved
place, saves as it goes and marks read at 90%. Now Playing is the
system's template over Playback's now-playing info.
When the car starts a different episode the page is sent
{t:"replaced"} and closes its player bar. Left open, the bar would have
gone on as the old episode while the host's clock belonged to the new
one, saving that time and marking the wrong item read.
The badge's fetch moves into API.get, which CarPlay shares. Build 13.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -28,9 +28,8 @@ targets:
|
||||
properties:
|
||||
CFBundleDisplayName: iPX
|
||||
CFBundleShortVersionString: $(MARKETING_VERSION)
|
||||
CFBundleVersion: "12"
|
||||
# Playing on with the screen locked. A plist key, not a signed entitlement, so it works on
|
||||
# a free personal team; CarPlay's own dashboard app is an entitlement Apple has to grant.
|
||||
CFBundleVersion: "13"
|
||||
# Playing on with the screen locked. A plist key, not a signed entitlement.
|
||||
UIBackgroundModes: [audio, fetch, remote-notification]
|
||||
# The unread badge's refresh while the app is closed (#421).
|
||||
BGTaskSchedulerPermittedIdentifiers: [net.sdf1.ipx.refresh]
|
||||
@@ -43,6 +42,11 @@ targets:
|
||||
UIWindowSceneSessionRoleApplication:
|
||||
- UISceneConfigurationName: Default Configuration
|
||||
UISceneDelegateClassName: $(PRODUCT_MODULE_NAME).SceneDelegate
|
||||
# The car's screen (#420), a scene of its own beside the phone's.
|
||||
CPTemplateApplicationSceneSessionRoleApplication:
|
||||
- UISceneConfigurationName: CarPlay
|
||||
UISceneClassName: CPTemplateApplicationScene
|
||||
UISceneDelegateClassName: $(PRODUCT_MODULE_NAME).CarPlaySceneDelegate
|
||||
UISupportedInterfaceOrientations:
|
||||
- UIInterfaceOrientationPortrait
|
||||
- UIInterfaceOrientationPortraitUpsideDown
|
||||
@@ -66,6 +70,8 @@ targets:
|
||||
aps-environment: development
|
||||
# Shared with the widget (#428), which reads what the app last knew from it.
|
||||
com.apple.security.application-groups: [group.net.sdf1.ipx]
|
||||
# Granted by Apple on request (2026-11-09); the App ID has it under Additional Capabilities.
|
||||
com.apple.developer.carplay-audio: true
|
||||
settings:
|
||||
base:
|
||||
PRODUCT_BUNDLE_IDENTIFIER: net.sdf1.ipx
|
||||
@@ -97,7 +103,7 @@ targets:
|
||||
properties:
|
||||
CFBundleDisplayName: iPX
|
||||
CFBundleShortVersionString: $(MARKETING_VERSION)
|
||||
CFBundleVersion: "12"
|
||||
CFBundleVersion: "13"
|
||||
NSExtension:
|
||||
NSExtensionPointIdentifier: com.apple.widgetkit-extension
|
||||
entitlements:
|
||||
|
||||
Reference in New Issue
Block a user