project.pbxproj 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791
  1. // !$*UTF8*$!
  2. {
  3. archiveVersion = 1;
  4. classes = {
  5. };
  6. objectVersion = 46;
  7. objects = {
  8. /* Begin PBXBuildFile section */
  9. 10EAADFFB07A1A8721B25D6B /* MockNetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24923AF5D038F81EB3248A4C /* MockNetworkService.swift */; };
  10. 128B1C7150980D1FBE511B79 /* RecordingEnvironmentDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB09EA3EE9CFFADB34B5B43A /* RecordingEnvironmentDetector.swift */; };
  11. 15EAFA0DBF80C789F02C5119 /* ProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086899076999CD4909BB9748 /* ProfileView.swift */; };
  12. 1A9161A601EB0954CD4B8A76 /* NetworkServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F2D8AEE2E58FE0F2EF531D0 /* NetworkServiceProtocol.swift */; };
  13. 24472E311A9EB0785297B008 /* UserAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A1BE84E0C74D9F7BE9DC3E /* UserAccount.swift */; };
  14. 24D8D6477ED27DF7009D383C /* HapticManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAC9AB65FF3C9678A6192C88 /* HapticManager.swift */; };
  15. 26D05B0A440FC9B26E89E4F0 /* AuthServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CDFF4B7FD8488111C99DADF /* AuthServiceProtocol.swift */; };
  16. 2C16272F61F8B36A2EF69129 /* SessionDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FE663DCAAC5D1765BA31A3D /* SessionDetailView.swift */; };
  17. 2FD7EE603C849E281034CDD8 /* SyncAuthPromptModal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C76F629F3460D6F077C3708 /* SyncAuthPromptModal.swift */; };
  18. 36E871DAD9477A21AE2F01B7 /* AuthModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E10ED811D3048B961C4754A6 /* AuthModalView.swift */; };
  19. 3A7E453FDCA5DA9F96194B23 /* CelestiaTraceApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 628549E7FC16C58A15C9E1B7 /* CelestiaTraceApp.swift */; };
  20. 403219D9D8C972EC2AA8F84E /* EditProfileModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA13A08133A50094CBFFDDF9 /* EditProfileModalView.swift */; };
  21. 44732C9690578EEFC6840D05 /* DeviceListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8CB67D1B2BDECAA772F3935 /* DeviceListView.swift */; };
  22. 490825791613AC52D06ECFA7 /* CelestiaSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83CE4996BF0CC501E3B7C567 /* CelestiaSession.swift */; };
  23. 4F4476444CB6838B2BE6EE87 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71787388F9456A4784534BCC /* ContentView.swift */; };
  24. 503E109CBBC69E3015AE37A3 /* SilenceDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEED3C75367F66D6D6CE745D /* SilenceDetector.swift */; };
  25. 58EFA65370C61ED9A8EE6627 /* ActiveRecordingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7B9693BD9924C08A1F2ECD1 /* ActiveRecordingView.swift */; };
  26. 70A52B64861B541B4C9423AC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5353BBE8E9552B4B486D8701 /* Foundation.framework */; };
  27. 75AE08DD135D81A3E19190EE /* DiscreetWarningBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F4B4B59E0916CE9ACFF362F /* DiscreetWarningBanner.swift */; };
  28. 7CA015A965BD30FAB3A92507 /* AuthManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 073CAFDB8C45F4EAA33FA0EA /* AuthManager.swift */; };
  29. 8B5C51BB4474283BDF4ADACB /* LiveWaveformView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1189E47F735DDB40D1E741E6 /* LiveWaveformView.swift */; };
  30. 8FBEE86CDB9635710EF85F1B /* BLEManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F52FB139E193DBAC41F9D3F6 /* BLEManager.swift */; };
  31. 8FF835BDBD2A0E3551462510 /* LocalAuthRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8211C786643CA85F12CCAB4 /* LocalAuthRepository.swift */; };
  32. 936A52ADE1ECF30D3650B8D8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5353BBE8E9552B4B486D8701 /* Foundation.framework */; };
  33. 93F943133BCD792D991AA8E3 /* AudioChunk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 320789BA1CB176C4DBC51E99 /* AudioChunk.swift */; };
  34. 96791550D01A4FD10EEB9BA3 /* RecordingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64180D833523B84195EE7E2A /* RecordingViewModel.swift */; };
  35. 9BDA680497BF5DD72A7BA8F3 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6305E60488EEABAFE2E1D6D8 /* HomeView.swift */; };
  36. 9C5A0C9CDFCB8CFB10FF0B06 /* DeviceScanView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7063E6702335B02B65775F4 /* DeviceScanView.swift */; };
  37. 9E4554980E7FF484BF400458 /* MultiTrackTimeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DC9982D9E53E1A77CDB0470 /* MultiTrackTimeline.swift */; };
  38. A1B2C3D4E5F6012345678901 /* AudioPathHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1B2C3D4E5F6012345678902 /* AudioPathHelper.swift */; };
  39. A3F43A5200A626CBFB70395E /* CelestiaTimelineEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DAA0FBAEC0BF91F45D15B1E /* CelestiaTimelineEvent.swift */; };
  40. A9B8C7D6E5F4000000000001 /* SplashView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9B8C7D6E5F4000000000002 /* SplashView.swift */; };
  41. A9B8C7D6E5F4000000000003 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B8C7D6E5F4000000000004 /* Assets.xcassets */; };
  42. A9B8C7D6E5F4000000000007 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B8C7D6E5F4000000000008 /* LaunchScreen.storyboard */; };
  43. AF09E026C9AB15874D870E1F /* PulsingRecordButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77D23B83EDDD5489004E42DC /* PulsingRecordButton.swift */; };
  44. B262A6AF17A835DB666B2FAB /* SessionListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EBB5FC2AC0B9D31C7A04715 /* SessionListView.swift */; };
  45. BE12EF8734ABF645B2B28BBB /* PlaybackViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E528009D607763F9E68EFBAD /* PlaybackViewModel.swift */; };
  46. C2807F9F2794AFA8BF03F104 /* ChangePasswordModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66BE0E22B2A472E2AFC9CB98 /* ChangePasswordModalView.swift */; };
  47. C8794B9720CD85F518A82473 /* BoundDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EF9EF0F961DB2B546B9C0F1 /* BoundDevice.swift */; };
  48. CD45B55AB993D054E50A43BE /* RealAudioRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 977EB01CFA491A1573D7CF22 /* RealAudioRecorder.swift */; };
  49. DDC0D9C4883B4861CBC74C39 /* ChronoFeedRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9275B988BEBBEA80370E1AC4 /* ChronoFeedRow.swift */; };
  50. E78FC729614A4C93C97D564D /* ColorTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AF20E8EF4319BBEBA608C1 /* ColorTheme.swift */; };
  51. F385E2FCB06D39917F51846E /* AudioRecorderProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B407473A307EEAF2CB5EE94 /* AudioRecorderProtocol.swift */; };
  52. F3CB51CC262E0F4929EB129B /* RemoteAuthServiceStub.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E13AE9CB7E8C9E3BACFC679 /* RemoteAuthServiceStub.swift */; };
  53. F5035B942DE1FEC10515D9D6 /* ImagePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = DADF67536C0CF9AE7F405C74 /* ImagePicker.swift */; };
  54. FD30DBB57E19055AB8F0A956 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4883D42730E6133FCC3C81C2 /* SettingsView.swift */; };
  55. /* End PBXBuildFile section */
  56. /* Begin PBXContainerItemProxy section */
  57. 55C3FF8383E750C9C9453EC5 /* PBXContainerItemProxy */ = {
  58. isa = PBXContainerItemProxy;
  59. containerPortal = 979128538DFF0B361F857241 /* Project object */;
  60. proxyType = 1;
  61. remoteGlobalIDString = EC79DCF0EBB2620B0FC21573;
  62. remoteInfo = CelestiaTrace;
  63. };
  64. /* End PBXContainerItemProxy section */
  65. /* Begin PBXFileReference section */
  66. 073CAFDB8C45F4EAA33FA0EA /* AuthManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AuthManager.swift; sourceTree = "<group>"; };
  67. 086899076999CD4909BB9748 /* ProfileView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ProfileView.swift; sourceTree = "<group>"; };
  68. 0EBB5FC2AC0B9D31C7A04715 /* SessionListView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SessionListView.swift; sourceTree = "<group>"; };
  69. 1189E47F735DDB40D1E741E6 /* LiveWaveformView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LiveWaveformView.swift; sourceTree = "<group>"; };
  70. 1DC9982D9E53E1A77CDB0470 /* MultiTrackTimeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MultiTrackTimeline.swift; sourceTree = "<group>"; };
  71. 1EF9EF0F961DB2B546B9C0F1 /* BoundDevice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BoundDevice.swift; sourceTree = "<group>"; };
  72. 24923AF5D038F81EB3248A4C /* MockNetworkService.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MockNetworkService.swift; sourceTree = "<group>"; };
  73. 320789BA1CB176C4DBC51E99 /* AudioChunk.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AudioChunk.swift; sourceTree = "<group>"; };
  74. 3C76F629F3460D6F077C3708 /* SyncAuthPromptModal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SyncAuthPromptModal.swift; sourceTree = "<group>"; };
  75. 3FE663DCAAC5D1765BA31A3D /* SessionDetailView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SessionDetailView.swift; sourceTree = "<group>"; };
  76. 4883D42730E6133FCC3C81C2 /* SettingsView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
  77. 4B407473A307EEAF2CB5EE94 /* AudioRecorderProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AudioRecorderProtocol.swift; sourceTree = "<group>"; };
  78. 4DAA0FBAEC0BF91F45D15B1E /* CelestiaTimelineEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CelestiaTimelineEvent.swift; sourceTree = "<group>"; };
  79. 4E13AE9CB7E8C9E3BACFC679 /* RemoteAuthServiceStub.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RemoteAuthServiceStub.swift; sourceTree = "<group>"; };
  80. 4F4B4B59E0916CE9ACFF362F /* DiscreetWarningBanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DiscreetWarningBanner.swift; sourceTree = "<group>"; };
  81. 51A1BE84E0C74D9F7BE9DC3E /* UserAccount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = UserAccount.swift; sourceTree = "<group>"; };
  82. 5353BBE8E9552B4B486D8701 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
  83. 628549E7FC16C58A15C9E1B7 /* CelestiaTraceApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CelestiaTraceApp.swift; sourceTree = "<group>"; };
  84. 6305E60488EEABAFE2E1D6D8 /* HomeView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = "<group>"; };
  85. 64180D833523B84195EE7E2A /* RecordingViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordingViewModel.swift; sourceTree = "<group>"; };
  86. 66BE0E22B2A472E2AFC9CB98 /* ChangePasswordModalView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ChangePasswordModalView.swift; sourceTree = "<group>"; };
  87. 71729F8F4A48D77C1898C27B /* CelestiaTraceTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CelestiaTraceTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
  88. 71787388F9456A4784534BCC /* ContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
  89. 77D23B83EDDD5489004E42DC /* PulsingRecordButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PulsingRecordButton.swift; sourceTree = "<group>"; };
  90. 7F2D8AEE2E58FE0F2EF531D0 /* NetworkServiceProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NetworkServiceProtocol.swift; sourceTree = "<group>"; };
  91. 83CE4996BF0CC501E3B7C567 /* CelestiaSession.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CelestiaSession.swift; sourceTree = "<group>"; };
  92. 8CDFF4B7FD8488111C99DADF /* AuthServiceProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AuthServiceProtocol.swift; sourceTree = "<group>"; };
  93. 9275B988BEBBEA80370E1AC4 /* ChronoFeedRow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ChronoFeedRow.swift; sourceTree = "<group>"; };
  94. 95AF20E8EF4319BBEBA608C1 /* ColorTheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorTheme.swift; sourceTree = "<group>"; };
  95. 977EB01CFA491A1573D7CF22 /* RealAudioRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RealAudioRecorder.swift; sourceTree = "<group>"; };
  96. A1B2C3D4E5F6012345678902 /* AudioPathHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AudioPathHelper.swift; sourceTree = "<group>"; };
  97. A9B8C7D6E5F4000000000002 /* SplashView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SplashView.swift; sourceTree = "<group>"; };
  98. A9B8C7D6E5F4000000000004 /* Assets.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
  99. A9B8C7D6E5F4000000000008 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
  100. A9B8C7D6E5F4000000000009 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  101. AA13A08133A50094CBFFDDF9 /* EditProfileModalView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditProfileModalView.swift; sourceTree = "<group>"; };
  102. AEED3C75367F66D6D6CE745D /* SilenceDetector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SilenceDetector.swift; sourceTree = "<group>"; };
  103. B7B9693BD9924C08A1F2ECD1 /* ActiveRecordingView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ActiveRecordingView.swift; sourceTree = "<group>"; };
  104. B8211C786643CA85F12CCAB4 /* LocalAuthRepository.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LocalAuthRepository.swift; sourceTree = "<group>"; };
  105. DADF67536C0CF9AE7F405C74 /* ImagePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ImagePicker.swift; sourceTree = "<group>"; };
  106. DB09EA3EE9CFFADB34B5B43A /* RecordingEnvironmentDetector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordingEnvironmentDetector.swift; sourceTree = "<group>"; };
  107. DB56F0DFCB1FE77D7636B43D /* CelestiaTrace.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CelestiaTrace.app; sourceTree = BUILT_PRODUCTS_DIR; };
  108. E10ED811D3048B961C4754A6 /* AuthModalView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AuthModalView.swift; sourceTree = "<group>"; };
  109. E528009D607763F9E68EFBAD /* PlaybackViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaybackViewModel.swift; sourceTree = "<group>"; };
  110. E7063E6702335B02B65775F4 /* DeviceScanView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceScanView.swift; sourceTree = "<group>"; };
  111. EAC9AB65FF3C9678A6192C88 /* HapticManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HapticManager.swift; sourceTree = "<group>"; };
  112. F52FB139E193DBAC41F9D3F6 /* BLEManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BLEManager.swift; sourceTree = "<group>"; };
  113. F8CB67D1B2BDECAA772F3935 /* DeviceListView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceListView.swift; sourceTree = "<group>"; };
  114. /* End PBXFileReference section */
  115. /* Begin PBXFrameworksBuildPhase section */
  116. 41887A64604410C0C61AEBD5 /* Frameworks */ = {
  117. isa = PBXFrameworksBuildPhase;
  118. buildActionMask = 2147483647;
  119. files = (
  120. 70A52B64861B541B4C9423AC /* Foundation.framework in Frameworks */,
  121. );
  122. runOnlyForDeploymentPostprocessing = 0;
  123. };
  124. 6FF5C5F71B01A15E70EBC20C /* Frameworks */ = {
  125. isa = PBXFrameworksBuildPhase;
  126. buildActionMask = 2147483647;
  127. files = (
  128. 936A52ADE1ECF30D3650B8D8 /* Foundation.framework in Frameworks */,
  129. );
  130. runOnlyForDeploymentPostprocessing = 0;
  131. };
  132. /* End PBXFrameworksBuildPhase section */
  133. /* Begin PBXGroup section */
  134. 21AD838392427D841273B592 /* Detail */ = {
  135. isa = PBXGroup;
  136. children = (
  137. 3FE663DCAAC5D1765BA31A3D /* SessionDetailView.swift */,
  138. 9275B988BEBBEA80370E1AC4 /* ChronoFeedRow.swift */,
  139. 1DC9982D9E53E1A77CDB0470 /* MultiTrackTimeline.swift */,
  140. );
  141. path = Detail;
  142. sourceTree = "<group>";
  143. };
  144. 2297351526BD0F24ED0714A0 /* Products */ = {
  145. isa = PBXGroup;
  146. children = (
  147. DB56F0DFCB1FE77D7636B43D /* CelestiaTrace.app */,
  148. 71729F8F4A48D77C1898C27B /* CelestiaTraceTests.xctest */,
  149. );
  150. name = Products;
  151. sourceTree = "<group>";
  152. };
  153. 2626EC2897F60B86D833D875 /* Models */ = {
  154. isa = PBXGroup;
  155. children = (
  156. 83CE4996BF0CC501E3B7C567 /* CelestiaSession.swift */,
  157. 4DAA0FBAEC0BF91F45D15B1E /* CelestiaTimelineEvent.swift */,
  158. 320789BA1CB176C4DBC51E99 /* AudioChunk.swift */,
  159. 1EF9EF0F961DB2B546B9C0F1 /* BoundDevice.swift */,
  160. 51A1BE84E0C74D9F7BE9DC3E /* UserAccount.swift */,
  161. );
  162. path = Models;
  163. sourceTree = "<group>";
  164. };
  165. 31A0E1032B1847F49A6241BD /* Home */ = {
  166. isa = PBXGroup;
  167. children = (
  168. 6305E60488EEABAFE2E1D6D8 /* HomeView.swift */,
  169. );
  170. path = Home;
  171. sourceTree = "<group>";
  172. };
  173. 32200F0540C3761CA9D1495A /* CelestiaTraceTests */ = {
  174. isa = PBXGroup;
  175. children = (
  176. );
  177. name = CelestiaTraceTests;
  178. path = Tests/CelestiaTraceTests;
  179. sourceTree = "<group>";
  180. };
  181. 44E01A3C9C72DBC8106DEE17 /* Profile */ = {
  182. isa = PBXGroup;
  183. children = (
  184. 086899076999CD4909BB9748 /* ProfileView.swift */,
  185. 7249FD4D94237968D3D5F3AC /* Auth */,
  186. F7861FD2C1283A2FC2FDB934 /* Devices */,
  187. );
  188. path = Profile;
  189. sourceTree = "<group>";
  190. };
  191. 565448EB878982B445E267AF /* Frameworks */ = {
  192. isa = PBXGroup;
  193. children = (
  194. AA9F20B44A68E171B39266B0 /* iOS */,
  195. );
  196. name = Frameworks;
  197. sourceTree = "<group>";
  198. };
  199. 5BCD8C04CE34AA3B16B8C831 /* Auth */ = {
  200. isa = PBXGroup;
  201. children = (
  202. B8211C786643CA85F12CCAB4 /* LocalAuthRepository.swift */,
  203. 8CDFF4B7FD8488111C99DADF /* AuthServiceProtocol.swift */,
  204. 4E13AE9CB7E8C9E3BACFC679 /* RemoteAuthServiceStub.swift */,
  205. 073CAFDB8C45F4EAA33FA0EA /* AuthManager.swift */,
  206. );
  207. path = Auth;
  208. sourceTree = "<group>";
  209. };
  210. 7249FD4D94237968D3D5F3AC /* Auth */ = {
  211. isa = PBXGroup;
  212. children = (
  213. E10ED811D3048B961C4754A6 /* AuthModalView.swift */,
  214. 66BE0E22B2A472E2AFC9CB98 /* ChangePasswordModalView.swift */,
  215. AA13A08133A50094CBFFDDF9 /* EditProfileModalView.swift */,
  216. );
  217. path = Auth;
  218. sourceTree = "<group>";
  219. };
  220. 7B90B8D292E18F60A02CDFE2 /* Views */ = {
  221. isa = PBXGroup;
  222. children = (
  223. A9B8C7D6E5F4000000000005 /* Splash */,
  224. B7A7A2A0082F059CCD6BE791 /* Settings */,
  225. 31A0E1032B1847F49A6241BD /* Home */,
  226. BC1D87D6D1785EA7D6AA6AF7 /* Recording */,
  227. ADD73EAAF268C8B37E097585 /* Components */,
  228. 21AD838392427D841273B592 /* Detail */,
  229. 44E01A3C9C72DBC8106DEE17 /* Profile */,
  230. 96406E65C0CB98B68F7082F4 /* History */,
  231. 71787388F9456A4784534BCC /* ContentView.swift */,
  232. );
  233. path = Views;
  234. sourceTree = "<group>";
  235. };
  236. 96406E65C0CB98B68F7082F4 /* History */ = {
  237. isa = PBXGroup;
  238. children = (
  239. 0EBB5FC2AC0B9D31C7A04715 /* SessionListView.swift */,
  240. );
  241. path = History;
  242. sourceTree = "<group>";
  243. };
  244. A9B8C7D6E5F4000000000005 /* Splash */ = {
  245. isa = PBXGroup;
  246. children = (
  247. A9B8C7D6E5F4000000000002 /* SplashView.swift */,
  248. );
  249. path = Splash;
  250. sourceTree = "<group>";
  251. };
  252. A9B8C7D6E5F4000000000006 /* Resources */ = {
  253. isa = PBXGroup;
  254. children = (
  255. A9B8C7D6E5F4000000000004 /* Assets.xcassets */,
  256. A9B8C7D6E5F4000000000008 /* LaunchScreen.storyboard */,
  257. A9B8C7D6E5F4000000000009 /* Info.plist */,
  258. );
  259. path = Resources;
  260. sourceTree = "<group>";
  261. };
  262. AA9F20B44A68E171B39266B0 /* iOS */ = {
  263. isa = PBXGroup;
  264. children = (
  265. 5353BBE8E9552B4B486D8701 /* Foundation.framework */,
  266. );
  267. name = iOS;
  268. sourceTree = "<group>";
  269. };
  270. ADD73EAAF268C8B37E097585 /* Components */ = {
  271. isa = PBXGroup;
  272. children = (
  273. 4F4B4B59E0916CE9ACFF362F /* DiscreetWarningBanner.swift */,
  274. DADF67536C0CF9AE7F405C74 /* ImagePicker.swift */,
  275. 3C76F629F3460D6F077C3708 /* SyncAuthPromptModal.swift */,
  276. 77D23B83EDDD5489004E42DC /* PulsingRecordButton.swift */,
  277. );
  278. path = Components;
  279. sourceTree = "<group>";
  280. };
  281. AF823CBC596A095A54F096C1 /* Bluetooth */ = {
  282. isa = PBXGroup;
  283. children = (
  284. F52FB139E193DBAC41F9D3F6 /* BLEManager.swift */,
  285. );
  286. path = Bluetooth;
  287. sourceTree = "<group>";
  288. };
  289. B33580BE3AF0DC9085B1D3A1 /* Services */ = {
  290. isa = PBXGroup;
  291. children = (
  292. 5BCD8C04CE34AA3B16B8C831 /* Auth */,
  293. EAC9AB65FF3C9678A6192C88 /* HapticManager.swift */,
  294. DB59940538488B1E753621A8 /* Network */,
  295. FD4D76A3358AAF1519C279F1 /* Audio */,
  296. AF823CBC596A095A54F096C1 /* Bluetooth */,
  297. );
  298. path = Services;
  299. sourceTree = "<group>";
  300. };
  301. B5CB52A86415BBB0B9DCE932 /* CelestiaTrace */ = {
  302. isa = PBXGroup;
  303. children = (
  304. A9B8C7D6E5F4000000000006 /* Resources */,
  305. CC066F5A1023EDB077FDD88E /* ViewModels */,
  306. DA204128E169127A0B8C4B30 /* App */,
  307. 2626EC2897F60B86D833D875 /* Models */,
  308. 7B90B8D292E18F60A02CDFE2 /* Views */,
  309. B33580BE3AF0DC9085B1D3A1 /* Services */,
  310. );
  311. path = CelestiaTrace;
  312. sourceTree = "<group>";
  313. };
  314. B7A7A2A0082F059CCD6BE791 /* Settings */ = {
  315. isa = PBXGroup;
  316. children = (
  317. 4883D42730E6133FCC3C81C2 /* SettingsView.swift */,
  318. );
  319. path = Settings;
  320. sourceTree = "<group>";
  321. };
  322. BC1D87D6D1785EA7D6AA6AF7 /* Recording */ = {
  323. isa = PBXGroup;
  324. children = (
  325. B7B9693BD9924C08A1F2ECD1 /* ActiveRecordingView.swift */,
  326. 1189E47F735DDB40D1E741E6 /* LiveWaveformView.swift */,
  327. );
  328. path = Recording;
  329. sourceTree = "<group>";
  330. };
  331. CC066F5A1023EDB077FDD88E /* ViewModels */ = {
  332. isa = PBXGroup;
  333. children = (
  334. E528009D607763F9E68EFBAD /* PlaybackViewModel.swift */,
  335. 64180D833523B84195EE7E2A /* RecordingViewModel.swift */,
  336. );
  337. path = ViewModels;
  338. sourceTree = "<group>";
  339. };
  340. D9CB1BAF8E8DB5E4E073CC77 = {
  341. isa = PBXGroup;
  342. children = (
  343. 2297351526BD0F24ED0714A0 /* Products */,
  344. 565448EB878982B445E267AF /* Frameworks */,
  345. B5CB52A86415BBB0B9DCE932 /* CelestiaTrace */,
  346. 32200F0540C3761CA9D1495A /* CelestiaTraceTests */,
  347. );
  348. sourceTree = "<group>";
  349. };
  350. DA204128E169127A0B8C4B30 /* App */ = {
  351. isa = PBXGroup;
  352. children = (
  353. 95AF20E8EF4319BBEBA608C1 /* ColorTheme.swift */,
  354. 628549E7FC16C58A15C9E1B7 /* CelestiaTraceApp.swift */,
  355. );
  356. path = App;
  357. sourceTree = "<group>";
  358. };
  359. DB59940538488B1E753621A8 /* Network */ = {
  360. isa = PBXGroup;
  361. children = (
  362. 7F2D8AEE2E58FE0F2EF531D0 /* NetworkServiceProtocol.swift */,
  363. 24923AF5D038F81EB3248A4C /* MockNetworkService.swift */,
  364. );
  365. path = Network;
  366. sourceTree = "<group>";
  367. };
  368. F7861FD2C1283A2FC2FDB934 /* Devices */ = {
  369. isa = PBXGroup;
  370. children = (
  371. F8CB67D1B2BDECAA772F3935 /* DeviceListView.swift */,
  372. E7063E6702335B02B65775F4 /* DeviceScanView.swift */,
  373. );
  374. path = Devices;
  375. sourceTree = "<group>";
  376. };
  377. FD4D76A3358AAF1519C279F1 /* Audio */ = {
  378. isa = PBXGroup;
  379. children = (
  380. A1B2C3D4E5F6012345678902 /* AudioPathHelper.swift */,
  381. AEED3C75367F66D6D6CE745D /* SilenceDetector.swift */,
  382. DB09EA3EE9CFFADB34B5B43A /* RecordingEnvironmentDetector.swift */,
  383. 977EB01CFA491A1573D7CF22 /* RealAudioRecorder.swift */,
  384. 4B407473A307EEAF2CB5EE94 /* AudioRecorderProtocol.swift */,
  385. );
  386. path = Audio;
  387. sourceTree = "<group>";
  388. };
  389. /* End PBXGroup section */
  390. /* Begin PBXNativeTarget section */
  391. D5681575EDB1ABEE4093C509 /* CelestiaTraceTests */ = {
  392. isa = PBXNativeTarget;
  393. buildConfigurationList = 0E7E08AA696927CB2EBFCE00 /* Build configuration list for PBXNativeTarget "CelestiaTraceTests" */;
  394. buildPhases = (
  395. 1F77E010196A2F5F89E27F19 /* Sources */,
  396. 41887A64604410C0C61AEBD5 /* Frameworks */,
  397. D875758EF038ED00E0A14D96 /* Resources */,
  398. );
  399. buildRules = (
  400. );
  401. dependencies = (
  402. 6F0B632A5E411D7F9FFE0767 /* PBXTargetDependency */,
  403. );
  404. name = CelestiaTraceTests;
  405. productName = CelestiaTraceTests;
  406. productReference = 71729F8F4A48D77C1898C27B /* CelestiaTraceTests.xctest */;
  407. productType = "com.apple.product-type.bundle.unit-test";
  408. };
  409. EC79DCF0EBB2620B0FC21573 /* CelestiaTrace */ = {
  410. isa = PBXNativeTarget;
  411. buildConfigurationList = 902A4F79574BE80E9469463E /* Build configuration list for PBXNativeTarget "CelestiaTrace" */;
  412. buildPhases = (
  413. 9E60C6991F09AB5E80EF4283 /* Sources */,
  414. 6FF5C5F71B01A15E70EBC20C /* Frameworks */,
  415. 2B844E255303FD43D7D16A02 /* Resources */,
  416. );
  417. buildRules = (
  418. );
  419. dependencies = (
  420. );
  421. name = CelestiaTrace;
  422. productName = CelestiaTrace;
  423. productReference = DB56F0DFCB1FE77D7636B43D /* CelestiaTrace.app */;
  424. productType = "com.apple.product-type.application";
  425. };
  426. /* End PBXNativeTarget section */
  427. /* Begin PBXProject section */
  428. 979128538DFF0B361F857241 /* Project object */ = {
  429. isa = PBXProject;
  430. attributes = {
  431. LastSwiftUpdateCheck = 1600;
  432. LastUpgradeCheck = 1600;
  433. TargetAttributes = {
  434. EC79DCF0EBB2620B0FC21573 = {
  435. DevelopmentTeam = 5ERVQEJ497;
  436. ProvisioningStyle = Automatic;
  437. };
  438. };
  439. };
  440. buildConfigurationList = C378CBFE73C70F1388740C61 /* Build configuration list for PBXProject "CelestiaTrace" */;
  441. compatibilityVersion = "Xcode 3.2";
  442. developmentRegion = en;
  443. hasScannedForEncodings = 0;
  444. knownRegions = (
  445. en,
  446. Base,
  447. );
  448. mainGroup = D9CB1BAF8E8DB5E4E073CC77;
  449. productRefGroup = 2297351526BD0F24ED0714A0 /* Products */;
  450. projectDirPath = "";
  451. projectRoot = "";
  452. targets = (
  453. EC79DCF0EBB2620B0FC21573 /* CelestiaTrace */,
  454. D5681575EDB1ABEE4093C509 /* CelestiaTraceTests */,
  455. );
  456. };
  457. /* End PBXProject section */
  458. /* Begin PBXResourcesBuildPhase section */
  459. 2B844E255303FD43D7D16A02 /* Resources */ = {
  460. isa = PBXResourcesBuildPhase;
  461. buildActionMask = 2147483647;
  462. files = (
  463. A9B8C7D6E5F4000000000003 /* Assets.xcassets in Resources */,
  464. A9B8C7D6E5F4000000000007 /* LaunchScreen.storyboard in Resources */,
  465. );
  466. runOnlyForDeploymentPostprocessing = 0;
  467. };
  468. D875758EF038ED00E0A14D96 /* Resources */ = {
  469. isa = PBXResourcesBuildPhase;
  470. buildActionMask = 2147483647;
  471. files = (
  472. );
  473. runOnlyForDeploymentPostprocessing = 0;
  474. };
  475. /* End PBXResourcesBuildPhase section */
  476. /* Begin PBXSourcesBuildPhase section */
  477. 1F77E010196A2F5F89E27F19 /* Sources */ = {
  478. isa = PBXSourcesBuildPhase;
  479. buildActionMask = 2147483647;
  480. files = (
  481. );
  482. runOnlyForDeploymentPostprocessing = 0;
  483. };
  484. 9E60C6991F09AB5E80EF4283 /* Sources */ = {
  485. isa = PBXSourcesBuildPhase;
  486. buildActionMask = 2147483647;
  487. files = (
  488. A9B8C7D6E5F4000000000001 /* SplashView.swift in Sources */,
  489. BE12EF8734ABF645B2B28BBB /* PlaybackViewModel.swift in Sources */,
  490. 96791550D01A4FD10EEB9BA3 /* RecordingViewModel.swift in Sources */,
  491. E78FC729614A4C93C97D564D /* ColorTheme.swift in Sources */,
  492. 3A7E453FDCA5DA9F96194B23 /* CelestiaTraceApp.swift in Sources */,
  493. 490825791613AC52D06ECFA7 /* CelestiaSession.swift in Sources */,
  494. A3F43A5200A626CBFB70395E /* CelestiaTimelineEvent.swift in Sources */,
  495. 93F943133BCD792D991AA8E3 /* AudioChunk.swift in Sources */,
  496. C8794B9720CD85F518A82473 /* BoundDevice.swift in Sources */,
  497. 24472E311A9EB0785297B008 /* UserAccount.swift in Sources */,
  498. FD30DBB57E19055AB8F0A956 /* SettingsView.swift in Sources */,
  499. 9BDA680497BF5DD72A7BA8F3 /* HomeView.swift in Sources */,
  500. 58EFA65370C61ED9A8EE6627 /* ActiveRecordingView.swift in Sources */,
  501. 8B5C51BB4474283BDF4ADACB /* LiveWaveformView.swift in Sources */,
  502. 75AE08DD135D81A3E19190EE /* DiscreetWarningBanner.swift in Sources */,
  503. F5035B942DE1FEC10515D9D6 /* ImagePicker.swift in Sources */,
  504. 2FD7EE603C849E281034CDD8 /* SyncAuthPromptModal.swift in Sources */,
  505. AF09E026C9AB15874D870E1F /* PulsingRecordButton.swift in Sources */,
  506. 2C16272F61F8B36A2EF69129 /* SessionDetailView.swift in Sources */,
  507. DDC0D9C4883B4861CBC74C39 /* ChronoFeedRow.swift in Sources */,
  508. 9E4554980E7FF484BF400458 /* MultiTrackTimeline.swift in Sources */,
  509. 15EAFA0DBF80C789F02C5119 /* ProfileView.swift in Sources */,
  510. 36E871DAD9477A21AE2F01B7 /* AuthModalView.swift in Sources */,
  511. C2807F9F2794AFA8BF03F104 /* ChangePasswordModalView.swift in Sources */,
  512. 403219D9D8C972EC2AA8F84E /* EditProfileModalView.swift in Sources */,
  513. 44732C9690578EEFC6840D05 /* DeviceListView.swift in Sources */,
  514. 9C5A0C9CDFCB8CFB10FF0B06 /* DeviceScanView.swift in Sources */,
  515. B262A6AF17A835DB666B2FAB /* SessionListView.swift in Sources */,
  516. 4F4476444CB6838B2BE6EE87 /* ContentView.swift in Sources */,
  517. 8FF835BDBD2A0E3551462510 /* LocalAuthRepository.swift in Sources */,
  518. 26D05B0A440FC9B26E89E4F0 /* AuthServiceProtocol.swift in Sources */,
  519. F3CB51CC262E0F4929EB129B /* RemoteAuthServiceStub.swift in Sources */,
  520. 7CA015A965BD30FAB3A92507 /* AuthManager.swift in Sources */,
  521. 24D8D6477ED27DF7009D383C /* HapticManager.swift in Sources */,
  522. 1A9161A601EB0954CD4B8A76 /* NetworkServiceProtocol.swift in Sources */,
  523. 10EAADFFB07A1A8721B25D6B /* MockNetworkService.swift in Sources */,
  524. 503E109CBBC69E3015AE37A3 /* SilenceDetector.swift in Sources */,
  525. 128B1C7150980D1FBE511B79 /* RecordingEnvironmentDetector.swift in Sources */,
  526. CD45B55AB993D054E50A43BE /* RealAudioRecorder.swift in Sources */,
  527. F385E2FCB06D39917F51846E /* AudioRecorderProtocol.swift in Sources */,
  528. A1B2C3D4E5F6012345678901 /* AudioPathHelper.swift in Sources */,
  529. 8FBEE86CDB9635710EF85F1B /* BLEManager.swift in Sources */,
  530. );
  531. runOnlyForDeploymentPostprocessing = 0;
  532. };
  533. /* End PBXSourcesBuildPhase section */
  534. /* Begin PBXTargetDependency section */
  535. 6F0B632A5E411D7F9FFE0767 /* PBXTargetDependency */ = {
  536. isa = PBXTargetDependency;
  537. name = CelestiaTrace;
  538. target = EC79DCF0EBB2620B0FC21573 /* CelestiaTrace */;
  539. targetProxy = 55C3FF8383E750C9C9453EC5 /* PBXContainerItemProxy */;
  540. };
  541. /* End PBXTargetDependency section */
  542. /* Begin XCBuildConfiguration section */
  543. 76F4E0F0A78EC9D84B954B50 /* Debug */ = {
  544. isa = XCBuildConfiguration;
  545. buildSettings = {
  546. ALWAYS_SEARCH_USER_PATHS = NO;
  547. CLANG_ANALYZER_NONNULL = YES;
  548. CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
  549. CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
  550. CLANG_CXX_LIBRARY = "libc++";
  551. CLANG_ENABLE_MODULES = YES;
  552. CLANG_ENABLE_OBJC_ARC = YES;
  553. CLANG_ENABLE_OBJC_WEAK = YES;
  554. CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  555. CLANG_WARN_BOOL_CONVERSION = YES;
  556. CLANG_WARN_COMMA = YES;
  557. CLANG_WARN_CONSTANT_CONVERSION = YES;
  558. CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
  559. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  560. CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  561. CLANG_WARN_EMPTY_BODY = YES;
  562. CLANG_WARN_ENUM_CONVERSION = YES;
  563. CLANG_WARN_INFINITE_RECURSION = YES;
  564. CLANG_WARN_INT_CONVERSION = YES;
  565. CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  566. CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
  567. CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  568. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  569. CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
  570. CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  571. CLANG_WARN_STRICT_PROTOTYPES = YES;
  572. CLANG_WARN_SUSPICIOUS_MOVE = YES;
  573. CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
  574. CLANG_WARN_UNREACHABLE_CODE = YES;
  575. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  576. COPY_PHASE_STRIP = NO;
  577. DEBUG_INFORMATION_FORMAT = dwarf;
  578. ENABLE_STRICT_OBJC_MSGSEND = YES;
  579. ENABLE_TESTABILITY = YES;
  580. GCC_C_LANGUAGE_STANDARD = gnu11;
  581. GCC_DYNAMIC_NO_PIC = NO;
  582. GCC_NO_COMMON_BLOCKS = YES;
  583. GCC_OPTIMIZATION_LEVEL = 0;
  584. GCC_PREPROCESSOR_DEFINITIONS = (
  585. "DEBUG=1",
  586. "$(inherited)",
  587. );
  588. GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  589. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  590. GCC_WARN_UNDECLARED_SELECTOR = YES;
  591. GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  592. GCC_WARN_UNUSED_FUNCTION = YES;
  593. GCC_WARN_UNUSED_VARIABLE = YES;
  594. MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
  595. MTL_FAST_MATH = YES;
  596. ONLY_ACTIVE_ARCH = YES;
  597. PRODUCT_NAME = "$(TARGET_NAME)";
  598. SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
  599. SWIFT_OPTIMIZATION_LEVEL = "-Onone";
  600. SWIFT_VERSION = 5.0;
  601. };
  602. name = Debug;
  603. };
  604. 95AB591F506D02959044D749 /* Debug */ = {
  605. isa = XCBuildConfiguration;
  606. buildSettings = {
  607. ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  608. ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
  609. CLANG_ENABLE_OBJC_WEAK = NO;
  610. CODE_SIGN_STYLE = Automatic;
  611. CURRENT_PROJECT_VERSION = 1;
  612. DEVELOPMENT_ASSET_PATHS = "\"\"";
  613. DEVELOPMENT_TEAM = 5ERVQEJ497;
  614. GENERATE_INFOPLIST_FILE = NO;
  615. INFOPLIST_FILE = CelestiaTrace/Resources/Info.plist;
  616. INFOPLIST_KEY_CFBundleDisplayName = "星痕";
  617. INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "需要蓝牙权限以扫描和绑定 BLE 录音设备";
  618. INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription = "需要蓝牙权限以与录音设备传输数据";
  619. INFOPLIST_KEY_NSCameraUsageDescription = "需要相机权限以在现场录制中拍摄照片记录";
  620. INFOPLIST_KEY_NSMicrophoneUsageDescription = "需要麦克风权限以进行会议现场的音轨录音";
  621. INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "需要相册权限以选择照片记录";
  622. INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
  623. INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
  624. IPHONEOS_DEPLOYMENT_TARGET = 17.0;
  625. LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
  626. MARKETING_VERSION = 1.0.0;
  627. PRODUCT_BUNDLE_IDENTIFIER = com.celestia.trace;
  628. SDKROOT = iphoneos;
  629. SWIFT_VERSION = 5.9;
  630. TARGETED_DEVICE_FAMILY = 1;
  631. };
  632. name = Debug;
  633. };
  634. B1CCB86EBE298ADE0B572050 /* Release */ = {
  635. isa = XCBuildConfiguration;
  636. buildSettings = {
  637. ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  638. ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
  639. CLANG_ENABLE_OBJC_WEAK = NO;
  640. CODE_SIGN_STYLE = Automatic;
  641. CURRENT_PROJECT_VERSION = 1;
  642. DEVELOPMENT_ASSET_PATHS = "\"\"";
  643. DEVELOPMENT_TEAM = 5ERVQEJ497;
  644. GENERATE_INFOPLIST_FILE = NO;
  645. INFOPLIST_FILE = CelestiaTrace/Resources/Info.plist;
  646. INFOPLIST_KEY_CFBundleDisplayName = "星痕";
  647. INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "需要蓝牙权限以扫描和绑定 BLE 录音设备";
  648. INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription = "需要蓝牙权限以与录音设备传输数据";
  649. INFOPLIST_KEY_NSCameraUsageDescription = "需要相机权限以在现场录制中拍摄照片记录";
  650. INFOPLIST_KEY_NSMicrophoneUsageDescription = "需要麦克风权限以进行会议现场的音轨录音";
  651. INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "需要相册权限以选择照片记录";
  652. INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
  653. INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
  654. IPHONEOS_DEPLOYMENT_TARGET = 17.0;
  655. LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
  656. MARKETING_VERSION = 1.0.0;
  657. PRODUCT_BUNDLE_IDENTIFIER = com.celestia.trace;
  658. SDKROOT = iphoneos;
  659. SWIFT_VERSION = 5.9;
  660. TARGETED_DEVICE_FAMILY = 1;
  661. VALIDATE_PRODUCT = YES;
  662. };
  663. name = Release;
  664. };
  665. B827886CD5B378B8C90638F7 /* Release */ = {
  666. isa = XCBuildConfiguration;
  667. buildSettings = {
  668. BUNDLE_LOADER = "$(TEST_HOST)";
  669. CLANG_ENABLE_OBJC_WEAK = NO;
  670. GENERATE_INFOPLIST_FILE = YES;
  671. IPHONEOS_DEPLOYMENT_TARGET = 17.0;
  672. SDKROOT = iphoneos;
  673. SWIFT_VERSION = 5.9;
  674. TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CelestiaTrace.app/CelestiaTrace";
  675. TEST_TARGET_NAME = CelestiaTrace;
  676. VALIDATE_PRODUCT = YES;
  677. };
  678. name = Release;
  679. };
  680. BCD7DB2413FD475C8DCF0B12 /* Release */ = {
  681. isa = XCBuildConfiguration;
  682. buildSettings = {
  683. ALWAYS_SEARCH_USER_PATHS = NO;
  684. CLANG_ANALYZER_NONNULL = YES;
  685. CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
  686. CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
  687. CLANG_CXX_LIBRARY = "libc++";
  688. CLANG_ENABLE_MODULES = YES;
  689. CLANG_ENABLE_OBJC_ARC = YES;
  690. CLANG_ENABLE_OBJC_WEAK = YES;
  691. CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  692. CLANG_WARN_BOOL_CONVERSION = YES;
  693. CLANG_WARN_COMMA = YES;
  694. CLANG_WARN_CONSTANT_CONVERSION = YES;
  695. CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
  696. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  697. CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  698. CLANG_WARN_EMPTY_BODY = YES;
  699. CLANG_WARN_ENUM_CONVERSION = YES;
  700. CLANG_WARN_INFINITE_RECURSION = YES;
  701. CLANG_WARN_INT_CONVERSION = YES;
  702. CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  703. CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
  704. CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  705. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  706. CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
  707. CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  708. CLANG_WARN_STRICT_PROTOTYPES = YES;
  709. CLANG_WARN_SUSPICIOUS_MOVE = YES;
  710. CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
  711. CLANG_WARN_UNREACHABLE_CODE = YES;
  712. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  713. COPY_PHASE_STRIP = NO;
  714. DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  715. ENABLE_NS_ASSERTIONS = NO;
  716. ENABLE_STRICT_OBJC_MSGSEND = YES;
  717. GCC_C_LANGUAGE_STANDARD = gnu11;
  718. GCC_NO_COMMON_BLOCKS = YES;
  719. GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  720. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  721. GCC_WARN_UNDECLARED_SELECTOR = YES;
  722. GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  723. GCC_WARN_UNUSED_FUNCTION = YES;
  724. GCC_WARN_UNUSED_VARIABLE = YES;
  725. MTL_ENABLE_DEBUG_INFO = NO;
  726. MTL_FAST_MATH = YES;
  727. PRODUCT_NAME = "$(TARGET_NAME)";
  728. SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
  729. SWIFT_VERSION = 5.0;
  730. };
  731. name = Release;
  732. };
  733. D16E5B27804289B138250469 /* Debug */ = {
  734. isa = XCBuildConfiguration;
  735. buildSettings = {
  736. BUNDLE_LOADER = "$(TEST_HOST)";
  737. CLANG_ENABLE_OBJC_WEAK = NO;
  738. GENERATE_INFOPLIST_FILE = YES;
  739. IPHONEOS_DEPLOYMENT_TARGET = 17.0;
  740. SDKROOT = iphoneos;
  741. SWIFT_VERSION = 5.9;
  742. TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CelestiaTrace.app/CelestiaTrace";
  743. TEST_TARGET_NAME = CelestiaTrace;
  744. };
  745. name = Debug;
  746. };
  747. /* End XCBuildConfiguration section */
  748. /* Begin XCConfigurationList section */
  749. 0E7E08AA696927CB2EBFCE00 /* Build configuration list for PBXNativeTarget "CelestiaTraceTests" */ = {
  750. isa = XCConfigurationList;
  751. buildConfigurations = (
  752. B827886CD5B378B8C90638F7 /* Release */,
  753. D16E5B27804289B138250469 /* Debug */,
  754. );
  755. defaultConfigurationIsVisible = 0;
  756. defaultConfigurationName = Release;
  757. };
  758. 902A4F79574BE80E9469463E /* Build configuration list for PBXNativeTarget "CelestiaTrace" */ = {
  759. isa = XCConfigurationList;
  760. buildConfigurations = (
  761. B1CCB86EBE298ADE0B572050 /* Release */,
  762. 95AB591F506D02959044D749 /* Debug */,
  763. );
  764. defaultConfigurationIsVisible = 0;
  765. defaultConfigurationName = Release;
  766. };
  767. C378CBFE73C70F1388740C61 /* Build configuration list for PBXProject "CelestiaTrace" */ = {
  768. isa = XCConfigurationList;
  769. buildConfigurations = (
  770. 76F4E0F0A78EC9D84B954B50 /* Debug */,
  771. BCD7DB2413FD475C8DCF0B12 /* Release */,
  772. );
  773. defaultConfigurationIsVisible = 0;
  774. defaultConfigurationName = Release;
  775. };
  776. /* End XCConfigurationList section */
  777. };
  778. rootObject = 979128538DFF0B361F857241 /* Project object */;
  779. }