The page asks the app for a haptic ({t:"haptic", kind}) and the app
plays the phone's own. A light tap for play, pause, flag and pull to
refresh; the system's success for marking read, one item or all; its
warning with an error toast. A browser has no host to ask, and an
older app ignores the message, so there is nothing to gate.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
79 lines
2.5 KiB
YAML
79 lines
2.5 KiB
YAML
# XcodeGen makes the .xcodeproj from this, so the project is something a diff can show rather
|
|
# than a pbxproj nobody reviews. On a Mac:
|
|
#
|
|
# brew install xcodegen && cd ios && xcodegen generate && open iPX.xcodeproj
|
|
name: iPX
|
|
options:
|
|
bundleIdPrefix: net.sdf1
|
|
deploymentTarget:
|
|
iOS: "17.0"
|
|
createIntermediateGroups: true
|
|
settings:
|
|
base:
|
|
SWIFT_VERSION: "5.9"
|
|
TARGETED_DEVICE_FAMILY: "1,2"
|
|
CODE_SIGN_STYLE: Automatic
|
|
targets:
|
|
iPX:
|
|
type: application
|
|
platform: iOS
|
|
sources:
|
|
- Sources
|
|
- Resources/Assets.xcassets
|
|
info:
|
|
path: Resources/Info.plist
|
|
properties:
|
|
CFBundleDisplayName: iPX
|
|
CFBundleShortVersionString: $(MARKETING_VERSION)
|
|
CFBundleVersion: "8"
|
|
# 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.
|
|
UIBackgroundModes: [audio, fetch]
|
|
# The unread badge's refresh while the app is closed (#421).
|
|
BGTaskSchedulerPermittedIdentifiers: [net.sdf1.ipx.refresh]
|
|
# HTTPS only, so TestFlight need not ask the export-compliance question on every build.
|
|
ITSAppUsesNonExemptEncryption: false
|
|
UILaunchScreen: {}
|
|
UIApplicationSceneManifest:
|
|
UIApplicationSupportsMultipleScenes: false
|
|
UISceneConfigurations:
|
|
UIWindowSceneSessionRoleApplication:
|
|
- UISceneConfigurationName: Default Configuration
|
|
UISceneDelegateClassName: $(PRODUCT_MODULE_NAME).SceneDelegate
|
|
UISupportedInterfaceOrientations:
|
|
- UIInterfaceOrientationPortrait
|
|
- UIInterfaceOrientationPortraitUpsideDown
|
|
- UIInterfaceOrientationLandscapeLeft
|
|
- UIInterfaceOrientationLandscapeRight
|
|
# Plain HTTP only for a server on your own network (192.168.1.130:8099); the tunnel is HTTPS.
|
|
NSAppTransportSecurity:
|
|
NSAllowsLocalNetworking: true
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: net.sdf1.ipx
|
|
MARKETING_VERSION: "0.1.0"
|
|
DEVELOPMENT_TEAM: 8743L8D729
|
|
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
|
|
|
|
iPXTests:
|
|
type: bundle.unit-test
|
|
platform: iOS
|
|
sources:
|
|
- Tests
|
|
dependencies:
|
|
- target: iPX
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: net.sdf1.ipx.tests
|
|
GENERATE_INFOPLIST_FILE: YES
|
|
|
|
schemes:
|
|
iPX:
|
|
build:
|
|
targets:
|
|
iPX: all
|
|
iPXTests: [test]
|
|
test:
|
|
targets:
|
|
- iPXTests
|