├── .gitignore ├── .swiftpm └── xcode │ └── package.xcworkspace │ └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── Example ├── Example.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── Example │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ContentView.swift │ ├── Example.entitlements │ ├── ExampleApp.swift │ └── Preview Content │ │ └── Preview Assets.xcassets │ │ └── Contents.json ├── ExampleTests │ └── ExampleTests.swift ├── ExampleUITests │ ├── ExampleUITests.swift │ └── ExampleUITestsLaunchTests.swift └── Package.swift ├── LICENSE ├── Package.swift ├── README.md ├── Sources └── SystemSound │ ├── SystemSound.swift │ ├── SystemSoundKeys.swift │ └── SystemSoundKind.swift ├── SystemSound.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── SystemSoundTable.md └── Tests └── SystemSoundTests └── SystemSoundTests.swift /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /.build 3 | /Packages 4 | xcuserdata/ 5 | DerivedData/ 6 | .swiftpm/config/registries.json 7 | .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata 8 | .netrc 9 | 10 | ## Build generated 11 | build/ 12 | DerivedData/ 13 | 14 | ## Various settings 15 | *.pbxuser 16 | !default.pbxuser 17 | *.mode1v3 18 | !default.mode1v3 19 | *.mode2v3 20 | !default.mode2v3 21 | *.perspectivev3 22 | !default.perspectivev3 23 | xcuserdata/ 24 | node_modules/ 25 | 26 | ## Other 27 | *.moved-aside 28 | *.xccheckout 29 | *.xcscmblueprint 30 | *.DS_Store 31 | 32 | ## Obj-C/Swift specific 33 | *.hmap 34 | *.ipa 35 | *.dSYM.zip 36 | *.dSYM 37 | *.generated.swift 38 | 39 | 40 | Carthage/ 41 | Pods/ 42 | 43 | # CocoaPods 44 | # 45 | # We recommend against adding the Pods directory to your .gitignore. However 46 | # you should judge for yourself, the pros and cons are mentioned at: 47 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 48 | # 49 | 50 | # bundler 51 | vendor/bundle 52 | -------------------------------------------------------------------------------- /.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Example/Example.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 56; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 42D692232A9D2ACB00ADB99C /* ExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42D692222A9D2ACB00ADB99C /* ExampleApp.swift */; }; 11 | 42D692252A9D2ACB00ADB99C /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42D692242A9D2ACB00ADB99C /* ContentView.swift */; }; 12 | 42D692272A9D2ACE00ADB99C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 42D692262A9D2ACE00ADB99C /* Assets.xcassets */; }; 13 | 42D6922B2A9D2ACE00ADB99C /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 42D6922A2A9D2ACE00ADB99C /* Preview Assets.xcassets */; }; 14 | 42D692352A9D2ACE00ADB99C /* ExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42D692342A9D2ACE00ADB99C /* ExampleTests.swift */; }; 15 | 42D6923F2A9D2ACE00ADB99C /* ExampleUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42D6923E2A9D2ACE00ADB99C /* ExampleUITests.swift */; }; 16 | 42D692412A9D2ACE00ADB99C /* ExampleUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42D692402A9D2ACE00ADB99C /* ExampleUITestsLaunchTests.swift */; }; 17 | 42D692512A9D2AF400ADB99C /* SystemSound in Frameworks */ = {isa = PBXBuildFile; productRef = 42D692502A9D2AF400ADB99C /* SystemSound */; }; 18 | /* End PBXBuildFile section */ 19 | 20 | /* Begin PBXContainerItemProxy section */ 21 | 42D692312A9D2ACE00ADB99C /* PBXContainerItemProxy */ = { 22 | isa = PBXContainerItemProxy; 23 | containerPortal = 42D692172A9D2ACB00ADB99C /* Project object */; 24 | proxyType = 1; 25 | remoteGlobalIDString = 42D6921E2A9D2ACB00ADB99C; 26 | remoteInfo = Example; 27 | }; 28 | 42D6923B2A9D2ACE00ADB99C /* PBXContainerItemProxy */ = { 29 | isa = PBXContainerItemProxy; 30 | containerPortal = 42D692172A9D2ACB00ADB99C /* Project object */; 31 | proxyType = 1; 32 | remoteGlobalIDString = 42D6921E2A9D2ACB00ADB99C; 33 | remoteInfo = Example; 34 | }; 35 | /* End PBXContainerItemProxy section */ 36 | 37 | /* Begin PBXFileReference section */ 38 | 42D6921F2A9D2ACB00ADB99C /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 39 | 42D692222A9D2ACB00ADB99C /* ExampleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleApp.swift; sourceTree = ""; }; 40 | 42D692242A9D2ACB00ADB99C /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; 41 | 42D692262A9D2ACE00ADB99C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 42 | 42D692282A9D2ACE00ADB99C /* Example.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Example.entitlements; sourceTree = ""; }; 43 | 42D6922A2A9D2ACE00ADB99C /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 44 | 42D692302A9D2ACE00ADB99C /* ExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 45 | 42D692342A9D2ACE00ADB99C /* ExampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleTests.swift; sourceTree = ""; }; 46 | 42D6923A2A9D2ACE00ADB99C /* ExampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ExampleUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 47 | 42D6923E2A9D2ACE00ADB99C /* ExampleUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleUITests.swift; sourceTree = ""; }; 48 | 42D692402A9D2ACE00ADB99C /* ExampleUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleUITestsLaunchTests.swift; sourceTree = ""; }; 49 | 42D6924E2A9D2AE500ADB99C /* SystemSound */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = SystemSound; path = ..; sourceTree = ""; }; 50 | /* End PBXFileReference section */ 51 | 52 | /* Begin PBXFrameworksBuildPhase section */ 53 | 42D6921C2A9D2ACB00ADB99C /* Frameworks */ = { 54 | isa = PBXFrameworksBuildPhase; 55 | buildActionMask = 2147483647; 56 | files = ( 57 | 42D692512A9D2AF400ADB99C /* SystemSound in Frameworks */, 58 | ); 59 | runOnlyForDeploymentPostprocessing = 0; 60 | }; 61 | 42D6922D2A9D2ACE00ADB99C /* Frameworks */ = { 62 | isa = PBXFrameworksBuildPhase; 63 | buildActionMask = 2147483647; 64 | files = ( 65 | ); 66 | runOnlyForDeploymentPostprocessing = 0; 67 | }; 68 | 42D692372A9D2ACE00ADB99C /* Frameworks */ = { 69 | isa = PBXFrameworksBuildPhase; 70 | buildActionMask = 2147483647; 71 | files = ( 72 | ); 73 | runOnlyForDeploymentPostprocessing = 0; 74 | }; 75 | /* End PBXFrameworksBuildPhase section */ 76 | 77 | /* Begin PBXGroup section */ 78 | 42D692162A9D2ACB00ADB99C = { 79 | isa = PBXGroup; 80 | children = ( 81 | 42D6924D2A9D2AE500ADB99C /* Packages */, 82 | 42D692212A9D2ACB00ADB99C /* Example */, 83 | 42D692332A9D2ACE00ADB99C /* ExampleTests */, 84 | 42D6923D2A9D2ACE00ADB99C /* ExampleUITests */, 85 | 42D692202A9D2ACB00ADB99C /* Products */, 86 | 42D6924F2A9D2AF400ADB99C /* Frameworks */, 87 | ); 88 | sourceTree = ""; 89 | }; 90 | 42D692202A9D2ACB00ADB99C /* Products */ = { 91 | isa = PBXGroup; 92 | children = ( 93 | 42D6921F2A9D2ACB00ADB99C /* Example.app */, 94 | 42D692302A9D2ACE00ADB99C /* ExampleTests.xctest */, 95 | 42D6923A2A9D2ACE00ADB99C /* ExampleUITests.xctest */, 96 | ); 97 | name = Products; 98 | sourceTree = ""; 99 | }; 100 | 42D692212A9D2ACB00ADB99C /* Example */ = { 101 | isa = PBXGroup; 102 | children = ( 103 | 42D692222A9D2ACB00ADB99C /* ExampleApp.swift */, 104 | 42D692242A9D2ACB00ADB99C /* ContentView.swift */, 105 | 42D692262A9D2ACE00ADB99C /* Assets.xcassets */, 106 | 42D692282A9D2ACE00ADB99C /* Example.entitlements */, 107 | 42D692292A9D2ACE00ADB99C /* Preview Content */, 108 | ); 109 | path = Example; 110 | sourceTree = ""; 111 | }; 112 | 42D692292A9D2ACE00ADB99C /* Preview Content */ = { 113 | isa = PBXGroup; 114 | children = ( 115 | 42D6922A2A9D2ACE00ADB99C /* Preview Assets.xcassets */, 116 | ); 117 | path = "Preview Content"; 118 | sourceTree = ""; 119 | }; 120 | 42D692332A9D2ACE00ADB99C /* ExampleTests */ = { 121 | isa = PBXGroup; 122 | children = ( 123 | 42D692342A9D2ACE00ADB99C /* ExampleTests.swift */, 124 | ); 125 | path = ExampleTests; 126 | sourceTree = ""; 127 | }; 128 | 42D6923D2A9D2ACE00ADB99C /* ExampleUITests */ = { 129 | isa = PBXGroup; 130 | children = ( 131 | 42D6923E2A9D2ACE00ADB99C /* ExampleUITests.swift */, 132 | 42D692402A9D2ACE00ADB99C /* ExampleUITestsLaunchTests.swift */, 133 | ); 134 | path = ExampleUITests; 135 | sourceTree = ""; 136 | }; 137 | 42D6924D2A9D2AE500ADB99C /* Packages */ = { 138 | isa = PBXGroup; 139 | children = ( 140 | 42D6924E2A9D2AE500ADB99C /* SystemSound */, 141 | ); 142 | name = Packages; 143 | sourceTree = ""; 144 | }; 145 | 42D6924F2A9D2AF400ADB99C /* Frameworks */ = { 146 | isa = PBXGroup; 147 | children = ( 148 | ); 149 | name = Frameworks; 150 | sourceTree = ""; 151 | }; 152 | /* End PBXGroup section */ 153 | 154 | /* Begin PBXNativeTarget section */ 155 | 42D6921E2A9D2ACB00ADB99C /* Example */ = { 156 | isa = PBXNativeTarget; 157 | buildConfigurationList = 42D692442A9D2ACE00ADB99C /* Build configuration list for PBXNativeTarget "Example" */; 158 | buildPhases = ( 159 | 42D6921B2A9D2ACB00ADB99C /* Sources */, 160 | 42D6921C2A9D2ACB00ADB99C /* Frameworks */, 161 | 42D6921D2A9D2ACB00ADB99C /* Resources */, 162 | ); 163 | buildRules = ( 164 | ); 165 | dependencies = ( 166 | ); 167 | name = Example; 168 | packageProductDependencies = ( 169 | 42D692502A9D2AF400ADB99C /* SystemSound */, 170 | ); 171 | productName = Example; 172 | productReference = 42D6921F2A9D2ACB00ADB99C /* Example.app */; 173 | productType = "com.apple.product-type.application"; 174 | }; 175 | 42D6922F2A9D2ACE00ADB99C /* ExampleTests */ = { 176 | isa = PBXNativeTarget; 177 | buildConfigurationList = 42D692472A9D2ACE00ADB99C /* Build configuration list for PBXNativeTarget "ExampleTests" */; 178 | buildPhases = ( 179 | 42D6922C2A9D2ACE00ADB99C /* Sources */, 180 | 42D6922D2A9D2ACE00ADB99C /* Frameworks */, 181 | 42D6922E2A9D2ACE00ADB99C /* Resources */, 182 | ); 183 | buildRules = ( 184 | ); 185 | dependencies = ( 186 | 42D692322A9D2ACE00ADB99C /* PBXTargetDependency */, 187 | ); 188 | name = ExampleTests; 189 | productName = ExampleTests; 190 | productReference = 42D692302A9D2ACE00ADB99C /* ExampleTests.xctest */; 191 | productType = "com.apple.product-type.bundle.unit-test"; 192 | }; 193 | 42D692392A9D2ACE00ADB99C /* ExampleUITests */ = { 194 | isa = PBXNativeTarget; 195 | buildConfigurationList = 42D6924A2A9D2ACE00ADB99C /* Build configuration list for PBXNativeTarget "ExampleUITests" */; 196 | buildPhases = ( 197 | 42D692362A9D2ACE00ADB99C /* Sources */, 198 | 42D692372A9D2ACE00ADB99C /* Frameworks */, 199 | 42D692382A9D2ACE00ADB99C /* Resources */, 200 | ); 201 | buildRules = ( 202 | ); 203 | dependencies = ( 204 | 42D6923C2A9D2ACE00ADB99C /* PBXTargetDependency */, 205 | ); 206 | name = ExampleUITests; 207 | productName = ExampleUITests; 208 | productReference = 42D6923A2A9D2ACE00ADB99C /* ExampleUITests.xctest */; 209 | productType = "com.apple.product-type.bundle.ui-testing"; 210 | }; 211 | /* End PBXNativeTarget section */ 212 | 213 | /* Begin PBXProject section */ 214 | 42D692172A9D2ACB00ADB99C /* Project object */ = { 215 | isa = PBXProject; 216 | attributes = { 217 | BuildIndependentTargetsInParallel = 1; 218 | LastSwiftUpdateCheck = 1430; 219 | LastUpgradeCheck = 1430; 220 | TargetAttributes = { 221 | 42D6921E2A9D2ACB00ADB99C = { 222 | CreatedOnToolsVersion = 14.3.1; 223 | }; 224 | 42D6922F2A9D2ACE00ADB99C = { 225 | CreatedOnToolsVersion = 14.3.1; 226 | TestTargetID = 42D6921E2A9D2ACB00ADB99C; 227 | }; 228 | 42D692392A9D2ACE00ADB99C = { 229 | CreatedOnToolsVersion = 14.3.1; 230 | TestTargetID = 42D6921E2A9D2ACB00ADB99C; 231 | }; 232 | }; 233 | }; 234 | buildConfigurationList = 42D6921A2A9D2ACB00ADB99C /* Build configuration list for PBXProject "Example" */; 235 | compatibilityVersion = "Xcode 14.0"; 236 | developmentRegion = en; 237 | hasScannedForEncodings = 0; 238 | knownRegions = ( 239 | en, 240 | Base, 241 | ); 242 | mainGroup = 42D692162A9D2ACB00ADB99C; 243 | productRefGroup = 42D692202A9D2ACB00ADB99C /* Products */; 244 | projectDirPath = ""; 245 | projectRoot = ""; 246 | targets = ( 247 | 42D6921E2A9D2ACB00ADB99C /* Example */, 248 | 42D6922F2A9D2ACE00ADB99C /* ExampleTests */, 249 | 42D692392A9D2ACE00ADB99C /* ExampleUITests */, 250 | ); 251 | }; 252 | /* End PBXProject section */ 253 | 254 | /* Begin PBXResourcesBuildPhase section */ 255 | 42D6921D2A9D2ACB00ADB99C /* Resources */ = { 256 | isa = PBXResourcesBuildPhase; 257 | buildActionMask = 2147483647; 258 | files = ( 259 | 42D6922B2A9D2ACE00ADB99C /* Preview Assets.xcassets in Resources */, 260 | 42D692272A9D2ACE00ADB99C /* Assets.xcassets in Resources */, 261 | ); 262 | runOnlyForDeploymentPostprocessing = 0; 263 | }; 264 | 42D6922E2A9D2ACE00ADB99C /* Resources */ = { 265 | isa = PBXResourcesBuildPhase; 266 | buildActionMask = 2147483647; 267 | files = ( 268 | ); 269 | runOnlyForDeploymentPostprocessing = 0; 270 | }; 271 | 42D692382A9D2ACE00ADB99C /* Resources */ = { 272 | isa = PBXResourcesBuildPhase; 273 | buildActionMask = 2147483647; 274 | files = ( 275 | ); 276 | runOnlyForDeploymentPostprocessing = 0; 277 | }; 278 | /* End PBXResourcesBuildPhase section */ 279 | 280 | /* Begin PBXSourcesBuildPhase section */ 281 | 42D6921B2A9D2ACB00ADB99C /* Sources */ = { 282 | isa = PBXSourcesBuildPhase; 283 | buildActionMask = 2147483647; 284 | files = ( 285 | 42D692252A9D2ACB00ADB99C /* ContentView.swift in Sources */, 286 | 42D692232A9D2ACB00ADB99C /* ExampleApp.swift in Sources */, 287 | ); 288 | runOnlyForDeploymentPostprocessing = 0; 289 | }; 290 | 42D6922C2A9D2ACE00ADB99C /* Sources */ = { 291 | isa = PBXSourcesBuildPhase; 292 | buildActionMask = 2147483647; 293 | files = ( 294 | 42D692352A9D2ACE00ADB99C /* ExampleTests.swift in Sources */, 295 | ); 296 | runOnlyForDeploymentPostprocessing = 0; 297 | }; 298 | 42D692362A9D2ACE00ADB99C /* Sources */ = { 299 | isa = PBXSourcesBuildPhase; 300 | buildActionMask = 2147483647; 301 | files = ( 302 | 42D6923F2A9D2ACE00ADB99C /* ExampleUITests.swift in Sources */, 303 | 42D692412A9D2ACE00ADB99C /* ExampleUITestsLaunchTests.swift in Sources */, 304 | ); 305 | runOnlyForDeploymentPostprocessing = 0; 306 | }; 307 | /* End PBXSourcesBuildPhase section */ 308 | 309 | /* Begin PBXTargetDependency section */ 310 | 42D692322A9D2ACE00ADB99C /* PBXTargetDependency */ = { 311 | isa = PBXTargetDependency; 312 | target = 42D6921E2A9D2ACB00ADB99C /* Example */; 313 | targetProxy = 42D692312A9D2ACE00ADB99C /* PBXContainerItemProxy */; 314 | }; 315 | 42D6923C2A9D2ACE00ADB99C /* PBXTargetDependency */ = { 316 | isa = PBXTargetDependency; 317 | target = 42D6921E2A9D2ACB00ADB99C /* Example */; 318 | targetProxy = 42D6923B2A9D2ACE00ADB99C /* PBXContainerItemProxy */; 319 | }; 320 | /* End PBXTargetDependency section */ 321 | 322 | /* Begin XCBuildConfiguration section */ 323 | 42D692422A9D2ACE00ADB99C /* Debug */ = { 324 | isa = XCBuildConfiguration; 325 | buildSettings = { 326 | ALWAYS_SEARCH_USER_PATHS = NO; 327 | CLANG_ANALYZER_NONNULL = YES; 328 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 329 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; 330 | CLANG_ENABLE_MODULES = YES; 331 | CLANG_ENABLE_OBJC_ARC = YES; 332 | CLANG_ENABLE_OBJC_WEAK = YES; 333 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 334 | CLANG_WARN_BOOL_CONVERSION = YES; 335 | CLANG_WARN_COMMA = YES; 336 | CLANG_WARN_CONSTANT_CONVERSION = YES; 337 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 338 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 339 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 340 | CLANG_WARN_EMPTY_BODY = YES; 341 | CLANG_WARN_ENUM_CONVERSION = YES; 342 | CLANG_WARN_INFINITE_RECURSION = YES; 343 | CLANG_WARN_INT_CONVERSION = YES; 344 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 345 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 346 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 347 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 348 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 349 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 350 | CLANG_WARN_STRICT_PROTOTYPES = YES; 351 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 352 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 353 | CLANG_WARN_UNREACHABLE_CODE = YES; 354 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 355 | COPY_PHASE_STRIP = NO; 356 | DEBUG_INFORMATION_FORMAT = dwarf; 357 | ENABLE_STRICT_OBJC_MSGSEND = YES; 358 | ENABLE_TESTABILITY = YES; 359 | GCC_C_LANGUAGE_STANDARD = gnu11; 360 | GCC_DYNAMIC_NO_PIC = NO; 361 | GCC_NO_COMMON_BLOCKS = YES; 362 | GCC_OPTIMIZATION_LEVEL = 0; 363 | GCC_PREPROCESSOR_DEFINITIONS = ( 364 | "DEBUG=1", 365 | "$(inherited)", 366 | ); 367 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 368 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 369 | GCC_WARN_UNDECLARED_SELECTOR = YES; 370 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 371 | GCC_WARN_UNUSED_FUNCTION = YES; 372 | GCC_WARN_UNUSED_VARIABLE = YES; 373 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 374 | MTL_FAST_MATH = YES; 375 | ONLY_ACTIVE_ARCH = YES; 376 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 377 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 378 | }; 379 | name = Debug; 380 | }; 381 | 42D692432A9D2ACE00ADB99C /* Release */ = { 382 | isa = XCBuildConfiguration; 383 | buildSettings = { 384 | ALWAYS_SEARCH_USER_PATHS = NO; 385 | CLANG_ANALYZER_NONNULL = YES; 386 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 387 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; 388 | CLANG_ENABLE_MODULES = YES; 389 | CLANG_ENABLE_OBJC_ARC = YES; 390 | CLANG_ENABLE_OBJC_WEAK = YES; 391 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 392 | CLANG_WARN_BOOL_CONVERSION = YES; 393 | CLANG_WARN_COMMA = YES; 394 | CLANG_WARN_CONSTANT_CONVERSION = YES; 395 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 396 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 397 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 398 | CLANG_WARN_EMPTY_BODY = YES; 399 | CLANG_WARN_ENUM_CONVERSION = YES; 400 | CLANG_WARN_INFINITE_RECURSION = YES; 401 | CLANG_WARN_INT_CONVERSION = YES; 402 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 403 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 404 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 405 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 406 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 407 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 408 | CLANG_WARN_STRICT_PROTOTYPES = YES; 409 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 410 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 411 | CLANG_WARN_UNREACHABLE_CODE = YES; 412 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 413 | COPY_PHASE_STRIP = NO; 414 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 415 | ENABLE_NS_ASSERTIONS = NO; 416 | ENABLE_STRICT_OBJC_MSGSEND = YES; 417 | GCC_C_LANGUAGE_STANDARD = gnu11; 418 | GCC_NO_COMMON_BLOCKS = YES; 419 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 420 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 421 | GCC_WARN_UNDECLARED_SELECTOR = YES; 422 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 423 | GCC_WARN_UNUSED_FUNCTION = YES; 424 | GCC_WARN_UNUSED_VARIABLE = YES; 425 | MTL_ENABLE_DEBUG_INFO = NO; 426 | MTL_FAST_MATH = YES; 427 | SWIFT_COMPILATION_MODE = wholemodule; 428 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 429 | }; 430 | name = Release; 431 | }; 432 | 42D692452A9D2ACE00ADB99C /* Debug */ = { 433 | isa = XCBuildConfiguration; 434 | buildSettings = { 435 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 436 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 437 | CODE_SIGN_ENTITLEMENTS = Example/Example.entitlements; 438 | CODE_SIGN_STYLE = Automatic; 439 | CURRENT_PROJECT_VERSION = 1; 440 | DEVELOPMENT_ASSET_PATHS = "\"Example/Preview Content\""; 441 | DEVELOPMENT_TEAM = WLCQDVKTS9; 442 | ENABLE_HARDENED_RUNTIME = YES; 443 | ENABLE_PREVIEWS = YES; 444 | GENERATE_INFOPLIST_FILE = YES; 445 | "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; 446 | "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; 447 | "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; 448 | "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES; 449 | "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES; 450 | "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES; 451 | "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault; 452 | "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; 453 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; 454 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; 455 | IPHONEOS_DEPLOYMENT_TARGET = 16.4; 456 | LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; 457 | "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; 458 | MACOSX_DEPLOYMENT_TARGET = 13.3; 459 | MARKETING_VERSION = 1.0; 460 | PRODUCT_BUNDLE_IDENTIFIER = "com.p-x9.Example"; 461 | PRODUCT_NAME = "$(TARGET_NAME)"; 462 | SDKROOT = auto; 463 | SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; 464 | SWIFT_EMIT_LOC_STRINGS = YES; 465 | SWIFT_VERSION = 5.0; 466 | TARGETED_DEVICE_FAMILY = "1,2"; 467 | }; 468 | name = Debug; 469 | }; 470 | 42D692462A9D2ACE00ADB99C /* Release */ = { 471 | isa = XCBuildConfiguration; 472 | buildSettings = { 473 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 474 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 475 | CODE_SIGN_ENTITLEMENTS = Example/Example.entitlements; 476 | CODE_SIGN_STYLE = Automatic; 477 | CURRENT_PROJECT_VERSION = 1; 478 | DEVELOPMENT_ASSET_PATHS = "\"Example/Preview Content\""; 479 | DEVELOPMENT_TEAM = WLCQDVKTS9; 480 | ENABLE_HARDENED_RUNTIME = YES; 481 | ENABLE_PREVIEWS = YES; 482 | GENERATE_INFOPLIST_FILE = YES; 483 | "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; 484 | "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; 485 | "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; 486 | "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES; 487 | "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES; 488 | "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES; 489 | "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault; 490 | "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; 491 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; 492 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; 493 | IPHONEOS_DEPLOYMENT_TARGET = 16.4; 494 | LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; 495 | "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; 496 | MACOSX_DEPLOYMENT_TARGET = 13.3; 497 | MARKETING_VERSION = 1.0; 498 | PRODUCT_BUNDLE_IDENTIFIER = "com.p-x9.Example"; 499 | PRODUCT_NAME = "$(TARGET_NAME)"; 500 | SDKROOT = auto; 501 | SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; 502 | SWIFT_EMIT_LOC_STRINGS = YES; 503 | SWIFT_VERSION = 5.0; 504 | TARGETED_DEVICE_FAMILY = "1,2"; 505 | }; 506 | name = Release; 507 | }; 508 | 42D692482A9D2ACE00ADB99C /* Debug */ = { 509 | isa = XCBuildConfiguration; 510 | buildSettings = { 511 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 512 | BUNDLE_LOADER = "$(TEST_HOST)"; 513 | CODE_SIGN_STYLE = Automatic; 514 | CURRENT_PROJECT_VERSION = 1; 515 | DEVELOPMENT_TEAM = WLCQDVKTS9; 516 | GENERATE_INFOPLIST_FILE = YES; 517 | IPHONEOS_DEPLOYMENT_TARGET = 16.4; 518 | MACOSX_DEPLOYMENT_TARGET = 13.3; 519 | MARKETING_VERSION = 1.0; 520 | PRODUCT_BUNDLE_IDENTIFIER = "com.p-x9.ExampleTests"; 521 | PRODUCT_NAME = "$(TARGET_NAME)"; 522 | SDKROOT = auto; 523 | SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; 524 | SWIFT_EMIT_LOC_STRINGS = NO; 525 | SWIFT_VERSION = 5.0; 526 | TARGETED_DEVICE_FAMILY = "1,2"; 527 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Example"; 528 | }; 529 | name = Debug; 530 | }; 531 | 42D692492A9D2ACE00ADB99C /* Release */ = { 532 | isa = XCBuildConfiguration; 533 | buildSettings = { 534 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 535 | BUNDLE_LOADER = "$(TEST_HOST)"; 536 | CODE_SIGN_STYLE = Automatic; 537 | CURRENT_PROJECT_VERSION = 1; 538 | DEVELOPMENT_TEAM = WLCQDVKTS9; 539 | GENERATE_INFOPLIST_FILE = YES; 540 | IPHONEOS_DEPLOYMENT_TARGET = 16.4; 541 | MACOSX_DEPLOYMENT_TARGET = 13.3; 542 | MARKETING_VERSION = 1.0; 543 | PRODUCT_BUNDLE_IDENTIFIER = "com.p-x9.ExampleTests"; 544 | PRODUCT_NAME = "$(TARGET_NAME)"; 545 | SDKROOT = auto; 546 | SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; 547 | SWIFT_EMIT_LOC_STRINGS = NO; 548 | SWIFT_VERSION = 5.0; 549 | TARGETED_DEVICE_FAMILY = "1,2"; 550 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Example"; 551 | }; 552 | name = Release; 553 | }; 554 | 42D6924B2A9D2ACE00ADB99C /* Debug */ = { 555 | isa = XCBuildConfiguration; 556 | buildSettings = { 557 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 558 | CODE_SIGN_STYLE = Automatic; 559 | CURRENT_PROJECT_VERSION = 1; 560 | DEVELOPMENT_TEAM = WLCQDVKTS9; 561 | GENERATE_INFOPLIST_FILE = YES; 562 | IPHONEOS_DEPLOYMENT_TARGET = 16.4; 563 | MACOSX_DEPLOYMENT_TARGET = 13.3; 564 | MARKETING_VERSION = 1.0; 565 | PRODUCT_BUNDLE_IDENTIFIER = "com.p-x9.ExampleUITests"; 566 | PRODUCT_NAME = "$(TARGET_NAME)"; 567 | SDKROOT = auto; 568 | SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; 569 | SWIFT_EMIT_LOC_STRINGS = NO; 570 | SWIFT_VERSION = 5.0; 571 | TARGETED_DEVICE_FAMILY = "1,2"; 572 | TEST_TARGET_NAME = Example; 573 | }; 574 | name = Debug; 575 | }; 576 | 42D6924C2A9D2ACE00ADB99C /* Release */ = { 577 | isa = XCBuildConfiguration; 578 | buildSettings = { 579 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 580 | CODE_SIGN_STYLE = Automatic; 581 | CURRENT_PROJECT_VERSION = 1; 582 | DEVELOPMENT_TEAM = WLCQDVKTS9; 583 | GENERATE_INFOPLIST_FILE = YES; 584 | IPHONEOS_DEPLOYMENT_TARGET = 16.4; 585 | MACOSX_DEPLOYMENT_TARGET = 13.3; 586 | MARKETING_VERSION = 1.0; 587 | PRODUCT_BUNDLE_IDENTIFIER = "com.p-x9.ExampleUITests"; 588 | PRODUCT_NAME = "$(TARGET_NAME)"; 589 | SDKROOT = auto; 590 | SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; 591 | SWIFT_EMIT_LOC_STRINGS = NO; 592 | SWIFT_VERSION = 5.0; 593 | TARGETED_DEVICE_FAMILY = "1,2"; 594 | TEST_TARGET_NAME = Example; 595 | }; 596 | name = Release; 597 | }; 598 | /* End XCBuildConfiguration section */ 599 | 600 | /* Begin XCConfigurationList section */ 601 | 42D6921A2A9D2ACB00ADB99C /* Build configuration list for PBXProject "Example" */ = { 602 | isa = XCConfigurationList; 603 | buildConfigurations = ( 604 | 42D692422A9D2ACE00ADB99C /* Debug */, 605 | 42D692432A9D2ACE00ADB99C /* Release */, 606 | ); 607 | defaultConfigurationIsVisible = 0; 608 | defaultConfigurationName = Release; 609 | }; 610 | 42D692442A9D2ACE00ADB99C /* Build configuration list for PBXNativeTarget "Example" */ = { 611 | isa = XCConfigurationList; 612 | buildConfigurations = ( 613 | 42D692452A9D2ACE00ADB99C /* Debug */, 614 | 42D692462A9D2ACE00ADB99C /* Release */, 615 | ); 616 | defaultConfigurationIsVisible = 0; 617 | defaultConfigurationName = Release; 618 | }; 619 | 42D692472A9D2ACE00ADB99C /* Build configuration list for PBXNativeTarget "ExampleTests" */ = { 620 | isa = XCConfigurationList; 621 | buildConfigurations = ( 622 | 42D692482A9D2ACE00ADB99C /* Debug */, 623 | 42D692492A9D2ACE00ADB99C /* Release */, 624 | ); 625 | defaultConfigurationIsVisible = 0; 626 | defaultConfigurationName = Release; 627 | }; 628 | 42D6924A2A9D2ACE00ADB99C /* Build configuration list for PBXNativeTarget "ExampleUITests" */ = { 629 | isa = XCConfigurationList; 630 | buildConfigurations = ( 631 | 42D6924B2A9D2ACE00ADB99C /* Debug */, 632 | 42D6924C2A9D2ACE00ADB99C /* Release */, 633 | ); 634 | defaultConfigurationIsVisible = 0; 635 | defaultConfigurationName = Release; 636 | }; 637 | /* End XCConfigurationList section */ 638 | 639 | /* Begin XCSwiftPackageProductDependency section */ 640 | 42D692502A9D2AF400ADB99C /* SystemSound */ = { 641 | isa = XCSwiftPackageProductDependency; 642 | productName = SystemSound; 643 | }; 644 | /* End XCSwiftPackageProductDependency section */ 645 | }; 646 | rootObject = 42D692172A9D2ACB00ADB99C /* Project object */; 647 | } 648 | -------------------------------------------------------------------------------- /Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Example/Example.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Example/Example/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Example/Example/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "platform" : "ios", 6 | "size" : "1024x1024" 7 | }, 8 | { 9 | "idiom" : "mac", 10 | "scale" : "1x", 11 | "size" : "16x16" 12 | }, 13 | { 14 | "idiom" : "mac", 15 | "scale" : "2x", 16 | "size" : "16x16" 17 | }, 18 | { 19 | "idiom" : "mac", 20 | "scale" : "1x", 21 | "size" : "32x32" 22 | }, 23 | { 24 | "idiom" : "mac", 25 | "scale" : "2x", 26 | "size" : "32x32" 27 | }, 28 | { 29 | "idiom" : "mac", 30 | "scale" : "1x", 31 | "size" : "128x128" 32 | }, 33 | { 34 | "idiom" : "mac", 35 | "scale" : "2x", 36 | "size" : "128x128" 37 | }, 38 | { 39 | "idiom" : "mac", 40 | "scale" : "1x", 41 | "size" : "256x256" 42 | }, 43 | { 44 | "idiom" : "mac", 45 | "scale" : "2x", 46 | "size" : "256x256" 47 | }, 48 | { 49 | "idiom" : "mac", 50 | "scale" : "1x", 51 | "size" : "512x512" 52 | }, 53 | { 54 | "idiom" : "mac", 55 | "scale" : "2x", 56 | "size" : "512x512" 57 | } 58 | ], 59 | "info" : { 60 | "author" : "xcode", 61 | "version" : 1 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Example/Example/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Example/Example/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // Example 4 | // 5 | // Created by p-x9 on 2023/08/29. 6 | // 7 | // 8 | 9 | import SwiftUI 10 | import SystemSound 11 | 12 | struct ContentView: View { 13 | @State var searchText: String = "" 14 | 15 | var soundKeys: [SystemSoundKey] { 16 | if searchText.isEmpty { 17 | return SystemSoundKey.allCases 18 | } else { 19 | return SystemSoundKey.allCases.filter { key in 20 | key.title.contains(searchText) 21 | } 22 | } 23 | } 24 | 25 | var body: some View { 26 | NavigationView { 27 | _body 28 | } 29 | .searchable(text: $searchText) 30 | } 31 | } 32 | 33 | extension ContentView { 34 | var _body: some View { 35 | VStack { 36 | List(soundKeys, id: \.self) { key in 37 | HStack { 38 | VStack(alignment: .leading) { 39 | HStack { 40 | Text(key.name) 41 | if let category = key.category { 42 | Text("(\(category))") 43 | .font(.caption) 44 | } 45 | } 46 | Text(key.numbers) 47 | .font(.caption) 48 | } 49 | Spacer() 50 | } 51 | .contentShape(Rectangle()) 52 | .onTapGesture { 53 | AudioServicesPlaySystemSound(key) 54 | } 55 | } 56 | } 57 | } 58 | } 59 | 60 | private extension SystemSoundKey { 61 | var numbers: String { 62 | id.description 63 | } 64 | 65 | var title: String { 66 | if let category { 67 | return "\(name)(\(category))\n(\(numbers))" 68 | } 69 | return "\(name)\n(\(numbers))" 70 | } 71 | } 72 | 73 | struct ContentView_Previews: PreviewProvider { 74 | static var previews: some View { 75 | ContentView() 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /Example/Example/Example.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.files.user-selected.read-only 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Example/Example/ExampleApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ExampleApp.swift 3 | // Example 4 | // 5 | // Created by p-x9 on 2023/08/29. 6 | // 7 | // 8 | 9 | import SwiftUI 10 | 11 | @main 12 | struct ExampleApp: App { 13 | var body: some Scene { 14 | WindowGroup { 15 | ContentView() 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Example/Example/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Example/ExampleTests/ExampleTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ExampleTests.swift 3 | // Example 4 | // 5 | // Created by p-x9 on 2023/08/29. 6 | // 7 | // 8 | 9 | import XCTest 10 | 11 | final class ExampleTests: XCTestCase { 12 | 13 | override func setUpWithError() throws { 14 | // Put setup code here. This method is called before the invocation of each test method in the class. 15 | } 16 | 17 | override func tearDownWithError() throws { 18 | // Put teardown code here. This method is called after the invocation of each test method in the class. 19 | } 20 | 21 | func testExample() throws { 22 | // This is an example of a functional test case. 23 | // Use XCTAssert and related functions to verify your tests produce the correct results. 24 | // Any test you write for XCTest can be annotated as throws and async. 25 | // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. 26 | // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. 27 | } 28 | 29 | func testPerformanceExample() throws { 30 | // This is an example of a performance test case. 31 | measure { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /Example/ExampleUITests/ExampleUITests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ExampleUITests.swift 3 | // Example 4 | // 5 | // Created by p-x9 on 2023/08/29. 6 | // 7 | // 8 | 9 | import XCTest 10 | 11 | final class ExampleUITests: XCTestCase { 12 | 13 | override func setUpWithError() throws { 14 | // Put setup code here. This method is called before the invocation of each test method in the class. 15 | 16 | // In UI tests it is usually best to stop immediately when a failure occurs. 17 | continueAfterFailure = false 18 | 19 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 20 | } 21 | 22 | override func tearDownWithError() throws { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | } 25 | 26 | func testExample() throws { 27 | // UI tests must launch the application that they test. 28 | let app = XCUIApplication() 29 | app.launch() 30 | 31 | // Use XCTAssert and related functions to verify your tests produce the correct results. 32 | } 33 | 34 | func testLaunchPerformance() throws { 35 | if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) { 36 | // This measures how long it takes to launch your application. 37 | measure(metrics: [XCTApplicationLaunchMetric()]) { 38 | XCUIApplication().launch() 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Example/ExampleUITests/ExampleUITestsLaunchTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ExampleUITestsLaunchTests.swift 3 | // Example 4 | // 5 | // Created by p-x9 on 2023/08/29. 6 | // 7 | // 8 | 9 | import XCTest 10 | 11 | final class ExampleUITestsLaunchTests: XCTestCase { 12 | 13 | override class var runsForEachTargetApplicationUIConfiguration: Bool { 14 | true 15 | } 16 | 17 | override func setUpWithError() throws { 18 | continueAfterFailure = false 19 | } 20 | 21 | func testLaunch() throws { 22 | let app = XCUIApplication() 23 | app.launch() 24 | 25 | // Insert steps here to perform after app launch but before taking a screenshot, 26 | // such as logging into a test account or navigating somewhere in the app 27 | 28 | let attachment = XCTAttachment(screenshot: app.screenshot()) 29 | attachment.name = "Launch Screen" 30 | attachment.lifetime = .keepAlways 31 | add(attachment) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Example/Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version: 5.8 2 | 3 | import PackageDescription 4 | 5 | let package = Package( 6 | name: "", 7 | products: [], 8 | dependencies: [], 9 | targets: [] 10 | ) 11 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 p-x9 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version: 5.8 2 | 3 | import PackageDescription 4 | 5 | let package = Package( 6 | name: "SystemSound", 7 | products: [ 8 | .library( 9 | name: "SystemSound", 10 | targets: ["SystemSound"] 11 | ), 12 | ], 13 | dependencies: [], 14 | targets: [ 15 | .target( 16 | name: "SystemSound", 17 | dependencies: [] 18 | ), 19 | .testTarget( 20 | name: "SystemSoundTests", 21 | dependencies: ["SystemSound"] 22 | ), 23 | ] 24 | ) 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SystemSound 2 | 3 | A Swift Library that makes swift-system-sound playback easy. 4 | 5 | 6 | 7 | [![Github issues](https://img.shields.io/github/issues/p-x9/swift-system-sound)](https://github.com/p-x9/swift-system-sound/issues) 8 | [![Github forks](https://img.shields.io/github/forks/p-x9/swift-system-sound)](https://github.com/p-x9/swift-system-sound/network/members) 9 | [![Github stars](https://img.shields.io/github/stars/p-x9/swift-system-sound)](https://github.com/p-x9/swift-system-sound/stargazers) 10 | [![Github top language](https://img.shields.io/github/languages/top/p-x9/swift-system-sound)](https://github.com/p-x9/swift-system-sound/) 11 | 12 | The system sound in `AudioToolBox` must be specified numerically, but it is not clear what that numerical value should sound like. 13 | Therefore, I have made it possible to play sounds by specifying the sound name. 14 | It was obtained by analyzing the system file. 15 | 16 | The following table shows the correspondence between SystemSoundID and sound names. 17 | [Table of SytemSoundID and Sound Name](./SystemSoundTable.md) 18 | 19 | ## Usage 20 | ### import 21 | 22 | ```swift 23 | import SystemSound 24 | ``` 25 | 26 | ### PlaySounds 27 | 28 | ```swift 29 | AudioServicesPlaySystemSound(.smsSent(.sentMessage)) 30 | AudioServicesPlaySystemSound(.touchTone(.dtmfStar)) 31 | AudioServicesPlaySystemSound(.navigationPush) 32 | ``` 33 | 34 | ## License 35 | SystemSound is released under the MIT License. See [LICENSE](./LICENSE) 36 | -------------------------------------------------------------------------------- /Sources/SystemSound/SystemSound.swift: -------------------------------------------------------------------------------- 1 | import AudioToolbox 2 | 3 | public func AudioServicesPlaySystemSound(_ systemSoundKey: SystemSoundKey) { 4 | AudioServicesPlaySystemSound(systemSoundKey.systemSoundId) 5 | } 6 | 7 | public func AudioServicesPlayAlertSound(_ systemSoundKey: SystemSoundKey) { 8 | AudioServicesPlayAlertSound(systemSoundKey.systemSoundId) 9 | } 10 | 11 | public func AudioServicesPlaySystemSoundWithCompletion( 12 | _ systemSoundKey: SystemSoundKey, 13 | _ inCompletionBlock: (() -> Void)? 14 | ) { 15 | AudioServicesPlaySystemSoundWithCompletion( 16 | systemSoundKey.systemSoundId, 17 | inCompletionBlock 18 | ) 19 | } 20 | 21 | public func AudioServicesPlayAlertSoundWithCompletion( 22 | _ systemSoundKey: SystemSoundKey, 23 | _ inCompletionBlock: (() -> Void)? 24 | ) { 25 | AudioServicesPlayAlertSoundWithCompletion( 26 | systemSoundKey.systemSoundId, 27 | inCompletionBlock 28 | ) 29 | } 30 | -------------------------------------------------------------------------------- /Sources/SystemSound/SystemSoundKind.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SystemSoundKind.swift 3 | // SystemSound 4 | // 5 | // Created by p-x9 on 2025/03/18 6 | // 7 | // 8 | 9 | import Foundation 10 | 11 | public enum SystemSoundKind: String, Codable, Hashable { 12 | case `default` 13 | case modern 14 | case new 15 | case nano 16 | } 17 | 18 | extension SystemSoundKind { 19 | public var directoryName: String { 20 | switch self { 21 | case .default: "." 22 | case .modern: "Modern" 23 | case .new: "New" 24 | case .nano: "nano" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /SystemSound.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /SystemSound.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /SystemSoundTable.md: -------------------------------------------------------------------------------- 1 | | SystemSoundID | File Name | Category | Kind | Version | 2 | | :----: | :----: | :----: | :----: | :----: | 3 | | 30 | ringback_tone_ansi.caf | InCallSystemSound | nano | | 4 | | 31 | ringback_tone_cept.caf | InCallSystemSound | nano | | 5 | | 32 | busy_tone_ansi.caf | InCallSystemSound | nano | | 6 | | 33 | busy_tone_cept.caf | InCallSystemSound | nano | | 7 | | 34 | call_waiting_tone_ansi.caf | InCallSystemSound | nano | | 8 | | 35 | call_waiting_tone_cept.caf | InCallSystemSound | nano | | 9 | | 36 | end_call_tone_cept.caf | InCallSystemSound | nano | | 10 | | 37 | ringback_tone_hk.caf | InCallSystemSound | nano | | 11 | | 38 | ringback_tone_aus.caf | InCallSystemSound | nano | | 12 | | 39 | ringback_tone_uk.caf | InCallSystemSound | nano | | 13 | | 1000 | new-mail.caf | MailReceived | default | | 14 | | 1001 | mail-sent.caf | MailSent | default | | 15 | | 1002 | sms-received1.caf | VoicemailReceived | nano | | 16 | | 1003 | ReceivedMessage.caf | SMSReceived | default | | 17 | | 1004 | SentMessage.caf | SMSSent | default | | 18 | | 1005 | alarm.caf | CalendarAlert | default | | 19 | | 1006 | low_power.caf | LowPower | default | | 20 | | 1007 | sms-received1.caf | SMSReceived_Alert | nano | | 21 | | 1008 | sms-received2.caf | SMSReceived_Alert | default | | 22 | | 1009 | sms-received3.caf | SMSReceived_Alert | default | | 23 | | 1010 | sms-received4.caf | SMSReceived_Alert | default | | 24 | | 1011 | - | SMSReceived_Vibrate | - | | 25 | | 1012 | sms-received1.caf | SMSReceived_Alert | nano | | 26 | | 1013 | sms-received5.caf | SMSReceived_Alert | default | | 27 | | 1014 | sms-received6.caf | SMSReceived_Alert | default | | 28 | | 1015 | sms-received1.caf | UserAlert | nano | | 29 | | 1016 | tweet_sent.caf | MailSent | default | | 30 | | 1017 | alarm.caf | ReminderAlert | default | | 31 | | 1018 | Swish.caf | MailSent | default | | 32 | | 1020 | Anticipate.caf | SMSReceived_Alert | New | | 33 | | 1021 | Bloom.caf | SMSReceived_Alert | New | | 34 | | 1022 | Calypso.caf | SMSReceived_Alert | New | | 35 | | 1023 | Choo_Choo.caf | SMSReceived_Alert | New | | 36 | | 1024 | Descent.caf | SMSReceived_Alert | New | | 37 | | 1025 | Fanfare.caf | SMSReceived_Alert | New | | 38 | | 1026 | Ladder.caf | SMSReceived_Alert | New | | 39 | | 1027 | Minuet.caf | SMSReceived_Alert | New | | 40 | | 1028 | News_Flash.caf | SMSReceived_Alert | New | | 41 | | 1029 | Noir.caf | SMSReceived_Alert | New | | 42 | | 1030 | Sherwood_Forest.caf | SMSReceived_Alert | New | | 43 | | 1031 | Spell.caf | SMSReceived_Alert | New | | 44 | | 1032 | Suspense.caf | SMSReceived_Alert | New | | 45 | | 1033 | Telegraph.caf | SMSReceived_Alert | New | | 46 | | 1034 | Tiptoes.caf | SMSReceived_Alert | New | | 47 | | 1035 | Typewriters.caf | SMSReceived_Alert | New | | 48 | | 1036 | Update.caf | SMSReceived_Alert | New | | 49 | | 1050 | ussd.caf | USSDAlert | default | | 50 | | 1051 | SIMToolkitCallDropped.caf | SIMToolkitTone | default | | 51 | | 1052 | SIMToolkitGeneralBeep.caf | SIMToolkitTone | default | | 52 | | 1053 | SIMToolkitNegativeACK.caf | SIMToolkitTone | default | | 53 | | 1054 | SIMToolkitPositiveACK.caf | SIMToolkitTone | default | | 54 | | 1055 | SIMToolkitSMS.caf | SIMToolkitTone | default | | 55 | | 1057 | Tink.caf | PINKeyPressed | default | | 56 | | 1060 | WebcamStart.caf | WebcamStartAlwaysHeard | default | iOS16~ | 57 | | 1061 | LiquidDetected.caf | LiquidDetectedAlwaysHeard | default | iOS17~ | 58 | | 1070 | ct-busy.caf | AudioToneBusy | default | | 59 | | 1071 | ct-congestion.caf | AudioToneCongestion | default | | 60 | | 1072 | ct-path-ack.caf | AudioTonePathAcknowledge | default | | 61 | | 1073 | ct-error.caf | AudioToneError | default | | 62 | | 1074 | ct-call-waiting.caf | AudioToneCallWaiting | nano | | 63 | | 1075 | ct-keytone2.caf | AudioToneKey2 | default | | 64 | | 1100 | lock.caf | ScreenLocked | default | | 65 | | 1102 | - | FailedUnlock | - | | 66 | | 1103 | Tink.caf | KeyPressed | default | | 67 | | 1104 | key_press_click.caf | KeyPressed | default | | 68 | | 1105 | Tock.caf | KeyPressed | default | | 69 | | 1106 | connect_power.caf | ConnectedToPower | default | | 70 | | 1107 | RingerChanged.caf | RingerSwitchIndication | default | | 71 | | 1108 | photoShutter.caf | CameraShutter | default | | 72 | | 1109 | shake.caf | ShakeToShuffle | default | | 73 | | 1110 | jbl_begin.caf | JBL_Begin | default | | 74 | | 1111 | jbl_confirm.caf | JBL_Confirm | default | | 75 | | 1112 | jbl_cancel.caf | JBL_Cancel | default | | 76 | | 1113 | begin_record.caf | BeginRecording | default | | 77 | | 1114 | end_record.caf | EndRecording | default | | 78 | | 1115 | jbl_ambiguous.caf | JBL_Ambiguous | default | | 79 | | 1116 | jbl_no_match.caf | JBL_NoMatch | default | | 80 | | 1117 | begin_record.caf | BeginVideoRecordingAlwaysHeard | default | | 81 | | 1118 | end_record.caf | EndVideoRecordingAlwaysHeard | default | | 82 | | 1119 | camera_shutter_burst.caf | CameraShutterAlt | Modern | | 83 | | 1120 | airdrop_invite.caf | AirDropInvitation | Modern | iOS17~ | 84 | | 1121 | camera_shutter_burst_begin.caf | CameraShutterAlt | Modern | | 85 | | 1122 | camera_shutter_burst_end.caf | CameraShutterAlt | Modern | | 86 | | 1123 | key_press_click.caf | KeyPressClick_Remote | default | | 87 | | 1124 | focus_change_keyboard.caf | - | default | | 88 | | 1125 | focus_change_app_icon.caf | - | default | | 89 | | 1126 | focus_change_large.caf | - | default | | 90 | | 1127 | focus_change_small.caf | - | default | | 91 | | 1128 | navigation_push.caf | - | default | | 92 | | 1129 | navigation_pop.caf | - | default | | 93 | | 1130 | keyboard_press_normal.caf | - | default | | 94 | | 1131 | keyboard_press_delete.caf | - | default | | 95 | | 1132 | keyboard_press_clear.caf | - | default | | 96 | | 1150 | vc~invitation-accepted.caf | VCInvitationAccepted | nano | | 97 | | 1151 | vc~ringing.caf | VCRinging | nano | | 98 | | 1152 | vc~ended.caf | VCEnded | nano | | 99 | | 1153 | ct-call-waiting.caf | VCCallWaiting | nano | | 100 | | 1154 | vc~ringing.caf | VCCallUpgrade | nano | | 101 | | 1155 | key_press_delete.caf | KeyPressed | default | | 102 | | 1156 | key_press_modifier.caf | KeyPressed | default | | 103 | | 1157 | wheels_of_time.caf | KeyPressed | default | | 104 | | 1158 | go_to_sleep_alert.caf | GoToSleep_Alert | default | | 105 | | 1159 | warsaw.caf | Warsaw | default | | 106 | | 1160 | nfc_scan_complete.caf | PaymentSuccess | default | | 107 | | 1161 | - | PearlSuccess | - | | 108 | | 1162 | - | PearlFailure | - | | 109 | | 1163 | access_scan_complete.caf | PaymentSuccess | default | | 110 | | 1164 | - | USBHardening_Alert | - | | 111 | | 1165 | 3rd_party_critical.caf | Critical_Alert | default | | 112 | | 1166 | PaymentReceived.caf | PaymentReceived | default | | 113 | | 1167 | Doorbell.caf | Doorbell | default | iOS16~ | 114 | | 1168 | PaymentReceivedFailure.caf | PaymentReceivedFailure | default | iOS16~ | 115 | | 1169 | EarInteraction_Complete.caf | EarInteraction_Complete | default | iOS18.1~ | 116 | | 1174 | - | Time_To_Run | - | iOS16~ | 117 | | 1175 | - | Time_To_Walk | - | iOS16~ | 118 | | 1200 | dtmf-0.caf | TouchTone | nano | | 119 | | 1201 | dtmf-1.caf | TouchTone | nano | | 120 | | 1202 | dtmf-2.caf | TouchTone | nano | | 121 | | 1203 | dtmf-3.caf | TouchTone | nano | | 122 | | 1204 | dtmf-4.caf | TouchTone | nano | | 123 | | 1205 | dtmf-5.caf | TouchTone | nano | | 124 | | 1206 | dtmf-6.caf | TouchTone | nano | | 125 | | 1207 | dtmf-7.caf | TouchTone | nano | | 126 | | 1208 | dtmf-8.caf | TouchTone | nano | | 127 | | 1209 | dtmf-9.caf | TouchTone | nano | | 128 | | 1210 | dtmf-star.caf | TouchTone | nano | | 129 | | 1211 | dtmf-pound.caf | TouchTone | nano | | 130 | | 1253 | DeviceShutdown.caf | DeviceShutdown | default | iOS16~ | 131 | | 1254 | long_low_short_high.caf | Headset_StartCall | default | | 132 | | 1255 | short_double_high.caf | Headset_Redial | default | | 133 | | 1256 | short_low_high.caf | Headset_AnswerCall | default | | 134 | | 1257 | short_double_low.caf | Headset_EndCall | default | | 135 | | 1258 | short_double_low.caf | Headset_CallWaitingActions | default | | 136 | | 1259 | middle_9_short_double_low.caf | Headset_TransitionEnd | default | | 137 | | 1260 | camera_timer_final_second.caf | CameraShutterAlt | default | | 138 | | 1261 | camera_timer_countdown.caf | CameraShutterAlt | default | | 139 | | 1262 | health_notification.caf | Health_Alert | default | | 140 | | 1263 | MultiwayJoin.caf | InCallSystemSound | nano | | 141 | | 1264 | MultiwayLeave.caf | InCallSystemSound | nano | | 142 | | 1265 | multiway_invitation.caf | VCGroupInvitation_Alert | default | | 143 | | 1270 | PushToTalkJoined.caf | PushToTalkJoined | nano | iOS16.2~ | 144 | | 1271 | PushToTalkLeft.caf | PushToTalkLeft | nano | iOS16.2~ | 145 | | 1272 | PushToTalkUnmute.caf | PushToTalkUnmute | nano | iOS16.2~ | 146 | | 1273 | PushToTalkMute.caf | PushToTalkMute | nano | iOS16.2~ | 147 | | 1274 | PushToTalkUnmuteFail.caf | PushToTalkUnmuteFail | nano | iOS16.2~ | 148 | | 1275 | SenderConfirmation.caf | IDCard_Sender_Confirmation | nano | iOS17~ | 149 | | 1276 | ReceiverConfirmation.caf | IDCard_Receiver_Confirmation | nano | iOS17~ | 150 | | 1277 | ReceiverConnect.caf | IDCard_Receiver_Connect | nano | iOS17~ | 151 | | 1278 | - | DictationBegin | - | iOS18~ | 152 | | 1279 | - | DictationCancel | - | iOS18~ | 153 | | 1280 | - | DictationConfirm | - | iOS18~ | 154 | | 1281 | RemoteAttentionRequest_Alert.caf | - | default | iOS18.2~ | 155 | | 1300 | sms-received1.caf | SystemSoundPreview_IgnoreRingerSwitch | nano | | 156 | | 1301 | ReceivedMessage.caf | SystemSoundPreview_IgnoreRingerSwitch | default | | 157 | | 1302 | new-mail.caf | SystemSoundPreview_IgnoreRingerSwitch | default | | 158 | | 1303 | mail-sent.caf | SystemSoundPreview_IgnoreRingerSwitch | default | | 159 | | 1304 | alarm.caf | SystemSoundPreview_IgnoreRingerSwitch | default | | 160 | | 1305 | lock.caf | SystemSoundPreview | default | | 161 | | 1306 | key_press_click.caf | KeyPressClickPreview | default | | 162 | | 1307 | sms-received1.caf | SMSReceived_Selection | nano | | 163 | | 1308 | sms-received2.caf | SMSReceived_Selection | default | | 164 | | 1309 | sms-received3.caf | SMSReceived_Selection | default | | 165 | | 1310 | sms-received4.caf | SMSReceived_Selection | default | | 166 | | 1311 | - | SMSReceived_Vibrate | - | | 167 | | 1312 | sms-received1.caf | SMSReceived_Selection | nano | | 168 | | 1313 | sms-received5.caf | SMSReceived_Selection | default | | 169 | | 1314 | sms-received6.caf | SMSReceived_Selection | default | | 170 | | 1315 | sms-received1.caf | SystemSoundPreview | nano | | 171 | | 1317 | alarm.caf | SystemSoundPreview_IgnoreRingerSwitch | default | | 172 | | 1318 | Swish.caf | SystemSoundPreview_IgnoreRingerSwitch_NoVibe | default | | 173 | | 1320 | Anticipate.caf | SMSReceived_Selection | New | | 174 | | 1321 | Bloom.caf | SMSReceived_Selection | New | | 175 | | 1322 | Calypso.caf | SMSReceived_Selection | New | | 176 | | 1323 | Choo_Choo.caf | SMSReceived_Selection | New | | 177 | | 1324 | Descent.caf | SMSReceived_Selection | New | | 178 | | 1325 | Fanfare.caf | SMSReceived_Selection | New | | 179 | | 1326 | Ladder.caf | SMSReceived_Selection | New | | 180 | | 1327 | Minuet.caf | SMSReceived_Selection | New | | 181 | | 1328 | News_Flash.caf | SMSReceived_Selection | New | | 182 | | 1329 | Noir.caf | SMSReceived_Selection | New | | 183 | | 1330 | Sherwood_Forest.caf | SMSReceived_Selection | New | | 184 | | 1331 | Spell.caf | SMSReceived_Selection | New | | 185 | | 1332 | Suspense.caf | SMSReceived_Selection | New | | 186 | | 1333 | Telegraph.caf | SMSReceived_Selection | New | | 187 | | 1334 | Tiptoes.caf | SMSReceived_Selection | New | | 188 | | 1335 | Typewriters.caf | SMSReceived_Selection | New | | 189 | | 1336 | Update.caf | SMSReceived_Selection | New | | 190 | | 1340 | PINEnterDigit_AX.caf | PINEnterDigit_AX | default | iOS16~ | 191 | | 1341 | PINDelete_AX.caf | PINDelete_AX | default | iOS16~ | 192 | | 1342 | PINSubmit_AX.caf | PINSubmit_AX | default | iOS16~ | 193 | | 1343 | PINUnexpected.caf | PINUnexpected | default | iOS16~ | 194 | | 1344 | PINEnterDigit.caf | PINEnterDigit | default | iOS16~ | 195 | | 1345 | PINDelete.caf | PINDelete | default | iOS16~ | 196 | | 1346 | NFCCardProvisioned.caf | - | default | iOS18~ | 197 | | 1347 | NFCCardComplete.caf | - | default | iOS18~ | 198 | | 1348 | NFCCardError.caf | - | default | iOS18~ | 199 | | 1350 | - | RingerVibeChanged | - | | 200 | | 1351 | - | SilentVibeChanged | - | | 201 | | 1352 | - | VibrateAlways | - | | 202 | | 1360 | connect_power.caf | - | default | | 203 | | 1361 | connect_power.caf | - | default | | 204 | | 1362 | HeadphoneAudioExposureLimitExceeded.caf | HeadphoneAudioExposureLimitExceeded | nano | | 205 | | 1363 | HealthNotificationUrgent.caf | HealthNotificationUrgent | nano | | 206 | | 1364 | MicMute.caf | InCallSystemSound | nano | | 207 | | 1365 | MicUnmute.caf | InCallSystemSound | nano | | 208 | | 1366 | MicUnmuteFail.caf | InCallSystemSound | nano | | 209 | | 1367 | ScreenSharingStarted.caf | InCallSystemSound | nano | | 210 | | 1368 | MediaPaused.caf | - | nano | | 211 | | 1369 | MediaHandoff.caf | - | nano | | 212 | | 1370 | NavigationGenericManeuver.caf | NavigationGenericManeuver | default | | 213 | | 1371 | HeadGesturesDoubleNod.caf | - | nano | iOS18~ | 214 | | 1372 | HeadGesturesDoubleShake.caf | - | nano | iOS18~ | 215 | | 1373 | HeadGesturesPartialNod.caf | - | nano | iOS18~ | 216 | | 1374 | HeadGesturesPartialShake.caf | - | nano | iOS18~ | 217 | | 1393 | ScreenCapture.caf | - | nano | | 218 | | 1394 | payment_success.caf | PaymentSuccess | default | | 219 | | 1395 | payment_failure.caf | PaymentFailure | default | | 220 | | 1396 | acknowledgment_sent.caf | - | default | | 221 | | 1397 | acknowledgment_received.caf | - | default | | 222 | | 1398 | nfc_scan_failure.caf | PaymentFailure | default | | 223 | | 1400 | Notification_Haptic.caf | Notification_Haptic | nano | | 224 | | 1401 | Ringtone_US_Haptic.caf | Ringtone_US_Haptic | nano | | 225 | | 1402 | Ringtone_UK_Haptic.caf | Ringtone_UK_Haptic | nano | | 226 | | 1403 | Alarm_Haptic.caf | Alarm_Haptic | nano | | 227 | | 1404 | SiriStart_Haptic.caf | SiriStart_Haptic | nano | | 228 | | 1405 | SiriStopSuccess_Haptic.caf | SiriStopSuccess_Haptic | nano | | 229 | | 1406 | SiriStopFailure_Haptic.caf | SiriStopFailure_Haptic | nano | | 230 | | 1407 | Stockholm_Haptic.caf | Stockholm_Haptic | nano | | 231 | | 1408 | Beat_Haptic.caf | Beat_Haptic | nano | | 232 | | 1409 | - | RubberBand_Haptic | - | | 233 | | 1410 | DoNotDisturb_Haptic.caf | DoNotDisturb_Haptic | nano | | 234 | | 1411 | - | UIConfirmation_Haptic | - | | 235 | | 1412 | - | ET_Heartbeat_Haptic | - | | 236 | | 1413 | Timer_Haptic.caf | Timer_Haptic | nano | | 237 | | 1414 | NavigationLeftTurn_Haptic.caf | NavigationLeftTurn_Haptic | nano | | 238 | | 1415 | NavigationRightTurn_Haptic.caf | NavigationRightTurn_Haptic | nano | | 239 | | 1416 | Detent_Haptic.caf | Detent_Haptic | nano | | 240 | | 1417 | NavigationGenericManeuver_Haptic.caf | NavigationGenericManeuver_Haptic | nano | | 241 | | 1418 | CameraCountdownTick_Haptic.caf | CameraCountdownTick_Haptic | nano | | 242 | | 1419 | CameraCountdownImminent_Haptic.caf | CameraCountdownImminent_Haptic | nano | | 243 | | 1420 | ET_RemoteTap_Receive_Haptic.caf | ET_RemoteTap_Receive_Haptic | nano | | 244 | | 1421 | ET_RemoteTap_Send_Haptic.caf | ET_RemoteTap_Send_Haptic | nano | | 245 | | 1422 | ET_BeginNotification_Haptic.caf | ET_BeginNotification_Haptic | nano | | 246 | | 1423 | - | DoNotDisturbExpiryWarning_Haptic | - | | 247 | | 1424 | StockholmActive_Haptic.caf | StockholmActive_Haptic | nano | | 248 | | 1425 | StockholmActiveSingleCycle_Haptic.caf | StockholmActiveSingleCycle_Haptic | nano | | 249 | | 1426 | StockholmFailure_Haptic.caf | StockholmFailure_Haptic | nano | | 250 | | 1427 | SedentaryTimer_Haptic.caf | SedentaryTimer_Haptic | nano | | 251 | | 1428 | HourlyChime_Haptic.caf | HourlyChime_Haptic | nano | | 252 | | 1429 | Preview_AudioAndHaptic.caf | Preview_AudioAndHaptic | nano | | 253 | | 1430 | Alert_ActivityGoalAttained_Haptic.caf | Alert_ActivityGoalAttained_Haptic | nano | | 254 | | 1431 | Alert_ActivityGoalBehind_Haptic.caf | Alert_ActivityGoalBehind_Haptic | nano | | 255 | | 1432 | Alert_ActivityGoalClose_Haptic.caf | Alert_ActivityGoalClose_Haptic | nano | | 256 | | 1433 | Alert_BatteryLow_10p_Haptic.caf | Alert_BatteryLow_Haptic | nano | | 257 | | 1434 | Alert_BatteryLow_5p_Haptic.caf | Alert_BatteryCritical_Haptic | nano | | 258 | | 1435 | Alert_Calendar_Haptic.caf | Alert_Calendar_Haptic | nano | | 259 | | 1436 | Notification_Haptic.caf | Alert_Mail_Haptic | nano | | 260 | | 1437 | Notification_Haptic.caf | Alert_Messages_1_Haptic | nano | | 261 | | 1438 | Notification_Haptic.caf | Alert_Messages_2_Haptic | nano | | 262 | | 1439 | Notification_Haptic.caf | Alert_Messages_3_Haptic | nano | | 263 | | 1440 | Alert_PassbookBalance_Haptic.caf | Alert_PassbookBalance_Haptic | nano | | 264 | | 1441 | Alert_PassbookGeofence_Haptic.caf | Alert_PassbookGeofence_Haptic | nano | | 265 | | 1442 | Alert_PhotostreamActivity_Haptic.caf | Alert_PhotostreamActivity_Haptic | nano | | 266 | | 1443 | Alert_ReminderDue_Haptic.caf | Alert_ReminderDue_Haptic | nano | | 267 | | 1444 | Notification_Haptic.caf | Alert_Voicemail_Haptic | nano | | 268 | | 1445 | Alert_WalkieTalkie_Haptic.caf | Alert_WalkieTalkie_Haptic | nano | | 269 | | 1446 | BatteryMagsafe_Haptic.caf | BatteryMagsafe_Haptic | nano | | 270 | | 1447 | BuddyPairingFailure_Haptic.caf | BuddyPairingFailure_Haptic | nano | | 271 | | 1448 | BuddyPairingSuccess_Haptic.caf | BuddyPairingSuccess_Haptic | nano | | 272 | | 1449 | CameraShutter_Haptic.caf | CameraShutter_Haptic | nano | | 273 | | 1450 | Alert_MapsDirectionsInApp_Haptic.caf | Alert_MapsDirectionsInApp_Haptic | nano | | 274 | | 1451 | MessagesIncoming_Haptic.caf | MessagesIncoming_Haptic | nano | | 275 | | 1452 | MessagesOutgoing_Haptic.caf | MessagesOutgoing_Haptic | nano | | 276 | | 1453 | OnOffPasscodeFailure_Haptic.caf | OnOffPasscodeFailure_Haptic | nano | | 277 | | 1457 | - | OrbInvoke_Haptic | - | | 278 | | 1458 | OrbLayers_Haptic.caf | OrbLayers_Haptic | nano | | 279 | | 1459 | PhoneHangUp_Haptic.caf | PhoneHangUp_Haptic | nano | | 280 | | 1460 | PhotosZoomDetent_Haptic.caf | PhotosZoomDetent_Haptic | nano | | 281 | | 1461 | QB_Dictation_Haptic.caf | QB_Dictation_Haptic | nano | | 282 | | 1462 | - | SpringboardEdgeUniverse_Haptic | - | | 283 | | 1463 | - | SpringboardHardStop_Haptic | - | | 284 | | 1464 | StopwatchLap_Haptic.caf | StopwatchLap_Haptic | nano | | 285 | | 1465 | StopwatchReset_Haptic.caf | StopwatchReset_Haptic | nano | | 286 | | 1466 | StopwatchStart_Haptic.caf | StopwatchStart_Haptic | nano | | 287 | | 1467 | StopwatchStop_Haptic.caf | StopwatchStop_Haptic | nano | | 288 | | 1468 | TimerCancel_Haptic.caf | TimerCancel_Haptic | nano | | 289 | | 1469 | TimerPause_Haptic.caf | TimerPause_Haptic | nano | | 290 | | 1470 | TimerStart_Haptic.caf | TimerStart_Haptic | nano | | 291 | | 1471 | TimerWheelHoursDetent_Haptic.caf | TimerWheelHoursDetent_Haptic | nano | | 292 | | 1472 | WalkieTalkieActiveStart_Haptic.caf | WalkieTalkieActiveStart_Haptic | nano | | 293 | | 1473 | WorkoutComplete_Haptic.caf | WorkoutComplete_Haptic | nano | | 294 | | 1474 | WorkoutCountdown_Haptic.caf | WorkoutCountdown_Haptic | nano | | 295 | | 1475 | Alert_3rdParty_Haptic.caf | Alert_3rdParty_Haptic | nano | | 296 | | 1476 | WorkoutSelect_Haptic.caf | WorkoutSelect_Haptic | nano | | 297 | | 1477 | WorkoutPressStart_Haptic.caf | WorkoutPressStart_Haptic | nano | | 298 | | 1478 | - | ClockAnalogTick_Haptic | - | | 299 | | 1479 | TimerWheelMinutesDetent_Haptic.caf | TimerWheelMinutesDetent_Haptic | nano | | 300 | | 1480 | PhoneAnswer_Haptic.caf | PhoneAnswer_Haptic | nano | | 301 | | 1481 | PhoneHold_Haptic.caf | PhoneHold_Haptic | nano | | 302 | | 1482 | WalkieTalkieActiveEnd_Haptic.caf | WalkieTalkieActiveEnd_Haptic | nano | | 303 | | 1483 | - | UISnap_Haptic | - | | 304 | | 1484 | UISwitch_On_Haptic.caf | UISwitch_On_Haptic | nano | | 305 | | 1485 | UISwitch_Off_Haptic.caf | UISwitch_Off_Haptic | nano | | 306 | | 1486 | UISwipe_Haptic.caf | UISwipe_Haptic | nano | | 307 | | 1487 | SystemStartup_Haptic.caf | SystemStartup_Haptic | nano | | 308 | | 1488 | BuddyPairingRemoteConnection_Haptic.caf | BuddyPairingRemoteConnection_Haptic | nano | | 309 | | 1489 | BuddyPairingRemoteTap_Haptic.caf | BuddyPairingRemoteTap_Haptic | nano | | 310 | | 1490 | QB_Dictation_Off_Haptic.caf | QB_Dictation_Off_Haptic | nano | | 311 | | 1491 | RingtoneDucked_US_Haptic.caf | RingtoneDucked_US_Haptic | nano | | 312 | | 1492 | RingtoneDucked_UK_Haptic.caf | RingtoneDucked_UK_Haptic | nano | | 313 | | 1493 | SalientNotification_Haptic.caf | SalientNotification_Haptic | nano | | 314 | | 1494 | Notification_Salient_Haptic.caf | Notification_Salient_Haptic | nano | | 315 | | 1495 | ET_BeginNotification_Salient_Haptic.caf | ET_BeginNotification_Salient_Haptic | nano | | 316 | | 1496 | Alert_Calendar_Salient_Haptic.caf | Alert_Calendar_Salient_Haptic | nano | | 317 | | 1497 | Notification_Salient_Haptic.caf | Alert_Mail_Salient_Haptic | nano | | 318 | | 1498 | Notification_Salient_Haptic.caf | Alert_Messages_1_Salient_Haptic | nano | | 319 | | 1499 | Alert_ReminderDue_Salient_Haptic.caf | Alert_ReminderDue_Salient_Haptic | nano | | 320 | | 1500 | Notification_Salient_Haptic.caf | Alert_Voicemail_Salient_Haptic | nano | | 321 | | 1501 | Alert_3rdParty_Salient_Haptic.caf | Alert_3rdParty_Salient_Haptic | nano | | 322 | | 1502 | 3rdParty_DirectionUp_Haptic.caf | 3rdParty_DirectionUp_Haptic | nano | | 323 | | 1503 | 3rdParty_DirectionDown_Haptic.caf | 3rdParty_DirectionDown_Haptic | nano | | 324 | | 1504 | 3rdParty_Success_Haptic.caf | 3rdParty_Success_Haptic | nano | | 325 | | 1505 | 3rdParty_Failure_Haptic.caf | 3rdParty_Failure_Haptic | nano | | 326 | | 1506 | 3rdParty_Retry_Haptic.caf | 3rdParty_Retry_Haptic | nano | | 327 | | 1507 | 3rdParty_Start_Haptic.caf | 3rdParty_Start_Haptic | nano | | 328 | | 1508 | 3rdParty_Stop_Haptic.caf | 3rdParty_Stop_Haptic | nano | | 329 | | 1509 | Alarm_Nightstand_Haptic.caf | Alarm_Nightstand_Haptic | nano | | 330 | | 1510 | Alert_BatteryLow_5p_Salient_Haptic.caf | Alert_BatteryCritical_Salient_Haptic | nano | | 331 | | 1511 | NavigationLeftTurn_Salient_Haptic.caf | NavigationLeftTurn_Salient_Haptic | nano | | 332 | | 1512 | NavigationRightTurn_Salient_Haptic.caf | NavigationRightTurn_Salient_Haptic | nano | | 333 | | 1513 | NavigationGenericManeuver_Salient_Haptic.caf | NavigationGenericManeuver_Salient_Haptic | nano | | 334 | | 1514 | SedentaryTimer_Salient_Haptic.caf | SedentaryTimer_Salient_Haptic | nano | | 335 | | 1515 | Alert_ActivityGoalAttained_Salient_Haptic.caf | Alert_ActivityGoalAttained_Salient_Haptic | nano | | 336 | | 1516 | Alert_ActivityGoalBehind_Salient_Haptic.caf | Alert_ActivityGoalBehind_Salient_Haptic | nano | | 337 | | 1517 | Alert_PassbookGeofence_Salient_Haptic.caf | Alert_PassbookGeofence_Salient_Haptic | nano | | 338 | | 1518 | WorkoutSaved_Haptic.caf | WorkoutSaved_Haptic | nano | | 339 | | 1519 | - | OrbPeek_Haptic | - | | 340 | | 1520 | - | OrbPop_Haptic | - | | 341 | | 1521 | - | OrbNegative_Haptic | - | | 342 | | 1522 | VoiceOver_Click_Haptic.caf | VoiceOver_Click_Haptic | nano | | 343 | | 1523 | SiriAutoSend_Haptic.caf | SiriAutoSend_Haptic | nano | | 344 | | 1524 | - | HummingbirdCycle_Haptic | - | | 345 | | 1525 | HummingbirdCompletion_Haptic.caf | HummingbirdCompletion_Haptic | nano | | 346 | | 1526 | HummingbirdNotification_Haptic.caf | HummingbirdNotification_Haptic | nano | | 347 | | 1527 | RemoteCameraShutterBurstBegin_Haptic.caf | RemoteCameraShutterBurstBegin_Haptic | nano | | 348 | | 1528 | RemoteCameraShutterBurstEnd_Haptic.caf | RemoteCameraShutterBurstEnd_Haptic | nano | | 349 | | 1529 | WorkoutPaused_Haptic.caf | WorkoutPaused_Haptic | nano | | 350 | | 1530 | WorkoutResumed_Haptic.caf | WorkoutResumed_Haptic | nano | | 351 | | 1531 | GoToSleep_Haptic.caf | GoToSleep_Haptic | nano | | 352 | | 1532 | Warsaw_Haptic.caf | Warsaw_Haptic | nano | | 353 | | 1533 | AutoUnlock_Haptic.caf | AutoUnlock_Haptic | nano | | 354 | | 1534 | Alert_ActivityFriendsGoalAttained_Haptic.caf | Alert_ActivityFriendsGoalAttained_Haptic | nano | | 355 | | 1535 | Alert_SpartanConnecting_Haptic.caf | Alert_SpartanConnecting_Haptic | nano | | 356 | | 1536 | Alert_SpartanConnecting_LowLatency_Haptic.caf | Alert_SpartanConnecting_LowLatency_Haptic | nano | | 357 | | 1537 | Alert_SpartanConnected_LowLatency_Haptic.caf | Alert_SpartanConnected_LowLatency_Haptic | nano | | 358 | | 1538 | Alert_SpartanDisconnected_LowLatency_Haptic.caf | Alert_SpartanDisconnected_LowLatency_Haptic | nano | | 359 | | 1539 | - | Alert_SpartanReminderEscalationLevel1_Haptic | - | | 360 | | 1540 | - | Alert_SpartanReminderEscalationLevel2_Haptic | - | | 361 | | 1541 | - | Alert_SpartanReminderEscalationLevel3_Haptic | - | | 362 | | 1542 | - | Alert_SpartanReminderEscalationLevel4_Haptic | - | | 363 | | 1543 | AccessScanComplete_Haptic.caf | AccessScanComplete_Haptic | nano | | 364 | | 1544 | BuddyMigrationStart_Haptic.caf | BuddyMigrationStart_Haptic | nano | | 365 | | 1545 | SOSFallDetectionPrompt_Haptic.caf | SOSFallDetectionPrompt_Haptic | nano | | 366 | | 1546 | SOSEmergencyContactTextPrompt_Haptic.caf | SOSEmergencyContactTextPrompt_Haptic | nano | | 367 | | 1547 | WorkoutStartAutodetect.caf | WorkoutStartAutoDetected_Haptic | nano | | 368 | | 1548 | WorkoutCompleteAutodetect.caf | WorkoutCompleteAutoDetected_Haptic | nano | | 369 | | 1549 | WorkoutPausedAutoDetect.caf | WorkoutPausedAutoDetected_Haptic | nano | | 370 | | 1550 | WorkoutResumedAutoDetect.caf | WorkoutResumedAutoDetected_Haptic | nano | | 371 | | 1551 | WorkoutPaceAbove.caf | Alert_PaceAbove_Haptic | nano | | 372 | | 1552 | WorkoutPaceBelow.caf | Alert_PaceBelow_Haptic | nano | | 373 | | 1553 | WalkieTalkieReceiveStart_Haptic.caf | WalkieTalkieReceiveStart_Haptic | nano | | 374 | | 1554 | WalkieTalkieReceiveEnd_Haptic.caf | WalkieTalkieReceiveEnd_Haptic | nano | | 375 | | 1555 | Alert_Health_Haptic.caf | Alert_Health_Haptic | nano | | 376 | | 1556 | MultiwayJoin.caf | InCallSystemSound | nano | | 377 | | 1557 | MultiwayLeave.caf | InCallSystemSound | nano | | 378 | | 1558 | MultiwayInvitation.caf | Alert_VCGroupInvitation_Haptic | nano | | 379 | | 1559 | 3rd_Party_Critical_Haptic.caf | Alert_Critical_Haptic | nano | | 380 | | 1560 | Alert_1stParty_Haptic.caf | Alert_FirstParty_Haptic | nano | | 381 | | 1561 | HealthNotificationUrgent.caf | Alert_HealthNotificationUrgent_Haptic | nano | | 382 | | 1562 | - | Alert_Limit_Exceeded_Haptic | - | iOS16~ | 383 | | 1563 | Siren_Countdown_Major_Haptic.caf | Siren_Countdown_Major_Haptic | nano | iOS16~ | 384 | | 1564 | Siren_Countdown_Minor_Haptic.caf | Siren_Countdown_Minor_Haptic | nano | iOS16~ | 385 | | 1565 | - | SunlightPrompt_Haptic | - | iOS16~ | 386 | | 1566 | Doorbell_Haptic.caf | Doorbell_Haptic | nano | iOS16~ | 387 | | 1567 | System_Notification_Haptic.caf | System_Notification_Haptic | nano | | 388 | | 1568 | SOSFallDetectionPromptEscalation_Haptic.caf | SOSFallDetectionPromptEscalation_Haptic | nano | | 389 | | 1569 | - | WalkAMile_Haptic | - | | 390 | | 1570 | HealthReadingComplete_Haptic.caf | HealthReadingComplete_Haptic | nano | | 391 | | 1571 | HealthReadingFail_Haptic.caf | HealthReadingFail_Haptic | nano | | 392 | | 1572 | HeadphoneAudioExposureLimitExceeded.caf | HeadphoneAudioExposureLimitExceeded_Haptic | nano | | 393 | | 1573 | ScreenCapture.caf | CameraShutter_Haptic | nano | | 394 | | 1574 | - | Time_To_Run_Haptic | - | iOS16~ | 395 | | 1575 | - | Time_To_Walk_Haptic | - | iOS16~ | 396 | | 1576 | PushToTalkJoined.caf | PushToTalkJoined_Haptic | nano | iOS16.2~ | 397 | | 1577 | PushToTalkLeft.caf | PushToTalkLeft_Haptic | nano | iOS16.2~ | 398 | | 1578 | PushToTalkUnmute.caf | PushToTalkUnmute_Haptic | nano | iOS16.2~ | 399 | | 1579 | PushToTalkMute.caf | PushToTalkMute_Haptic | nano | iOS16.2~ | 400 | | 1580 | PushToTalkUnmuteFail.caf | PushToTalkUnmuteFail_Haptic | nano | iOS16.2~ | 401 | | 1581 | WorkoutPrecisionStart_Haptic.caf | WorkoutPrecisionStart_Haptic | nano | iOS17~ | 402 | | 1582 | IntervalEnded.caf | Alert_IntervalEnded_Haptic | nano | iOS16.2~ | 403 | | 1583 | IntervalUpcoming.caf | Alert_IntervalUpcoming_Haptic | nano | iOS16.2~ | 404 | | 1584 | Elevation.caf | Elevation_Alert_Haptic | nano | iOS17~ | 405 | | 1585 | SenderConfirmation.caf | IDCard_Sender_Confirmation_Haptic | nano | iOS17~ | 406 | | 1586 | ReceiverConfirmation.caf | IDCard_Receiver_Confirmation_Haptic | nano | iOS17~ | 407 | | 1587 | ReceiverConnect.caf | IDCard_Receiver_Connect_Haptic | nano | iOS17~ | 408 | | 1588 | RegattaTimer.caf | - | nano | iOS18~ | 409 | | 3000 | - | RelTest1_Haptic | - | | 410 | | 3001 | SwTest1_Haptic.caf | unknown | nano | | 411 | | 3002 | - | SwTest2_Haptic | | | 412 | | 3003 | - | MMITest1_Haptic | | | 413 | | 3100 | - | AudioPrewarm | | iOS16~ | 414 | | 3101 | - | HapticPrewarm | | iOS16~ | 415 | | 4095 | - | Vibrate | | | 416 | | 4096 | - | UserAlert | | | 417 | -------------------------------------------------------------------------------- /Tests/SystemSoundTests/SystemSoundTests.swift: -------------------------------------------------------------------------------- 1 | import XCTest 2 | @testable import SystemSound 3 | 4 | final class SystemSoundTests: XCTestCase {} 5 | --------------------------------------------------------------------------------