Source code for the WriteFreely SwiftUI app for iOS, iPadOS, and macOS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1499 lines
83 KiB

  1. // !$*UTF8*$!
  2. {
  3. archiveVersion = 1;
  4. classes = {
  5. };
  6. objectVersion = 52;
  7. objects = {
  8. /* Begin PBXBuildFile section */
  9. 170A7EC126F5186A00F1CBD4 /* CollectionListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 170A7EC026F5186A00F1CBD4 /* CollectionListModel.swift */; };
  10. 170A7EC226F5186A00F1CBD4 /* CollectionListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 170A7EC026F5186A00F1CBD4 /* CollectionListModel.swift */; };
  11. 170DFA34251BBC44001D82A0 /* PostEditorModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 170DFA33251BBC44001D82A0 /* PostEditorModel.swift */; };
  12. 170DFA35251BBC44001D82A0 /* PostEditorModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 170DFA33251BBC44001D82A0 /* PostEditorModel.swift */; };
  13. 17120DA124E19839002B9F6C /* AccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17A5388D24DDEC7400DEFF9A /* AccountView.swift */; };
  14. 17120DA224E1985C002B9F6C /* AccountModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17A5388B24DDC83F00DEFF9A /* AccountModel.swift */; };
  15. 17120DA324E19A42002B9F6C /* PreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17A5389124DDED0000DEFF9A /* PreferencesView.swift */; };
  16. 17120DA724E19D11002B9F6C /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17120DA424E19CBF002B9F6C /* SettingsView.swift */; };
  17. 17120DA924E1B2F5002B9F6C /* AccountLogoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17120DA824E1B2F5002B9F6C /* AccountLogoutView.swift */; };
  18. 17120DAA24E1B2F5002B9F6C /* AccountLogoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17120DA824E1B2F5002B9F6C /* AccountLogoutView.swift */; };
  19. 17120DAC24E1B99F002B9F6C /* AccountLoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17120DAB24E1B99F002B9F6C /* AccountLoginView.swift */; };
  20. 17120DAD24E1B99F002B9F6C /* AccountLoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17120DAB24E1B99F002B9F6C /* AccountLoginView.swift */; };
  21. 17120DB224E1E19C002B9F6C /* SettingsHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17120DB124E1E19C002B9F6C /* SettingsHeaderView.swift */; };
  22. 171BFDFA24D4AF8300888236 /* CollectionListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 171BFDF924D4AF8300888236 /* CollectionListView.swift */; };
  23. 171BFDFB24D4AF8300888236 /* CollectionListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 171BFDF924D4AF8300888236 /* CollectionListView.swift */; };
  24. 171DC677272C7D0B002B9B8A /* UserDefaults+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 171DC676272C7D0B002B9B8A /* UserDefaults+Extensions.swift */; };
  25. 171DC678272C7D0B002B9B8A /* UserDefaults+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 171DC676272C7D0B002B9B8A /* UserDefaults+Extensions.swift */; };
  26. 172C492E2593981900E20ADF /* MacUpdatesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 172C492D2593981900E20ADF /* MacUpdatesView.swift */; };
  27. 172E10012735B83E00061372 /* UniformTypeIdentifiers.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 172E10002735B83E00061372 /* UniformTypeIdentifiers.framework */; platformFilter = maccatalyst; };
  28. 172E10042735B83E00061372 /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 172E10032735B83E00061372 /* Media.xcassets */; };
  29. 172E10062735B83E00061372 /* ActionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 172E10052735B83E00061372 /* ActionViewController.swift */; };
  30. 172E100D2735B83E00061372 /* ActionExtension-iOS.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 172E0FFF2735B83E00061372 /* ActionExtension-iOS.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
  31. 172E10132735BB6200061372 /* Action.js in Resources */ = {isa = PBXBuildFile; fileRef = 172E10122735BB6200061372 /* Action.js */; };
  32. 172E10152735C2BD00061372 /* UIHostingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 172E10142735C2BD00061372 /* UIHostingView.swift */; };
  33. 172E10172735C2DF00061372 /* EnvironmentValues+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 172E10162735C2DF00061372 /* EnvironmentValues+Extensions.swift */; };
  34. 172E10192735C3DB00061372 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 172E10182735C3DB00061372 /* ContentView.swift */; };
  35. 172E101C2735C57400061372 /* LocalStorageManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756DBB924FED45500207AB8 /* LocalStorageManager.swift */; };
  36. 172E101D2735C5AB00061372 /* LocalStorageModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1756DBB524FED3A400207AB8 /* LocalStorageModel.xcdatamodeld */; };
  37. 172E101E2735C62F00061372 /* PostStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17C42E612507D8E600072984 /* PostStatus.swift */; };
  38. 172E101F2735C64600061372 /* WFAPost+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B996D62502D23E0017B536 /* WFAPost+CoreDataClass.swift */; };
  39. 172E10202735C64600061372 /* WFACollection+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756DBFF24FEE18400207AB8 /* WFACollection+CoreDataClass.swift */; };
  40. 172E10212735C64600061372 /* WFACollection+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756DC0024FEE18400207AB8 /* WFACollection+CoreDataProperties.swift */; };
  41. 172E10222735C64600061372 /* WFAPost+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B996D72502D23E0017B536 /* WFAPost+CoreDataProperties.swift */; };
  42. 172E10232735C6FF00061372 /* NSManagedObjectContext+ExecuteAndMergeChanges.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17C42E6F250AA12200072984 /* NSManagedObjectContext+ExecuteAndMergeChanges.swift */; };
  43. 172E10242735C72500061372 /* PreferencesModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17D435E724E3128F0036B539 /* PreferencesModel.swift */; };
  44. 173E19D1254318F600440F0F /* RemoteChangePromptView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 173E19D0254318F600440F0F /* RemoteChangePromptView.swift */; };
  45. 173E19E3254329CC00440F0F /* PostTextEditingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 173E19E2254329CC00440F0F /* PostTextEditingView.swift */; };
  46. 17466626256C0D0600629997 /* MacEditorTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17466625256C0D0600629997 /* MacEditorTextView.swift */; };
  47. 17479F152583D8E40072B7FB /* PostEditorSharingPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17479F142583D8E40072B7FB /* PostEditorSharingPicker.swift */; };
  48. 17480CA5251272EE00EB7765 /* Bundle+AppVersion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17480CA4251272EE00EB7765 /* Bundle+AppVersion.swift */; };
  49. 17480CA6251272EE00EB7765 /* Bundle+AppVersion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17480CA4251272EE00EB7765 /* Bundle+AppVersion.swift */; };
  50. 174D313224EC2831006CA9EE /* WriteFreelyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 174D313124EC2831006CA9EE /* WriteFreelyModel.swift */; };
  51. 174D313324EC2831006CA9EE /* WriteFreelyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 174D313124EC2831006CA9EE /* WriteFreelyModel.swift */; };
  52. 1753F6AC24E431CC00309365 /* MacPreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1753F6AB24E431CC00309365 /* MacPreferencesView.swift */; };
  53. 1756AE6E24CB255B00FD7257 /* PostListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756AE6D24CB255B00FD7257 /* PostListModel.swift */; };
  54. 1756AE6F24CB255B00FD7257 /* PostListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756AE6D24CB255B00FD7257 /* PostListModel.swift */; };
  55. 1756AE7424CB26FA00FD7257 /* PostCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756AE7324CB26FA00FD7257 /* PostCellView.swift */; };
  56. 1756AE7524CB26FA00FD7257 /* PostCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756AE7324CB26FA00FD7257 /* PostCellView.swift */; };
  57. 1756AE7724CB2EDD00FD7257 /* PostEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756AE7624CB2EDD00FD7257 /* PostEditorView.swift */; };
  58. 1756AE7A24CB65DF00FD7257 /* PostListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756AE7924CB65DF00FD7257 /* PostListView.swift */; };
  59. 1756AE7B24CB65DF00FD7257 /* PostListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756AE7924CB65DF00FD7257 /* PostListView.swift */; };
  60. 1756AE8124CB844500FD7257 /* View+Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756AE8024CB844500FD7257 /* View+Keyboard.swift */; };
  61. 1756DBB324FECDBB00207AB8 /* PostEditorStatusToolbarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756DBB224FECDBB00207AB8 /* PostEditorStatusToolbarView.swift */; };
  62. 1756DBB424FECDBB00207AB8 /* PostEditorStatusToolbarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756DBB224FECDBB00207AB8 /* PostEditorStatusToolbarView.swift */; };
  63. 1756DBB724FED3A400207AB8 /* LocalStorageModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1756DBB524FED3A400207AB8 /* LocalStorageModel.xcdatamodeld */; };
  64. 1756DBB824FED3A400207AB8 /* LocalStorageModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1756DBB524FED3A400207AB8 /* LocalStorageModel.xcdatamodeld */; };
  65. 1756DBBA24FED45500207AB8 /* LocalStorageManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756DBB924FED45500207AB8 /* LocalStorageManager.swift */; };
  66. 1756DBBB24FED45500207AB8 /* LocalStorageManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756DBB924FED45500207AB8 /* LocalStorageManager.swift */; };
  67. 1756DC0124FEE18400207AB8 /* WFACollection+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756DBFF24FEE18400207AB8 /* WFACollection+CoreDataClass.swift */; };
  68. 1756DC0224FEE18400207AB8 /* WFACollection+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756DBFF24FEE18400207AB8 /* WFACollection+CoreDataClass.swift */; };
  69. 1756DC0324FEE18400207AB8 /* WFACollection+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756DC0024FEE18400207AB8 /* WFACollection+CoreDataProperties.swift */; };
  70. 1756DC0424FEE18400207AB8 /* WFACollection+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1756DC0024FEE18400207AB8 /* WFACollection+CoreDataProperties.swift */; };
  71. 1780F6EF25895EDB00FE45FF /* PostCommands.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1780F6EE25895EDB00FE45FF /* PostCommands.swift */; };
  72. 17836C14273EFB870047AF61 /* UserDefaults+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 171DC676272C7D0B002B9B8A /* UserDefaults+Extensions.swift */; };
  73. 17836C15273F0FBB0047AF61 /* Hack-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 17D4F3A42514F1E900517CE6 /* Hack-Regular.ttf */; };
  74. 17836C16273F0FBB0047AF61 /* LoraGX.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 17D4F36B2514EE2F00517CE6 /* LoraGX.ttf */; };
  75. 17836C17273F0FBB0047AF61 /* OpenSans-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 17D4F39D2514F0E500517CE6 /* OpenSans-Regular.ttf */; };
  76. 1784D2ED27946D880033E72E /* WriteFreely in Frameworks */ = {isa = PBXBuildFile; productRef = 1784D2EC27946D880033E72E /* WriteFreely */; };
  77. 1784D2EF27946D9A0033E72E /* WriteFreely in Frameworks */ = {isa = PBXBuildFile; productRef = 1784D2EE27946D9A0033E72E /* WriteFreely */; };
  78. 1784D2F127946DA10033E72E /* WriteFreely in Frameworks */ = {isa = PBXBuildFile; productRef = 1784D2F027946DA10033E72E /* WriteFreely */; };
  79. 17A4FEED25927E730037E96B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17A4FEEC25927E730037E96B /* AppDelegate.swift */; };
  80. 17A5388824DDA31F00DEFF9A /* MacAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17A5388724DDA31F00DEFF9A /* MacAccountView.swift */; };
  81. 17A5388C24DDC83F00DEFF9A /* AccountModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17A5388B24DDC83F00DEFF9A /* AccountModel.swift */; };
  82. 17A5388F24DDEC7400DEFF9A /* AccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17A5388D24DDEC7400DEFF9A /* AccountView.swift */; };
  83. 17A5389324DDED0000DEFF9A /* PreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17A5389124DDED0000DEFF9A /* PreferencesView.swift */; };
  84. 17A67CAF251A5DD7002F163D /* PostEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17A67CAE251A5DD7002F163D /* PostEditorView.swift */; };
  85. 17AD0A5E25489E810057D763 /* PostTitleTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17AD0A5D25489E810057D763 /* PostTitleTextView.swift */; };
  86. 17AD0A6425489E900057D763 /* PostBodyTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17AD0A6325489E900057D763 /* PostBodyTextView.swift */; };
  87. 17B37C4B25C8661300FE75E9 /* WriteFreelyModel+Keychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B37C4A25C8661300FE75E9 /* WriteFreelyModel+Keychain.swift */; };
  88. 17B37C4C25C8661300FE75E9 /* WriteFreelyModel+Keychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B37C4A25C8661300FE75E9 /* WriteFreelyModel+Keychain.swift */; };
  89. 17B37C5625C8679800FE75E9 /* WriteFreelyModel+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B37C5525C8679800FE75E9 /* WriteFreelyModel+API.swift */; };
  90. 17B37C5725C8679800FE75E9 /* WriteFreelyModel+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B37C5525C8679800FE75E9 /* WriteFreelyModel+API.swift */; };
  91. 17B37C5D25C8698900FE75E9 /* WriteFreelyModel+APIHandlers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B37C5C25C8698900FE75E9 /* WriteFreelyModel+APIHandlers.swift */; };
  92. 17B37C5E25C8698900FE75E9 /* WriteFreelyModel+APIHandlers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B37C5C25C8698900FE75E9 /* WriteFreelyModel+APIHandlers.swift */; };
  93. 17B3E965250FAA9000EE9748 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 17B3E964250FAA9000EE9748 /* LaunchScreen.storyboard */; };
  94. 17B5103B2515448D00E9631F /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 17B5103A2515448D00E9631F /* Credits.rtf */; };
  95. 17B996D82502D23E0017B536 /* WFAPost+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B996D62502D23E0017B536 /* WFAPost+CoreDataClass.swift */; };
  96. 17B996D92502D23E0017B536 /* WFAPost+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B996D62502D23E0017B536 /* WFAPost+CoreDataClass.swift */; };
  97. 17B996DA2502D23E0017B536 /* WFAPost+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B996D72502D23E0017B536 /* WFAPost+CoreDataProperties.swift */; };
  98. 17B996DB2502D23E0017B536 /* WFAPost+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B996D72502D23E0017B536 /* WFAPost+CoreDataProperties.swift */; };
  99. 17BC618A25715318003363CA /* ActivePostToolbarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17BC617825715068003363CA /* ActivePostToolbarView.swift */; };
  100. 17C42E622507D8E600072984 /* PostStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17C42E612507D8E600072984 /* PostStatus.swift */; };
  101. 17C42E632507D8E600072984 /* PostStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17C42E612507D8E600072984 /* PostStatus.swift */; };
  102. 17C42E652509237800072984 /* PostListFilteredView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17C42E642509237800072984 /* PostListFilteredView.swift */; };
  103. 17C42E662509237800072984 /* PostListFilteredView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17C42E642509237800072984 /* PostListFilteredView.swift */; };
  104. 17C42E70250AA12300072984 /* NSManagedObjectContext+ExecuteAndMergeChanges.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17C42E6F250AA12200072984 /* NSManagedObjectContext+ExecuteAndMergeChanges.swift */; };
  105. 17C42E71250AAFD500072984 /* NSManagedObjectContext+ExecuteAndMergeChanges.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17C42E6F250AA12200072984 /* NSManagedObjectContext+ExecuteAndMergeChanges.swift */; };
  106. 17D435E824E3128F0036B539 /* PreferencesModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17D435E724E3128F0036B539 /* PreferencesModel.swift */; };
  107. 17D435E924E3128F0036B539 /* PreferencesModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17D435E724E3128F0036B539 /* PreferencesModel.swift */; };
  108. 17D4926527947B4D0035BD7E /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = 17D4926427947B4D0035BD7E /* Sparkle */; };
  109. 17D4926727947D780035BD7E /* MacUpdatesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17D4926627947D780035BD7E /* MacUpdatesViewModel.swift */; };
  110. 17D4F36C2514EE2F00517CE6 /* LoraGX.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 17D4F36B2514EE2F00517CE6 /* LoraGX.ttf */; };
  111. 17D4F36D2514EE2F00517CE6 /* LoraGX.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 17D4F36B2514EE2F00517CE6 /* LoraGX.ttf */; };
  112. 17D4F39E2514F0E500517CE6 /* OpenSans-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 17D4F39D2514F0E500517CE6 /* OpenSans-Regular.ttf */; };
  113. 17D4F39F2514F0E500517CE6 /* OpenSans-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 17D4F39D2514F0E500517CE6 /* OpenSans-Regular.ttf */; };
  114. 17D4F3A52514F1E900517CE6 /* Hack-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 17D4F3A42514F1E900517CE6 /* Hack-Regular.ttf */; };
  115. 17D4F3A62514F1E900517CE6 /* Hack-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 17D4F3A42514F1E900517CE6 /* Hack-Regular.ttf */; };
  116. 17DF329D24C87D3500BCE2E3 /* Tests_iOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DF329C24C87D3500BCE2E3 /* Tests_iOS.swift */; };
  117. 17DF32A824C87D3500BCE2E3 /* Tests_macOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DF32A724C87D3500BCE2E3 /* Tests_macOS.swift */; };
  118. 17DF32AA24C87D3500BCE2E3 /* WriteFreely_MultiPlatformApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DF328124C87D3300BCE2E3 /* WriteFreely_MultiPlatformApp.swift */; };
  119. 17DF32AB24C87D3500BCE2E3 /* WriteFreely_MultiPlatformApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DF328124C87D3300BCE2E3 /* WriteFreely_MultiPlatformApp.swift */; };
  120. 17DF32AC24C87D3500BCE2E3 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DF328224C87D3300BCE2E3 /* ContentView.swift */; };
  121. 17DF32AD24C87D3500BCE2E3 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DF328224C87D3300BCE2E3 /* ContentView.swift */; };
  122. 17DF32AE24C87D3500BCE2E3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 17DF328324C87D3500BCE2E3 /* Assets.xcassets */; };
  123. 17DF32AF24C87D3500BCE2E3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 17DF328324C87D3500BCE2E3 /* Assets.xcassets */; };
  124. 17DF32D524C8CA3400BCE2E3 /* PostStatusBadgeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DF32D424C8CA3400BCE2E3 /* PostStatusBadgeView.swift */; };
  125. 17DF32D624C8CA3400BCE2E3 /* PostStatusBadgeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DF32D424C8CA3400BCE2E3 /* PostStatusBadgeView.swift */; };
  126. 17DFDE87251D309400A25F31 /* Hack-License.txt in Resources */ = {isa = PBXBuildFile; fileRef = 17DFDE84251D309400A25F31 /* Hack-License.txt */; };
  127. 17DFDE88251D309400A25F31 /* Hack-License.txt in Resources */ = {isa = PBXBuildFile; fileRef = 17DFDE84251D309400A25F31 /* Hack-License.txt */; };
  128. 17DFDE89251D309400A25F31 /* Lora-Cyrillic-OFL.txt in Resources */ = {isa = PBXBuildFile; fileRef = 17DFDE85251D309400A25F31 /* Lora-Cyrillic-OFL.txt */; };
  129. 17DFDE8A251D309400A25F31 /* Lora-Cyrillic-OFL.txt in Resources */ = {isa = PBXBuildFile; fileRef = 17DFDE85251D309400A25F31 /* Lora-Cyrillic-OFL.txt */; };
  130. 17DFDE8B251D309400A25F31 /* OpenSans-License.txt in Resources */ = {isa = PBXBuildFile; fileRef = 17DFDE86251D309400A25F31 /* OpenSans-License.txt */; };
  131. 17DFDE8C251D309400A25F31 /* OpenSans-License.txt in Resources */ = {isa = PBXBuildFile; fileRef = 17DFDE86251D309400A25F31 /* OpenSans-License.txt */; };
  132. 17E5DF8A2543610700DCDC9B /* PostTextEditingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17E5DF892543610700DCDC9B /* PostTextEditingView.swift */; };
  133. /* End PBXBuildFile section */
  134. /* Begin PBXContainerItemProxy section */
  135. 172E100B2735B83E00061372 /* PBXContainerItemProxy */ = {
  136. isa = PBXContainerItemProxy;
  137. containerPortal = 17DF327C24C87D3300BCE2E3 /* Project object */;
  138. proxyType = 1;
  139. remoteGlobalIDString = 172E0FFE2735B83E00061372;
  140. remoteInfo = "ActionExtension-iOS";
  141. };
  142. 17DF329924C87D3500BCE2E3 /* PBXContainerItemProxy */ = {
  143. isa = PBXContainerItemProxy;
  144. containerPortal = 17DF327C24C87D3300BCE2E3 /* Project object */;
  145. proxyType = 1;
  146. remoteGlobalIDString = 17DF328724C87D3500BCE2E3;
  147. remoteInfo = "WriteFreely-MultiPlatform (iOS)";
  148. };
  149. 17DF32A424C87D3500BCE2E3 /* PBXContainerItemProxy */ = {
  150. isa = PBXContainerItemProxy;
  151. containerPortal = 17DF327C24C87D3300BCE2E3 /* Project object */;
  152. proxyType = 1;
  153. remoteGlobalIDString = 17DF328F24C87D3500BCE2E3;
  154. remoteInfo = "WriteFreely-MultiPlatform (macOS)";
  155. };
  156. /* End PBXContainerItemProxy section */
  157. /* Begin PBXCopyFilesBuildPhase section */
  158. 172E100E2735B83E00061372 /* Embed App Extensions */ = {
  159. isa = PBXCopyFilesBuildPhase;
  160. buildActionMask = 2147483647;
  161. dstPath = "";
  162. dstSubfolderSpec = 13;
  163. files = (
  164. 172E100D2735B83E00061372 /* ActionExtension-iOS.appex in Embed App Extensions */,
  165. );
  166. name = "Embed App Extensions";
  167. runOnlyForDeploymentPostprocessing = 0;
  168. };
  169. /* End PBXCopyFilesBuildPhase section */
  170. /* Begin PBXFileReference section */
  171. 1709ADDF251B9A110053AF79 /* EditorLaunchingPolicy.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = EditorLaunchingPolicy.md; sourceTree = "<group>"; };
  172. 170A7EC026F5186A00F1CBD4 /* CollectionListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectionListModel.swift; sourceTree = "<group>"; };
  173. 170DFA33251BBC44001D82A0 /* PostEditorModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostEditorModel.swift; sourceTree = "<group>"; };
  174. 17120DA424E19CBF002B9F6C /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
  175. 17120DA824E1B2F5002B9F6C /* AccountLogoutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountLogoutView.swift; sourceTree = "<group>"; };
  176. 17120DAB24E1B99F002B9F6C /* AccountLoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountLoginView.swift; sourceTree = "<group>"; };
  177. 17120DB124E1E19C002B9F6C /* SettingsHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsHeaderView.swift; sourceTree = "<group>"; };
  178. 171BFDF924D4AF8300888236 /* CollectionListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectionListView.swift; sourceTree = "<group>"; };
  179. 171DC676272C7D0B002B9B8A /* UserDefaults+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+Extensions.swift"; sourceTree = "<group>"; };
  180. 172C492D2593981900E20ADF /* MacUpdatesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MacUpdatesView.swift; sourceTree = "<group>"; };
  181. 172E0FFF2735B83E00061372 /* ActionExtension-iOS.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "ActionExtension-iOS.appex"; sourceTree = BUILT_PRODUCTS_DIR; };
  182. 172E10002735B83E00061372 /* UniformTypeIdentifiers.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UniformTypeIdentifiers.framework; path = System/Library/Frameworks/UniformTypeIdentifiers.framework; sourceTree = SDKROOT; };
  183. 172E10032735B83E00061372 /* Media.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Media.xcassets; sourceTree = "<group>"; };
  184. 172E10052735B83E00061372 /* ActionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActionViewController.swift; sourceTree = "<group>"; };
  185. 172E100A2735B83E00061372 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; usesTabs = 1; };
  186. 172E10122735BB6200061372 /* Action.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = Action.js; sourceTree = "<group>"; };
  187. 172E10142735C2BD00061372 /* UIHostingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIHostingView.swift; sourceTree = "<group>"; };
  188. 172E10162735C2DF00061372 /* EnvironmentValues+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "EnvironmentValues+Extensions.swift"; sourceTree = "<group>"; };
  189. 172E10182735C3DB00061372 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
  190. 173E19D0254318F600440F0F /* RemoteChangePromptView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RemoteChangePromptView.swift; sourceTree = "<group>"; };
  191. 173E19E2254329CC00440F0F /* PostTextEditingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostTextEditingView.swift; sourceTree = "<group>"; };
  192. 17466625256C0D0600629997 /* MacEditorTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MacEditorTextView.swift; sourceTree = "<group>"; };
  193. 17479F142583D8E40072B7FB /* PostEditorSharingPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostEditorSharingPicker.swift; sourceTree = "<group>"; };
  194. 17480CA4251272EE00EB7765 /* Bundle+AppVersion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Bundle+AppVersion.swift"; sourceTree = "<group>"; };
  195. 174D313124EC2831006CA9EE /* WriteFreelyModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WriteFreelyModel.swift; sourceTree = "<group>"; };
  196. 1753F6AB24E431CC00309365 /* MacPreferencesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MacPreferencesView.swift; sourceTree = "<group>"; };
  197. 1756AE6D24CB255B00FD7257 /* PostListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostListModel.swift; sourceTree = "<group>"; };
  198. 1756AE7324CB26FA00FD7257 /* PostCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostCellView.swift; sourceTree = "<group>"; };
  199. 1756AE7624CB2EDD00FD7257 /* PostEditorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostEditorView.swift; sourceTree = "<group>"; };
  200. 1756AE7924CB65DF00FD7257 /* PostListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostListView.swift; sourceTree = "<group>"; };
  201. 1756AE8024CB844500FD7257 /* View+Keyboard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+Keyboard.swift"; sourceTree = "<group>"; };
  202. 1756DBB224FECDBB00207AB8 /* PostEditorStatusToolbarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostEditorStatusToolbarView.swift; sourceTree = "<group>"; };
  203. 1756DBB624FED3A400207AB8 /* LocalStorageModel.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = LocalStorageModel.xcdatamodel; sourceTree = "<group>"; };
  204. 1756DBB924FED45500207AB8 /* LocalStorageManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalStorageManager.swift; sourceTree = "<group>"; };
  205. 1756DBFF24FEE18400207AB8 /* WFACollection+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WFACollection+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
  206. 1756DC0024FEE18400207AB8 /* WFACollection+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WFACollection+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
  207. 1780F6EE25895EDB00FE45FF /* PostCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostCommands.swift; sourceTree = "<group>"; };
  208. 17836C18273F10C40047AF61 /* ActionExtension-iOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "ActionExtension-iOS.entitlements"; sourceTree = "<group>"; };
  209. 17A355D3271A052C007C7A47 /* WriteFreely-MultiPlatform (iOS).entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "WriteFreely-MultiPlatform (iOS).entitlements"; sourceTree = "<group>"; };
  210. 17A4FEDF25924E810037E96B /* MacSoftwareUpdater.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = MacSoftwareUpdater.md; sourceTree = "<group>"; };
  211. 17A4FEEC25927E730037E96B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
  212. 17A5388724DDA31F00DEFF9A /* MacAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MacAccountView.swift; sourceTree = "<group>"; };
  213. 17A5388B24DDC83F00DEFF9A /* AccountModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountModel.swift; sourceTree = "<group>"; };
  214. 17A5388D24DDEC7400DEFF9A /* AccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountView.swift; sourceTree = "<group>"; };
  215. 17A5389124DDED0000DEFF9A /* PreferencesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesView.swift; sourceTree = "<group>"; };
  216. 17A67CAE251A5DD7002F163D /* PostEditorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostEditorView.swift; sourceTree = "<group>"; };
  217. 17AD0A5D25489E810057D763 /* PostTitleTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostTitleTextView.swift; sourceTree = "<group>"; };
  218. 17AD0A6325489E900057D763 /* PostBodyTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostBodyTextView.swift; sourceTree = "<group>"; };
  219. 17B37C4A25C8661300FE75E9 /* WriteFreelyModel+Keychain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WriteFreelyModel+Keychain.swift"; sourceTree = "<group>"; };
  220. 17B37C5525C8679800FE75E9 /* WriteFreelyModel+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WriteFreelyModel+API.swift"; sourceTree = "<group>"; };
  221. 17B37C5C25C8698900FE75E9 /* WriteFreelyModel+APIHandlers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WriteFreelyModel+APIHandlers.swift"; sourceTree = "<group>"; };
  222. 17B3E964250FAA9000EE9748 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
  223. 17B5103A2515448D00E9631F /* Credits.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = Credits.rtf; sourceTree = "<group>"; };
  224. 17B68D4F25A4FED2005ED37C /* Sparkle-License.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = "Sparkle-License.txt"; sourceTree = "<group>"; };
  225. 17B996D62502D23E0017B536 /* WFAPost+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WFAPost+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
  226. 17B996D72502D23E0017B536 /* WFAPost+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WFAPost+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
  227. 17BC617825715068003363CA /* ActivePostToolbarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivePostToolbarView.swift; sourceTree = "<group>"; };
  228. 17C42E612507D8E600072984 /* PostStatus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostStatus.swift; sourceTree = "<group>"; };
  229. 17C42E642509237800072984 /* PostListFilteredView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostListFilteredView.swift; sourceTree = "<group>"; };
  230. 17C42E6F250AA12200072984 /* NSManagedObjectContext+ExecuteAndMergeChanges.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSManagedObjectContext+ExecuteAndMergeChanges.swift"; sourceTree = "<group>"; };
  231. 17D435E724E3128F0036B539 /* PreferencesModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesModel.swift; sourceTree = "<group>"; };
  232. 17D4926627947D780035BD7E /* MacUpdatesViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MacUpdatesViewModel.swift; sourceTree = "<group>"; };
  233. 17D4F36B2514EE2F00517CE6 /* LoraGX.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = LoraGX.ttf; sourceTree = "<group>"; };
  234. 17D4F39D2514F0E500517CE6 /* OpenSans-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "OpenSans-Regular.ttf"; sourceTree = "<group>"; };
  235. 17D4F3A42514F1E900517CE6 /* Hack-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Hack-Regular.ttf"; sourceTree = "<group>"; };
  236. 17DF328124C87D3300BCE2E3 /* WriteFreely_MultiPlatformApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WriteFreely_MultiPlatformApp.swift; sourceTree = "<group>"; };
  237. 17DF328224C87D3300BCE2E3 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
  238. 17DF328324C87D3500BCE2E3 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
  239. 17DF328824C87D3500BCE2E3 /* WriteFreely-MultiPlatform.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "WriteFreely-MultiPlatform.app"; sourceTree = BUILT_PRODUCTS_DIR; };
  240. 17DF328B24C87D3500BCE2E3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  241. 17DF329024C87D3500BCE2E3 /* WriteFreely for Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "WriteFreely for Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; };
  242. 17DF329224C87D3500BCE2E3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  243. 17DF329324C87D3500BCE2E3 /* macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = macOS.entitlements; sourceTree = "<group>"; };
  244. 17DF329824C87D3500BCE2E3 /* Tests iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
  245. 17DF329C24C87D3500BCE2E3 /* Tests_iOS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests_iOS.swift; sourceTree = "<group>"; };
  246. 17DF329E24C87D3500BCE2E3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  247. 17DF32A324C87D3500BCE2E3 /* Tests macOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests macOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
  248. 17DF32A724C87D3500BCE2E3 /* Tests_macOS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests_macOS.swift; sourceTree = "<group>"; };
  249. 17DF32A924C87D3500BCE2E3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  250. 17DF32C624C884FF00BCE2E3 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
  251. 17DF32C724C8853700BCE2E3 /* CODE_OF_CONDUCT.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CODE_OF_CONDUCT.md; sourceTree = "<group>"; };
  252. 17DF32C824C8854B00BCE2E3 /* CONTRIBUTING.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CONTRIBUTING.md; sourceTree = "<group>"; };
  253. 17DF32C924C8855E00BCE2E3 /* LICENSE.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = LICENSE.md; sourceTree = "<group>"; };
  254. 17DF32CA24C8856C00BCE2E3 /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = "<group>"; };
  255. 17DF32D424C8CA3400BCE2E3 /* PostStatusBadgeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostStatusBadgeView.swift; sourceTree = "<group>"; };
  256. 17DFDE84251D309400A25F31 /* Hack-License.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "Hack-License.txt"; sourceTree = "<group>"; };
  257. 17DFDE85251D309400A25F31 /* Lora-Cyrillic-OFL.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "Lora-Cyrillic-OFL.txt"; sourceTree = "<group>"; };
  258. 17DFDE86251D309400A25F31 /* OpenSans-License.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "OpenSans-License.txt"; sourceTree = "<group>"; };
  259. 17E5DF892543610700DCDC9B /* PostTextEditingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostTextEditingView.swift; sourceTree = "<group>"; };
  260. /* End PBXFileReference section */
  261. /* Begin PBXFrameworksBuildPhase section */
  262. 172E0FFC2735B83E00061372 /* Frameworks */ = {
  263. isa = PBXFrameworksBuildPhase;
  264. buildActionMask = 2147483647;
  265. files = (
  266. 172E10012735B83E00061372 /* UniformTypeIdentifiers.framework in Frameworks */,
  267. 1784D2F127946DA10033E72E /* WriteFreely in Frameworks */,
  268. );
  269. runOnlyForDeploymentPostprocessing = 0;
  270. };
  271. 17DF328524C87D3500BCE2E3 /* Frameworks */ = {
  272. isa = PBXFrameworksBuildPhase;
  273. buildActionMask = 2147483647;
  274. files = (
  275. 1784D2ED27946D880033E72E /* WriteFreely in Frameworks */,
  276. );
  277. runOnlyForDeploymentPostprocessing = 0;
  278. };
  279. 17DF328D24C87D3500BCE2E3 /* Frameworks */ = {
  280. isa = PBXFrameworksBuildPhase;
  281. buildActionMask = 2147483647;
  282. files = (
  283. 1784D2EF27946D9A0033E72E /* WriteFreely in Frameworks */,
  284. 17D4926527947B4D0035BD7E /* Sparkle in Frameworks */,
  285. );
  286. runOnlyForDeploymentPostprocessing = 0;
  287. };
  288. 17DF329524C87D3500BCE2E3 /* Frameworks */ = {
  289. isa = PBXFrameworksBuildPhase;
  290. buildActionMask = 2147483647;
  291. files = (
  292. );
  293. runOnlyForDeploymentPostprocessing = 0;
  294. };
  295. 17DF32A024C87D3500BCE2E3 /* Frameworks */ = {
  296. isa = PBXFrameworksBuildPhase;
  297. buildActionMask = 2147483647;
  298. files = (
  299. );
  300. runOnlyForDeploymentPostprocessing = 0;
  301. };
  302. /* End PBXFrameworksBuildPhase section */
  303. /* Begin PBXGroup section */
  304. 1709ADDE251B99D40053AF79 /* Technotes */ = {
  305. isa = PBXGroup;
  306. children = (
  307. 1709ADDF251B9A110053AF79 /* EditorLaunchingPolicy.md */,
  308. 17A4FEDF25924E810037E96B /* MacSoftwareUpdater.md */,
  309. );
  310. path = Technotes;
  311. sourceTree = "<group>";
  312. };
  313. 17120DA624E19CE2002B9F6C /* Settings */ = {
  314. isa = PBXGroup;
  315. children = (
  316. 17120DB124E1E19C002B9F6C /* SettingsHeaderView.swift */,
  317. 17120DA424E19CBF002B9F6C /* SettingsView.swift */,
  318. );
  319. path = Settings;
  320. sourceTree = "<group>";
  321. };
  322. 172E10022735B83E00061372 /* ActionExtension-iOS */ = {
  323. isa = PBXGroup;
  324. children = (
  325. 17836C18273F10C40047AF61 /* ActionExtension-iOS.entitlements */,
  326. 172E10032735B83E00061372 /* Media.xcassets */,
  327. 172E10182735C3DB00061372 /* ContentView.swift */,
  328. 172E10052735B83E00061372 /* ActionViewController.swift */,
  329. 172E100A2735B83E00061372 /* Info.plist */,
  330. 172E10122735BB6200061372 /* Action.js */,
  331. );
  332. path = "ActionExtension-iOS";
  333. sourceTree = "<group>";
  334. };
  335. 1739B8D324EAFAB700DA7421 /* PostEditor */ = {
  336. isa = PBXGroup;
  337. children = (
  338. 170DFA33251BBC44001D82A0 /* PostEditorModel.swift */,
  339. 1756DBB224FECDBB00207AB8 /* PostEditorStatusToolbarView.swift */,
  340. );
  341. path = PostEditor;
  342. sourceTree = "<group>";
  343. };
  344. 1756AE7F24CB841200FD7257 /* Extensions */ = {
  345. isa = PBXGroup;
  346. children = (
  347. 17480CA4251272EE00EB7765 /* Bundle+AppVersion.swift */,
  348. 17C42E6F250AA12200072984 /* NSManagedObjectContext+ExecuteAndMergeChanges.swift */,
  349. 17B37C5525C8679800FE75E9 /* WriteFreelyModel+API.swift */,
  350. 17B37C5C25C8698900FE75E9 /* WriteFreelyModel+APIHandlers.swift */,
  351. 17B37C4A25C8661300FE75E9 /* WriteFreelyModel+Keychain.swift */,
  352. 171DC676272C7D0B002B9B8A /* UserDefaults+Extensions.swift */,
  353. );
  354. path = Extensions;
  355. sourceTree = "<group>";
  356. };
  357. 1762DCB124EB07680019C4EB /* Models */ = {
  358. isa = PBXGroup;
  359. children = (
  360. 1756DBFF24FEE18400207AB8 /* WFACollection+CoreDataClass.swift */,
  361. 1756DC0024FEE18400207AB8 /* WFACollection+CoreDataProperties.swift */,
  362. 17B996D62502D23E0017B536 /* WFAPost+CoreDataClass.swift */,
  363. 17B996D72502D23E0017B536 /* WFAPost+CoreDataProperties.swift */,
  364. 17C42E612507D8E600072984 /* PostStatus.swift */,
  365. 174D313124EC2831006CA9EE /* WriteFreelyModel.swift */,
  366. 1756DBB524FED3A400207AB8 /* LocalStorageModel.xcdatamodeld */,
  367. );
  368. path = Models;
  369. sourceTree = "<group>";
  370. };
  371. 1765F62C24E1924800C9EBF0 /* Preferences */ = {
  372. isa = PBXGroup;
  373. children = (
  374. 17D435E724E3128F0036B539 /* PreferencesModel.swift */,
  375. 17A5389124DDED0000DEFF9A /* PreferencesView.swift */,
  376. );
  377. path = Preferences;
  378. sourceTree = "<group>";
  379. };
  380. 17681E3F251940F200D394AE /* Extensions */ = {
  381. isa = PBXGroup;
  382. children = (
  383. 1756AE8024CB844500FD7257 /* View+Keyboard.swift */,
  384. 172E10142735C2BD00061372 /* UIHostingView.swift */,
  385. 172E10162735C2DF00061372 /* EnvironmentValues+Extensions.swift */,
  386. );
  387. path = Extensions;
  388. sourceTree = "<group>";
  389. };
  390. 17A5388924DDA50500DEFF9A /* Settings */ = {
  391. isa = PBXGroup;
  392. children = (
  393. 17A5388724DDA31F00DEFF9A /* MacAccountView.swift */,
  394. 1753F6AB24E431CC00309365 /* MacPreferencesView.swift */,
  395. 172C492D2593981900E20ADF /* MacUpdatesView.swift */,
  396. 17D4926627947D780035BD7E /* MacUpdatesViewModel.swift */,
  397. );
  398. path = Settings;
  399. sourceTree = "<group>";
  400. };
  401. 17A67CAB251A5D7E002F163D /* PostEditor */ = {
  402. isa = PBXGroup;
  403. children = (
  404. 1756AE7624CB2EDD00FD7257 /* PostEditorView.swift */,
  405. 173E19D0254318F600440F0F /* RemoteChangePromptView.swift */,
  406. 173E19E2254329CC00440F0F /* PostTextEditingView.swift */,
  407. 17AD0A5D25489E810057D763 /* PostTitleTextView.swift */,
  408. 17AD0A6325489E900057D763 /* PostBodyTextView.swift */,
  409. );
  410. path = PostEditor;
  411. sourceTree = "<group>";
  412. };
  413. 17A67CAC251A5D8D002F163D /* PostEditor */ = {
  414. isa = PBXGroup;
  415. children = (
  416. 17479F142583D8E40072B7FB /* PostEditorSharingPicker.swift */,
  417. 17A67CAE251A5DD7002F163D /* PostEditorView.swift */,
  418. 17E5DF892543610700DCDC9B /* PostTextEditingView.swift */,
  419. 17466625256C0D0600629997 /* MacEditorTextView.swift */,
  420. );
  421. path = PostEditor;
  422. sourceTree = "<group>";
  423. };
  424. 17BC617725715042003363CA /* Navigation */ = {
  425. isa = PBXGroup;
  426. children = (
  427. 17BC617825715068003363CA /* ActivePostToolbarView.swift */,
  428. 1780F6EE25895EDB00FE45FF /* PostCommands.swift */,
  429. );
  430. path = Navigation;
  431. sourceTree = "<group>";
  432. };
  433. 17D4F3722514EE4400517CE6 /* Resources */ = {
  434. isa = PBXGroup;
  435. children = (
  436. 17DFDE83251D309400A25F31 /* Licenses */,
  437. 17D4F3A42514F1E900517CE6 /* Hack-Regular.ttf */,
  438. 17D4F39D2514F0E500517CE6 /* OpenSans-Regular.ttf */,
  439. 17D4F36B2514EE2F00517CE6 /* LoraGX.ttf */,
  440. );
  441. path = Resources;
  442. sourceTree = "<group>";
  443. };
  444. 17DF327B24C87D3300BCE2E3 = {
  445. isa = PBXGroup;
  446. children = (
  447. 17A355D3271A052C007C7A47 /* WriteFreely-MultiPlatform (iOS).entitlements */,
  448. 17DF32C624C884FF00BCE2E3 /* README.md */,
  449. 17DF32C924C8855E00BCE2E3 /* LICENSE.md */,
  450. 17DF32CA24C8856C00BCE2E3 /* CHANGELOG.md */,
  451. 17DF32C724C8853700BCE2E3 /* CODE_OF_CONDUCT.md */,
  452. 17DF32C824C8854B00BCE2E3 /* CONTRIBUTING.md */,
  453. 1709ADDE251B99D40053AF79 /* Technotes */,
  454. 17DF328024C87D3300BCE2E3 /* Shared */,
  455. 17DF328A24C87D3500BCE2E3 /* iOS */,
  456. 17DF329124C87D3500BCE2E3 /* macOS */,
  457. 17DF329B24C87D3500BCE2E3 /* Tests iOS */,
  458. 17DF32A624C87D3500BCE2E3 /* Tests macOS */,
  459. 172E10022735B83E00061372 /* ActionExtension-iOS */,
  460. 17DF328924C87D3500BCE2E3 /* Products */,
  461. 17DF32C124C87D8D00BCE2E3 /* Frameworks */,
  462. );
  463. sourceTree = "<group>";
  464. };
  465. 17DF328024C87D3300BCE2E3 /* Shared */ = {
  466. isa = PBXGroup;
  467. children = (
  468. 17DF328124C87D3300BCE2E3 /* WriteFreely_MultiPlatformApp.swift */,
  469. 1756DBB924FED45500207AB8 /* LocalStorageManager.swift */,
  470. 17DF328324C87D3500BCE2E3 /* Assets.xcassets */,
  471. 17DF32D024C8B75C00BCE2E3 /* Account */,
  472. 1756AE7F24CB841200FD7257 /* Extensions */,
  473. 1762DCB124EB07680019C4EB /* Models */,
  474. 17DF32CC24C8B72300BCE2E3 /* Navigation */,
  475. 1739B8D324EAFAB700DA7421 /* PostEditor */,
  476. 17DF32D124C8B78500BCE2E3 /* PostList */,
  477. 17DF32D224C8B78D00BCE2E3 /* PostCollection */,
  478. 1765F62C24E1924800C9EBF0 /* Preferences */,
  479. 17D4F3722514EE4400517CE6 /* Resources */,
  480. );
  481. path = Shared;
  482. sourceTree = "<group>";
  483. };
  484. 17DF328924C87D3500BCE2E3 /* Products */ = {
  485. isa = PBXGroup;
  486. children = (
  487. 17DF328824C87D3500BCE2E3 /* WriteFreely-MultiPlatform.app */,
  488. 17DF329024C87D3500BCE2E3 /* WriteFreely for Mac.app */,
  489. 17DF329824C87D3500BCE2E3 /* Tests iOS.xctest */,
  490. 17DF32A324C87D3500BCE2E3 /* Tests macOS.xctest */,
  491. 172E0FFF2735B83E00061372 /* ActionExtension-iOS.appex */,
  492. );
  493. name = Products;
  494. sourceTree = "<group>";
  495. };
  496. 17DF328A24C87D3500BCE2E3 /* iOS */ = {
  497. isa = PBXGroup;
  498. children = (
  499. 17DF328B24C87D3500BCE2E3 /* Info.plist */,
  500. 17B3E964250FAA9000EE9748 /* LaunchScreen.storyboard */,
  501. 17681E3F251940F200D394AE /* Extensions */,
  502. 17A67CAB251A5D7E002F163D /* PostEditor */,
  503. 17120DA624E19CE2002B9F6C /* Settings */,
  504. );
  505. path = iOS;
  506. sourceTree = "<group>";
  507. };
  508. 17DF329124C87D3500BCE2E3 /* macOS */ = {
  509. isa = PBXGroup;
  510. children = (
  511. 17DF329224C87D3500BCE2E3 /* Info.plist */,
  512. 17DF329324C87D3500BCE2E3 /* macOS.entitlements */,
  513. 17A4FEEC25927E730037E96B /* AppDelegate.swift */,
  514. 17BC617725715042003363CA /* Navigation */,
  515. 17A67CAC251A5D8D002F163D /* PostEditor */,
  516. 17A5388924DDA50500DEFF9A /* Settings */,
  517. 17B5103A2515448D00E9631F /* Credits.rtf */,
  518. );
  519. path = macOS;
  520. sourceTree = "<group>";
  521. };
  522. 17DF329B24C87D3500BCE2E3 /* Tests iOS */ = {
  523. isa = PBXGroup;
  524. children = (
  525. 17DF329C24C87D3500BCE2E3 /* Tests_iOS.swift */,
  526. 17DF329E24C87D3500BCE2E3 /* Info.plist */,
  527. );
  528. path = "Tests iOS";
  529. sourceTree = "<group>";
  530. };
  531. 17DF32A624C87D3500BCE2E3 /* Tests macOS */ = {
  532. isa = PBXGroup;
  533. children = (
  534. 17DF32A724C87D3500BCE2E3 /* Tests_macOS.swift */,
  535. 17DF32A924C87D3500BCE2E3 /* Info.plist */,
  536. );
  537. path = "Tests macOS";
  538. sourceTree = "<group>";
  539. };
  540. 17DF32C124C87D8D00BCE2E3 /* Frameworks */ = {
  541. isa = PBXGroup;
  542. children = (
  543. 172E10002735B83E00061372 /* UniformTypeIdentifiers.framework */,
  544. );
  545. name = Frameworks;
  546. sourceTree = "<group>";
  547. };
  548. 17DF32CC24C8B72300BCE2E3 /* Navigation */ = {
  549. isa = PBXGroup;
  550. children = (
  551. 17DF328224C87D3300BCE2E3 /* ContentView.swift */,
  552. );
  553. path = Navigation;
  554. sourceTree = "<group>";
  555. };
  556. 17DF32D024C8B75C00BCE2E3 /* Account */ = {
  557. isa = PBXGroup;
  558. children = (
  559. 17A5388B24DDC83F00DEFF9A /* AccountModel.swift */,
  560. 17120DAB24E1B99F002B9F6C /* AccountLoginView.swift */,
  561. 17120DA824E1B2F5002B9F6C /* AccountLogoutView.swift */,
  562. 17A5388D24DDEC7400DEFF9A /* AccountView.swift */,
  563. );
  564. path = Account;
  565. sourceTree = "<group>";
  566. };
  567. 17DF32D124C8B78500BCE2E3 /* PostList */ = {
  568. isa = PBXGroup;
  569. children = (
  570. 1756AE7324CB26FA00FD7257 /* PostCellView.swift */,
  571. 1756AE6D24CB255B00FD7257 /* PostListModel.swift */,
  572. 1756AE7924CB65DF00FD7257 /* PostListView.swift */,
  573. 17DF32D424C8CA3400BCE2E3 /* PostStatusBadgeView.swift */,
  574. 17C42E642509237800072984 /* PostListFilteredView.swift */,
  575. );
  576. path = PostList;
  577. sourceTree = "<group>";
  578. };
  579. 17DF32D224C8B78D00BCE2E3 /* PostCollection */ = {
  580. isa = PBXGroup;
  581. children = (
  582. 170A7EC026F5186A00F1CBD4 /* CollectionListModel.swift */,
  583. 171BFDF924D4AF8300888236 /* CollectionListView.swift */,
  584. );
  585. path = PostCollection;
  586. sourceTree = "<group>";
  587. };
  588. 17DFDE83251D309400A25F31 /* Licenses */ = {
  589. isa = PBXGroup;
  590. children = (
  591. 17B68D4F25A4FED2005ED37C /* Sparkle-License.txt */,
  592. 17DFDE84251D309400A25F31 /* Hack-License.txt */,
  593. 17DFDE85251D309400A25F31 /* Lora-Cyrillic-OFL.txt */,
  594. 17DFDE86251D309400A25F31 /* OpenSans-License.txt */,
  595. );
  596. path = Licenses;
  597. sourceTree = "<group>";
  598. };
  599. /* End PBXGroup section */
  600. /* Begin PBXNativeTarget section */
  601. 172E0FFE2735B83E00061372 /* ActionExtension-iOS */ = {
  602. isa = PBXNativeTarget;
  603. buildConfigurationList = 172E10112735B83E00061372 /* Build configuration list for PBXNativeTarget "ActionExtension-iOS" */;
  604. buildPhases = (
  605. 172E0FFB2735B83E00061372 /* Sources */,
  606. 172E0FFC2735B83E00061372 /* Frameworks */,
  607. 172E0FFD2735B83E00061372 /* Resources */,
  608. );
  609. buildRules = (
  610. );
  611. dependencies = (
  612. );
  613. name = "ActionExtension-iOS";
  614. packageProductDependencies = (
  615. 1784D2F027946DA10033E72E /* WriteFreely */,
  616. );
  617. productName = "ActionExtension-iOS";
  618. productReference = 172E0FFF2735B83E00061372 /* ActionExtension-iOS.appex */;
  619. productType = "com.apple.product-type.app-extension";
  620. };
  621. 17DF328724C87D3500BCE2E3 /* WriteFreely-MultiPlatform (iOS) */ = {
  622. isa = PBXNativeTarget;
  623. buildConfigurationList = 17DF32B224C87D3500BCE2E3 /* Build configuration list for PBXNativeTarget "WriteFreely-MultiPlatform (iOS)" */;
  624. buildPhases = (
  625. 17DF328424C87D3500BCE2E3 /* Sources */,
  626. 17DF328524C87D3500BCE2E3 /* Frameworks */,
  627. 17DF328624C87D3500BCE2E3 /* Resources */,
  628. 17DF32C424C87E6700BCE2E3 /* ShellScript */,
  629. 172E100E2735B83E00061372 /* Embed App Extensions */,
  630. );
  631. buildRules = (
  632. );
  633. dependencies = (
  634. 172E100C2735B83E00061372 /* PBXTargetDependency */,
  635. );
  636. name = "WriteFreely-MultiPlatform (iOS)";
  637. packageProductDependencies = (
  638. 1784D2EC27946D880033E72E /* WriteFreely */,
  639. );
  640. productName = "WriteFreely-MultiPlatform (iOS)";
  641. productReference = 17DF328824C87D3500BCE2E3 /* WriteFreely-MultiPlatform.app */;
  642. productType = "com.apple.product-type.application";
  643. };
  644. 17DF328F24C87D3500BCE2E3 /* WriteFreely-MultiPlatform (macOS) */ = {
  645. isa = PBXNativeTarget;
  646. buildConfigurationList = 17DF32B524C87D3500BCE2E3 /* Build configuration list for PBXNativeTarget "WriteFreely-MultiPlatform (macOS)" */;
  647. buildPhases = (
  648. 17DF328C24C87D3500BCE2E3 /* Sources */,
  649. 17DF328D24C87D3500BCE2E3 /* Frameworks */,
  650. 17DF328E24C87D3500BCE2E3 /* Resources */,
  651. 17DF32C524C87FDB00BCE2E3 /* ShellScript */,
  652. );
  653. buildRules = (
  654. );
  655. dependencies = (
  656. );
  657. name = "WriteFreely-MultiPlatform (macOS)";
  658. packageProductDependencies = (
  659. 1784D2EE27946D9A0033E72E /* WriteFreely */,
  660. 17D4926427947B4D0035BD7E /* Sparkle */,
  661. );
  662. productName = "WriteFreely-MultiPlatform (macOS)";
  663. productReference = 17DF329024C87D3500BCE2E3 /* WriteFreely for Mac.app */;
  664. productType = "com.apple.product-type.application";
  665. };
  666. 17DF329724C87D3500BCE2E3 /* Tests iOS */ = {
  667. isa = PBXNativeTarget;
  668. buildConfigurationList = 17DF32B824C87D3500BCE2E3 /* Build configuration list for PBXNativeTarget "Tests iOS" */;
  669. buildPhases = (
  670. 17DF329424C87D3500BCE2E3 /* Sources */,
  671. 17DF329524C87D3500BCE2E3 /* Frameworks */,
  672. 17DF329624C87D3500BCE2E3 /* Resources */,
  673. );
  674. buildRules = (
  675. );
  676. dependencies = (
  677. 17DF329A24C87D3500BCE2E3 /* PBXTargetDependency */,
  678. );
  679. name = "Tests iOS";
  680. productName = "Tests iOS";
  681. productReference = 17DF329824C87D3500BCE2E3 /* Tests iOS.xctest */;
  682. productType = "com.apple.product-type.bundle.ui-testing";
  683. };
  684. 17DF32A224C87D3500BCE2E3 /* Tests macOS */ = {
  685. isa = PBXNativeTarget;
  686. buildConfigurationList = 17DF32BB24C87D3500BCE2E3 /* Build configuration list for PBXNativeTarget "Tests macOS" */;
  687. buildPhases = (
  688. 17DF329F24C87D3500BCE2E3 /* Sources */,
  689. 17DF32A024C87D3500BCE2E3 /* Frameworks */,
  690. 17DF32A124C87D3500BCE2E3 /* Resources */,
  691. );
  692. buildRules = (
  693. );
  694. dependencies = (
  695. 17DF32A524C87D3500BCE2E3 /* PBXTargetDependency */,
  696. );
  697. name = "Tests macOS";
  698. productName = "Tests macOS";
  699. productReference = 17DF32A324C87D3500BCE2E3 /* Tests macOS.xctest */;
  700. productType = "com.apple.product-type.bundle.ui-testing";
  701. };
  702. /* End PBXNativeTarget section */
  703. /* Begin PBXProject section */
  704. 17DF327C24C87D3300BCE2E3 /* Project object */ = {
  705. isa = PBXProject;
  706. attributes = {
  707. LastSwiftUpdateCheck = 1310;
  708. LastUpgradeCheck = 1320;
  709. TargetAttributes = {
  710. 172E0FFE2735B83E00061372 = {
  711. CreatedOnToolsVersion = 13.1;
  712. };
  713. 17DF328724C87D3500BCE2E3 = {
  714. CreatedOnToolsVersion = 12.0;
  715. };
  716. 17DF328F24C87D3500BCE2E3 = {
  717. CreatedOnToolsVersion = 12.0;
  718. };
  719. 17DF329724C87D3500BCE2E3 = {
  720. CreatedOnToolsVersion = 12.0;
  721. TestTargetID = 17DF328724C87D3500BCE2E3;
  722. };
  723. 17DF32A224C87D3500BCE2E3 = {
  724. CreatedOnToolsVersion = 12.0;
  725. TestTargetID = 17DF328F24C87D3500BCE2E3;
  726. };
  727. };
  728. };
  729. buildConfigurationList = 17DF327F24C87D3300BCE2E3 /* Build configuration list for PBXProject "WriteFreely-MultiPlatform" */;
  730. compatibilityVersion = "Xcode 9.3";
  731. developmentRegion = en;
  732. hasScannedForEncodings = 0;
  733. knownRegions = (
  734. en,
  735. Base,
  736. );
  737. mainGroup = 17DF327B24C87D3300BCE2E3;
  738. packageReferences = (
  739. 1784D2EB27946D880033E72E /* XCRemoteSwiftPackageReference "writefreely-swift" */,
  740. 17D4926327947B4D0035BD7E /* XCRemoteSwiftPackageReference "Sparkle" */,
  741. );
  742. productRefGroup = 17DF328924C87D3500BCE2E3 /* Products */;
  743. projectDirPath = "";
  744. projectRoot = "";
  745. targets = (
  746. 17DF328724C87D3500BCE2E3 /* WriteFreely-MultiPlatform (iOS) */,
  747. 17DF328F24C87D3500BCE2E3 /* WriteFreely-MultiPlatform (macOS) */,
  748. 17DF329724C87D3500BCE2E3 /* Tests iOS */,
  749. 17DF32A224C87D3500BCE2E3 /* Tests macOS */,
  750. 172E0FFE2735B83E00061372 /* ActionExtension-iOS */,
  751. );
  752. };
  753. /* End PBXProject section */
  754. /* Begin PBXResourcesBuildPhase section */
  755. 172E0FFD2735B83E00061372 /* Resources */ = {
  756. isa = PBXResourcesBuildPhase;
  757. buildActionMask = 2147483647;
  758. files = (
  759. 17836C17273F0FBB0047AF61 /* OpenSans-Regular.ttf in Resources */,
  760. 172E10132735BB6200061372 /* Action.js in Resources */,
  761. 172E10042735B83E00061372 /* Media.xcassets in Resources */,
  762. 17836C15273F0FBB0047AF61 /* Hack-Regular.ttf in Resources */,
  763. 17836C16273F0FBB0047AF61 /* LoraGX.ttf in Resources */,
  764. );
  765. runOnlyForDeploymentPostprocessing = 0;
  766. };
  767. 17DF328624C87D3500BCE2E3 /* Resources */ = {
  768. isa = PBXResourcesBuildPhase;
  769. buildActionMask = 2147483647;
  770. files = (
  771. 17B3E965250FAA9000EE9748 /* LaunchScreen.storyboard in Resources */,
  772. 17DFDE8B251D309400A25F31 /* OpenSans-License.txt in Resources */,
  773. 17DF32AE24C87D3500BCE2E3 /* Assets.xcassets in Resources */,
  774. 17D4F39E2514F0E500517CE6 /* OpenSans-Regular.ttf in Resources */,
  775. 17D4F36C2514EE2F00517CE6 /* LoraGX.ttf in Resources */,
  776. 17D4F3A52514F1E900517CE6 /* Hack-Regular.ttf in Resources */,
  777. 17DFDE89251D309400A25F31 /* Lora-Cyrillic-OFL.txt in Resources */,
  778. 17DFDE87251D309400A25F31 /* Hack-License.txt in Resources */,
  779. );
  780. runOnlyForDeploymentPostprocessing = 0;
  781. };
  782. 17DF328E24C87D3500BCE2E3 /* Resources */ = {
  783. isa = PBXResourcesBuildPhase;
  784. buildActionMask = 2147483647;
  785. files = (
  786. 17DF32AF24C87D3500BCE2E3 /* Assets.xcassets in Resources */,
  787. 17DFDE8C251D309400A25F31 /* OpenSans-License.txt in Resources */,
  788. 17B5103B2515448D00E9631F /* Credits.rtf in Resources */,
  789. 17D4F39F2514F0E500517CE6 /* OpenSans-Regular.ttf in Resources */,
  790. 17D4F3A62514F1E900517CE6 /* Hack-Regular.ttf in Resources */,
  791. 17D4F36D2514EE2F00517CE6 /* LoraGX.ttf in Resources */,
  792. 17DFDE8A251D309400A25F31 /* Lora-Cyrillic-OFL.txt in Resources */,
  793. 17DFDE88251D309400A25F31 /* Hack-License.txt in Resources */,
  794. );
  795. runOnlyForDeploymentPostprocessing = 0;
  796. };
  797. 17DF329624C87D3500BCE2E3 /* Resources */ = {
  798. isa = PBXResourcesBuildPhase;
  799. buildActionMask = 2147483647;
  800. files = (
  801. );
  802. runOnlyForDeploymentPostprocessing = 0;
  803. };
  804. 17DF32A124C87D3500BCE2E3 /* Resources */ = {
  805. isa = PBXResourcesBuildPhase;
  806. buildActionMask = 2147483647;
  807. files = (
  808. );
  809. runOnlyForDeploymentPostprocessing = 0;
  810. };
  811. /* End PBXResourcesBuildPhase section */
  812. /* Begin PBXShellScriptBuildPhase section */
  813. 17DF32C424C87E6700BCE2E3 /* ShellScript */ = {
  814. isa = PBXShellScriptBuildPhase;
  815. buildActionMask = 2147483647;
  816. files = (
  817. );
  818. inputFileListPaths = (
  819. );
  820. inputPaths = (
  821. );
  822. outputFileListPaths = (
  823. );
  824. outputPaths = (
  825. );
  826. runOnlyForDeploymentPostprocessing = 0;
  827. shellPath = /bin/sh;
  828. shellScript = "# Run SwiftLint on builds\nif which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n";
  829. };
  830. 17DF32C524C87FDB00BCE2E3 /* ShellScript */ = {
  831. isa = PBXShellScriptBuildPhase;
  832. buildActionMask = 2147483647;
  833. files = (
  834. );
  835. inputFileListPaths = (
  836. );
  837. inputPaths = (
  838. );
  839. outputFileListPaths = (
  840. );
  841. outputPaths = (
  842. );
  843. runOnlyForDeploymentPostprocessing = 0;
  844. shellPath = /bin/sh;
  845. shellScript = "# Run SwiftLint on builds\nif which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n";
  846. };
  847. /* End PBXShellScriptBuildPhase section */
  848. /* Begin PBXSourcesBuildPhase section */
  849. 172E0FFB2735B83E00061372 /* Sources */ = {
  850. isa = PBXSourcesBuildPhase;
  851. buildActionMask = 2147483647;
  852. files = (
  853. 172E10062735B83E00061372 /* ActionViewController.swift in Sources */,
  854. 172E10202735C64600061372 /* WFACollection+CoreDataClass.swift in Sources */,
  855. 172E10222735C64600061372 /* WFAPost+CoreDataProperties.swift in Sources */,
  856. 172E101D2735C5AB00061372 /* LocalStorageModel.xcdatamodeld in Sources */,
  857. 17836C14273EFB870047AF61 /* UserDefaults+Extensions.swift in Sources */,
  858. 172E10242735C72500061372 /* PreferencesModel.swift in Sources */,
  859. 172E10172735C2DF00061372 /* EnvironmentValues+Extensions.swift in Sources */,
  860. 172E10212735C64600061372 /* WFACollection+CoreDataProperties.swift in Sources */,
  861. 172E101C2735C57400061372 /* LocalStorageManager.swift in Sources */,
  862. 172E10192735C3DB00061372 /* ContentView.swift in Sources */,
  863. 172E10152735C2BD00061372 /* UIHostingView.swift in Sources */,
  864. 172E101F2735C64600061372 /* WFAPost+CoreDataClass.swift in Sources */,
  865. 172E10232735C6FF00061372 /* NSManagedObjectContext+ExecuteAndMergeChanges.swift in Sources */,
  866. 172E101E2735C62F00061372 /* PostStatus.swift in Sources */,
  867. );
  868. runOnlyForDeploymentPostprocessing = 0;
  869. };
  870. 17DF328424C87D3500BCE2E3 /* Sources */ = {
  871. isa = PBXSourcesBuildPhase;
  872. buildActionMask = 2147483647;
  873. files = (
  874. 17DF32AC24C87D3500BCE2E3 /* ContentView.swift in Sources */,
  875. 173E19D1254318F600440F0F /* RemoteChangePromptView.swift in Sources */,
  876. 17B37C5625C8679800FE75E9 /* WriteFreelyModel+API.swift in Sources */,
  877. 17C42E622507D8E600072984 /* PostStatus.swift in Sources */,
  878. 1756DBBA24FED45500207AB8 /* LocalStorageManager.swift in Sources */,
  879. 1756AE8124CB844500FD7257 /* View+Keyboard.swift in Sources */,
  880. 17C42E652509237800072984 /* PostListFilteredView.swift in Sources */,
  881. 170DFA34251BBC44001D82A0 /* PostEditorModel.swift in Sources */,
  882. 17120DAC24E1B99F002B9F6C /* AccountLoginView.swift in Sources */,
  883. 17B37C4B25C8661300FE75E9 /* WriteFreelyModel+Keychain.swift in Sources */,
  884. 17480CA5251272EE00EB7765 /* Bundle+AppVersion.swift in Sources */,
  885. 17AD0A6425489E900057D763 /* PostBodyTextView.swift in Sources */,
  886. 17B37C5D25C8698900FE75E9 /* WriteFreelyModel+APIHandlers.swift in Sources */,
  887. 17AD0A5E25489E810057D763 /* PostTitleTextView.swift in Sources */,
  888. 17120DA924E1B2F5002B9F6C /* AccountLogoutView.swift in Sources */,
  889. 171BFDFA24D4AF8300888236 /* CollectionListView.swift in Sources */,
  890. 1756DBB324FECDBB00207AB8 /* PostEditorStatusToolbarView.swift in Sources */,
  891. 17120DB224E1E19C002B9F6C /* SettingsHeaderView.swift in Sources */,
  892. 171DC677272C7D0B002B9B8A /* UserDefaults+Extensions.swift in Sources */,
  893. 1756DBB724FED3A400207AB8 /* LocalStorageModel.xcdatamodeld in Sources */,
  894. 17B996DA2502D23E0017B536 /* WFAPost+CoreDataProperties.swift in Sources */,
  895. 1756AE7724CB2EDD00FD7257 /* PostEditorView.swift in Sources */,
  896. 17DF32D524C8CA3400BCE2E3 /* PostStatusBadgeView.swift in Sources */,
  897. 170A7EC126F5186A00F1CBD4 /* CollectionListModel.swift in Sources */,
  898. 17D435E824E3128F0036B539 /* PreferencesModel.swift in Sources */,
  899. 1756AE7A24CB65DF00FD7257 /* PostListView.swift in Sources */,
  900. 17B996D82502D23E0017B536 /* WFAPost+CoreDataClass.swift in Sources */,
  901. 1756DC0124FEE18400207AB8 /* WFACollection+CoreDataClass.swift in Sources */,
  902. 17DF32AA24C87D3500BCE2E3 /* WriteFreely_MultiPlatformApp.swift in Sources */,
  903. 17120DA724E19D11002B9F6C /* SettingsView.swift in Sources */,
  904. 1756DC0324FEE18400207AB8 /* WFACollection+CoreDataProperties.swift in Sources */,
  905. 17120DA224E1985C002B9F6C /* AccountModel.swift in Sources */,
  906. 17120DA324E19A42002B9F6C /* PreferencesView.swift in Sources */,
  907. 1756AE6E24CB255B00FD7257 /* PostListModel.swift in Sources */,
  908. 173E19E3254329CC00440F0F /* PostTextEditingView.swift in Sources */,
  909. 174D313224EC2831006CA9EE /* WriteFreelyModel.swift in Sources */,
  910. 17C42E70250AA12300072984 /* NSManagedObjectContext+ExecuteAndMergeChanges.swift in Sources */,
  911. 17120DA124E19839002B9F6C /* AccountView.swift in Sources */,
  912. 1756AE7424CB26FA00FD7257 /* PostCellView.swift in Sources */,
  913. );
  914. runOnlyForDeploymentPostprocessing = 0;
  915. };
  916. 17DF328C24C87D3500BCE2E3 /* Sources */ = {
  917. isa = PBXSourcesBuildPhase;
  918. buildActionMask = 2147483647;
  919. files = (
  920. 171DC678272C7D0B002B9B8A /* UserDefaults+Extensions.swift in Sources */,
  921. 17DF32AD24C87D3500BCE2E3 /* ContentView.swift in Sources */,
  922. 1756DBBB24FED45500207AB8 /* LocalStorageManager.swift in Sources */,
  923. 17A4FEED25927E730037E96B /* AppDelegate.swift in Sources */,
  924. 174D313324EC2831006CA9EE /* WriteFreelyModel.swift in Sources */,
  925. 17D435E924E3128F0036B539 /* PreferencesModel.swift in Sources */,
  926. 17120DAA24E1B2F5002B9F6C /* AccountLogoutView.swift in Sources */,
  927. 17DF32D624C8CA3400BCE2E3 /* PostStatusBadgeView.swift in Sources */,
  928. 172C492E2593981900E20ADF /* MacUpdatesView.swift in Sources */,
  929. 17479F152583D8E40072B7FB /* PostEditorSharingPicker.swift in Sources */,
  930. 17480CA6251272EE00EB7765 /* Bundle+AppVersion.swift in Sources */,
  931. 17C42E662509237800072984 /* PostListFilteredView.swift in Sources */,
  932. 17120DAD24E1B99F002B9F6C /* AccountLoginView.swift in Sources */,
  933. 17D4926727947D780035BD7E /* MacUpdatesViewModel.swift in Sources */,
  934. 17466626256C0D0600629997 /* MacEditorTextView.swift in Sources */,
  935. 170A7EC226F5186A00F1CBD4 /* CollectionListModel.swift in Sources */,
  936. 17E5DF8A2543610700DCDC9B /* PostTextEditingView.swift in Sources */,
  937. 17C42E71250AAFD500072984 /* NSManagedObjectContext+ExecuteAndMergeChanges.swift in Sources */,
  938. 1756AE7B24CB65DF00FD7257 /* PostListView.swift in Sources */,
  939. 1753F6AC24E431CC00309365 /* MacPreferencesView.swift in Sources */,
  940. 1756DC0424FEE18400207AB8 /* WFACollection+CoreDataProperties.swift in Sources */,
  941. 17B996DB2502D23E0017B536 /* WFAPost+CoreDataProperties.swift in Sources */,
  942. 17BC618A25715318003363CA /* ActivePostToolbarView.swift in Sources */,
  943. 171BFDFB24D4AF8300888236 /* CollectionListView.swift in Sources */,
  944. 17A67CAF251A5DD7002F163D /* PostEditorView.swift in Sources */,
  945. 17DF32AB24C87D3500BCE2E3 /* WriteFreely_MultiPlatformApp.swift in Sources */,
  946. 17B37C5725C8679800FE75E9 /* WriteFreelyModel+API.swift in Sources */,
  947. 17A5388C24DDC83F00DEFF9A /* AccountModel.swift in Sources */,
  948. 17B996D92502D23E0017B536 /* WFAPost+CoreDataClass.swift in Sources */,
  949. 1756DBB824FED3A400207AB8 /* LocalStorageModel.xcdatamodeld in Sources */,
  950. 17B37C4C25C8661300FE75E9 /* WriteFreelyModel+Keychain.swift in Sources */,
  951. 17A5389324DDED0000DEFF9A /* PreferencesView.swift in Sources */,
  952. 1756AE6F24CB255B00FD7257 /* PostListModel.swift in Sources */,
  953. 1756DC0224FEE18400207AB8 /* WFACollection+CoreDataClass.swift in Sources */,
  954. 1756DBB424FECDBB00207AB8 /* PostEditorStatusToolbarView.swift in Sources */,
  955. 17A5388F24DDEC7400DEFF9A /* AccountView.swift in Sources */,
  956. 1780F6EF25895EDB00FE45FF /* PostCommands.swift in Sources */,
  957. 17B37C5E25C8698900FE75E9 /* WriteFreelyModel+APIHandlers.swift in Sources */,
  958. 170DFA35251BBC44001D82A0 /* PostEditorModel.swift in Sources */,
  959. 1756AE7524CB26FA00FD7257 /* PostCellView.swift in Sources */,
  960. 17A5388824DDA31F00DEFF9A /* MacAccountView.swift in Sources */,
  961. 17C42E632507D8E600072984 /* PostStatus.swift in Sources */,
  962. );
  963. runOnlyForDeploymentPostprocessing = 0;
  964. };
  965. 17DF329424C87D3500BCE2E3 /* Sources */ = {
  966. isa = PBXSourcesBuildPhase;
  967. buildActionMask = 2147483647;
  968. files = (
  969. 17DF329D24C87D3500BCE2E3 /* Tests_iOS.swift in Sources */,
  970. );
  971. runOnlyForDeploymentPostprocessing = 0;
  972. };
  973. 17DF329F24C87D3500BCE2E3 /* Sources */ = {
  974. isa = PBXSourcesBuildPhase;
  975. buildActionMask = 2147483647;
  976. files = (
  977. 17DF32A824C87D3500BCE2E3 /* Tests_macOS.swift in Sources */,
  978. );
  979. runOnlyForDeploymentPostprocessing = 0;
  980. };
  981. /* End PBXSourcesBuildPhase section */
  982. /* Begin PBXTargetDependency section */
  983. 172E100C2735B83E00061372 /* PBXTargetDependency */ = {
  984. isa = PBXTargetDependency;
  985. target = 172E0FFE2735B83E00061372 /* ActionExtension-iOS */;
  986. targetProxy = 172E100B2735B83E00061372 /* PBXContainerItemProxy */;
  987. };
  988. 17DF329A24C87D3500BCE2E3 /* PBXTargetDependency */ = {
  989. isa = PBXTargetDependency;
  990. target = 17DF328724C87D3500BCE2E3 /* WriteFreely-MultiPlatform (iOS) */;
  991. targetProxy = 17DF329924C87D3500BCE2E3 /* PBXContainerItemProxy */;
  992. };
  993. 17DF32A524C87D3500BCE2E3 /* PBXTargetDependency */ = {
  994. isa = PBXTargetDependency;
  995. target = 17DF328F24C87D3500BCE2E3 /* WriteFreely-MultiPlatform (macOS) */;
  996. targetProxy = 17DF32A424C87D3500BCE2E3 /* PBXContainerItemProxy */;
  997. };
  998. /* End PBXTargetDependency section */
  999. /* Begin XCBuildConfiguration section */
  1000. 172E100F2735B83E00061372 /* Debug */ = {
  1001. isa = XCBuildConfiguration;
  1002. buildSettings = {
  1003. ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES = "";
  1004. ASSETCATALOG_COMPILER_APPICON_NAME = AppIconExtension;
  1005. CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
  1006. CODE_SIGN_ENTITLEMENTS = "ActionExtension-iOS/ActionExtension-iOS.entitlements";
  1007. CODE_SIGN_STYLE = Automatic;
  1008. CURRENT_PROJECT_VERSION = 650;
  1009. DEVELOPMENT_TEAM = TPPAB4YBA6;
  1010. GENERATE_INFOPLIST_FILE = YES;
  1011. INFOPLIST_FILE = "ActionExtension-iOS/Info.plist";
  1012. INFOPLIST_KEY_CFBundleDisplayName = "Create WriteFreely draft";
  1013. INFOPLIST_KEY_NSHumanReadableCopyright = "";
  1014. IPHONEOS_DEPLOYMENT_TARGET = 14.0;
  1015. LD_RUNPATH_SEARCH_PATHS = (
  1016. "$(inherited)",
  1017. "@executable_path/Frameworks",
  1018. "@executable_path/../../Frameworks",
  1019. );
  1020. MARKETING_VERSION = 1.0.9;
  1021. PRODUCT_BUNDLE_IDENTIFIER = "com.abunchtell.WriteFreely-MultiPlatform.ActionExtension-iOS";
  1022. PRODUCT_NAME = "$(TARGET_NAME)";
  1023. SDKROOT = iphoneos;
  1024. SKIP_INSTALL = YES;
  1025. SWIFT_EMIT_LOC_STRINGS = YES;
  1026. SWIFT_VERSION = 5.0;
  1027. TARGETED_DEVICE_FAMILY = "1,2";
  1028. };
  1029. name = Debug;
  1030. };
  1031. 172E10102735B83E00061372 /* Release */ = {
  1032. isa = XCBuildConfiguration;
  1033. buildSettings = {
  1034. ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES = "";
  1035. ASSETCATALOG_COMPILER_APPICON_NAME = AppIconExtension;
  1036. CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
  1037. CODE_SIGN_ENTITLEMENTS = "ActionExtension-iOS/ActionExtension-iOS.entitlements";
  1038. CODE_SIGN_STYLE = Automatic;
  1039. CURRENT_PROJECT_VERSION = 650;
  1040. DEVELOPMENT_TEAM = TPPAB4YBA6;
  1041. GENERATE_INFOPLIST_FILE = YES;
  1042. INFOPLIST_FILE = "ActionExtension-iOS/Info.plist";
  1043. INFOPLIST_KEY_CFBundleDisplayName = "Create WriteFreely draft";
  1044. INFOPLIST_KEY_NSHumanReadableCopyright = "";
  1045. IPHONEOS_DEPLOYMENT_TARGET = 14.0;
  1046. LD_RUNPATH_SEARCH_PATHS = (
  1047. "$(inherited)",
  1048. "@executable_path/Frameworks",
  1049. "@executable_path/../../Frameworks",
  1050. );
  1051. MARKETING_VERSION = 1.0.9;
  1052. PRODUCT_BUNDLE_IDENTIFIER = "com.abunchtell.WriteFreely-MultiPlatform.ActionExtension-iOS";
  1053. PRODUCT_NAME = "$(TARGET_NAME)";
  1054. SDKROOT = iphoneos;
  1055. SKIP_INSTALL = YES;
  1056. SWIFT_EMIT_LOC_STRINGS = YES;
  1057. SWIFT_VERSION = 5.0;
  1058. TARGETED_DEVICE_FAMILY = "1,2";
  1059. VALIDATE_PRODUCT = YES;
  1060. };
  1061. name = Release;
  1062. };
  1063. 17DF32B024C87D3500BCE2E3 /* Debug */ = {
  1064. isa = XCBuildConfiguration;
  1065. buildSettings = {
  1066. ALWAYS_SEARCH_USER_PATHS = NO;
  1067. CLANG_ANALYZER_NONNULL = YES;
  1068. CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
  1069. CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
  1070. CLANG_CXX_LIBRARY = "libc++";
  1071. CLANG_ENABLE_MODULES = YES;
  1072. CLANG_ENABLE_OBJC_ARC = YES;
  1073. CLANG_ENABLE_OBJC_WEAK = YES;
  1074. CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  1075. CLANG_WARN_BOOL_CONVERSION = YES;
  1076. CLANG_WARN_COMMA = YES;
  1077. CLANG_WARN_CONSTANT_CONVERSION = YES;
  1078. CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
  1079. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  1080. CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  1081. CLANG_WARN_EMPTY_BODY = YES;
  1082. CLANG_WARN_ENUM_CONVERSION = YES;
  1083. CLANG_WARN_INFINITE_RECURSION = YES;
  1084. CLANG_WARN_INT_CONVERSION = YES;
  1085. CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  1086. CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
  1087. CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  1088. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  1089. CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
  1090. CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  1091. CLANG_WARN_STRICT_PROTOTYPES = YES;
  1092. CLANG_WARN_SUSPICIOUS_MOVE = YES;
  1093. CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
  1094. CLANG_WARN_UNREACHABLE_CODE = YES;
  1095. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  1096. COPY_PHASE_STRIP = NO;
  1097. DEBUG_INFORMATION_FORMAT = dwarf;
  1098. ENABLE_STRICT_OBJC_MSGSEND = YES;
  1099. ENABLE_TESTABILITY = YES;
  1100. GCC_C_LANGUAGE_STANDARD = gnu11;
  1101. GCC_DYNAMIC_NO_PIC = NO;
  1102. GCC_NO_COMMON_BLOCKS = YES;
  1103. GCC_OPTIMIZATION_LEVEL = 0;
  1104. GCC_PREPROCESSOR_DEFINITIONS = (
  1105. "DEBUG=1",
  1106. "$(inherited)",
  1107. );
  1108. GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  1109. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  1110. GCC_WARN_UNDECLARED_SELECTOR = YES;
  1111. GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  1112. GCC_WARN_UNUSED_FUNCTION = YES;
  1113. GCC_WARN_UNUSED_VARIABLE = YES;
  1114. MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
  1115. MTL_FAST_MATH = YES;
  1116. ONLY_ACTIVE_ARCH = YES;
  1117. SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
  1118. SWIFT_OPTIMIZATION_LEVEL = "-Onone";
  1119. };
  1120. name = Debug;
  1121. };
  1122. 17DF32B124C87D3500BCE2E3 /* Release */ = {
  1123. isa = XCBuildConfiguration;
  1124. buildSettings = {
  1125. ALWAYS_SEARCH_USER_PATHS = NO;
  1126. CLANG_ANALYZER_NONNULL = YES;
  1127. CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
  1128. CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
  1129. CLANG_CXX_LIBRARY = "libc++";
  1130. CLANG_ENABLE_MODULES = YES;
  1131. CLANG_ENABLE_OBJC_ARC = YES;
  1132. CLANG_ENABLE_OBJC_WEAK = YES;
  1133. CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  1134. CLANG_WARN_BOOL_CONVERSION = YES;
  1135. CLANG_WARN_COMMA = YES;
  1136. CLANG_WARN_CONSTANT_CONVERSION = YES;
  1137. CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
  1138. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  1139. CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  1140. CLANG_WARN_EMPTY_BODY = YES;
  1141. CLANG_WARN_ENUM_CONVERSION = YES;
  1142. CLANG_WARN_INFINITE_RECURSION = YES;
  1143. CLANG_WARN_INT_CONVERSION = YES;
  1144. CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  1145. CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
  1146. CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  1147. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  1148. CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
  1149. CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  1150. CLANG_WARN_STRICT_PROTOTYPES = YES;
  1151. CLANG_WARN_SUSPICIOUS_MOVE = YES;
  1152. CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
  1153. CLANG_WARN_UNREACHABLE_CODE = YES;
  1154. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  1155. COPY_PHASE_STRIP = NO;
  1156. DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  1157. ENABLE_NS_ASSERTIONS = NO;
  1158. ENABLE_STRICT_OBJC_MSGSEND = YES;
  1159. GCC_C_LANGUAGE_STANDARD = gnu11;
  1160. GCC_NO_COMMON_BLOCKS = YES;
  1161. GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  1162. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  1163. GCC_WARN_UNDECLARED_SELECTOR = YES;
  1164. GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  1165. GCC_WARN_UNUSED_FUNCTION = YES;
  1166. GCC_WARN_UNUSED_VARIABLE = YES;
  1167. MTL_ENABLE_DEBUG_INFO = NO;
  1168. MTL_FAST_MATH = YES;
  1169. SWIFT_COMPILATION_MODE = wholemodule;
  1170. SWIFT_OPTIMIZATION_LEVEL = "-O";
  1171. };
  1172. name = Release;
  1173. };
  1174. 17DF32B324C87D3500BCE2E3 /* Debug */ = {
  1175. isa = XCBuildConfiguration;
  1176. buildSettings = {
  1177. ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
  1178. ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  1179. ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
  1180. CODE_SIGN_ENTITLEMENTS = "WriteFreely-MultiPlatform (iOS).entitlements";
  1181. CODE_SIGN_STYLE = Automatic;
  1182. CURRENT_PROJECT_VERSION = 650;
  1183. DEVELOPMENT_TEAM = TPPAB4YBA6;
  1184. ENABLE_PREVIEWS = YES;
  1185. INFOPLIST_FILE = iOS/Info.plist;
  1186. IPHONEOS_DEPLOYMENT_TARGET = 14.0;
  1187. LD_RUNPATH_SEARCH_PATHS = (
  1188. "$(inherited)",
  1189. "@executable_path/Frameworks",
  1190. );
  1191. MARKETING_VERSION = 1.0.9;
  1192. PRODUCT_BUNDLE_IDENTIFIER = "com.abunchtell.WriteFreely-MultiPlatform";
  1193. PRODUCT_NAME = "WriteFreely-MultiPlatform";
  1194. SDKROOT = iphoneos;
  1195. SWIFT_VERSION = 5.0;
  1196. TARGETED_DEVICE_FAMILY = "1,2";
  1197. };
  1198. name = Debug;
  1199. };
  1200. 17DF32B424C87D3500BCE2E3 /* Release */ = {
  1201. isa = XCBuildConfiguration;
  1202. buildSettings = {
  1203. ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
  1204. ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  1205. ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
  1206. CODE_SIGN_ENTITLEMENTS = "WriteFreely-MultiPlatform (iOS).entitlements";
  1207. CODE_SIGN_STYLE = Automatic;
  1208. CURRENT_PROJECT_VERSION = 650;
  1209. DEVELOPMENT_TEAM = TPPAB4YBA6;
  1210. ENABLE_PREVIEWS = YES;
  1211. INFOPLIST_FILE = iOS/Info.plist;
  1212. IPHONEOS_DEPLOYMENT_TARGET = 14.0;
  1213. LD_RUNPATH_SEARCH_PATHS = (
  1214. "$(inherited)",
  1215. "@executable_path/Frameworks",
  1216. );
  1217. MARKETING_VERSION = 1.0.9;
  1218. PRODUCT_BUNDLE_IDENTIFIER = "com.abunchtell.WriteFreely-MultiPlatform";
  1219. PRODUCT_NAME = "WriteFreely-MultiPlatform";
  1220. SDKROOT = iphoneos;
  1221. SWIFT_VERSION = 5.0;
  1222. TARGETED_DEVICE_FAMILY = "1,2";
  1223. VALIDATE_PRODUCT = YES;
  1224. };
  1225. name = Release;
  1226. };
  1227. 17DF32B624C87D3500BCE2E3 /* Debug */ = {
  1228. isa = XCBuildConfiguration;
  1229. buildSettings = {
  1230. ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  1231. ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
  1232. CODE_SIGN_ENTITLEMENTS = macOS/macOS.entitlements;
  1233. CODE_SIGN_IDENTITY = "Apple Development";
  1234. CODE_SIGN_STYLE = Automatic;
  1235. COMBINE_HIDPI_IMAGES = YES;
  1236. CURRENT_PROJECT_VERSION = 620;
  1237. DEVELOPMENT_TEAM = TPPAB4YBA6;
  1238. ENABLE_HARDENED_RUNTIME = YES;
  1239. ENABLE_PREVIEWS = YES;
  1240. INFOPLIST_FILE = macOS/Info.plist;
  1241. LD_RUNPATH_SEARCH_PATHS = (
  1242. "$(inherited)",
  1243. "@executable_path/../Frameworks",
  1244. );
  1245. MACOSX_DEPLOYMENT_TARGET = 11.0;
  1246. MARKETING_VERSION = 0.6.0;
  1247. PRODUCT_BUNDLE_IDENTIFIER = "com.abunchtell.WriteFreely-MultiPlatform";
  1248. PRODUCT_NAME = "WriteFreely for Mac";
  1249. SDKROOT = macosx;
  1250. SWIFT_VERSION = 5.0;
  1251. };
  1252. name = Debug;
  1253. };
  1254. 17DF32B724C87D3500BCE2E3 /* Release */ = {
  1255. isa = XCBuildConfiguration;
  1256. buildSettings = {
  1257. ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  1258. ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
  1259. CODE_SIGN_ENTITLEMENTS = macOS/macOS.entitlements;
  1260. CODE_SIGN_IDENTITY = "Apple Development";
  1261. CODE_SIGN_STYLE = Automatic;
  1262. COMBINE_HIDPI_IMAGES = YES;
  1263. CURRENT_PROJECT_VERSION = 620;
  1264. DEVELOPMENT_TEAM = TPPAB4YBA6;
  1265. ENABLE_HARDENED_RUNTIME = YES;
  1266. ENABLE_PREVIEWS = YES;
  1267. INFOPLIST_FILE = macOS/Info.plist;
  1268. LD_RUNPATH_SEARCH_PATHS = (
  1269. "$(inherited)",
  1270. "@executable_path/../Frameworks",
  1271. );
  1272. MACOSX_DEPLOYMENT_TARGET = 11.0;
  1273. MARKETING_VERSION = 0.6.0;
  1274. PRODUCT_BUNDLE_IDENTIFIER = "com.abunchtell.WriteFreely-MultiPlatform";
  1275. PRODUCT_NAME = "WriteFreely for Mac";
  1276. SDKROOT = macosx;
  1277. SWIFT_VERSION = 5.0;
  1278. };
  1279. name = Release;
  1280. };
  1281. 17DF32B924C87D3500BCE2E3 /* Debug */ = {
  1282. isa = XCBuildConfiguration;
  1283. buildSettings = {
  1284. ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
  1285. CODE_SIGN_STYLE = Automatic;
  1286. DEVELOPMENT_TEAM = TPPAB4YBA6;
  1287. INFOPLIST_FILE = "Tests iOS/Info.plist";
  1288. IPHONEOS_DEPLOYMENT_TARGET = 14.0;
  1289. LD_RUNPATH_SEARCH_PATHS = (
  1290. "$(inherited)",
  1291. "@executable_path/Frameworks",
  1292. "@loader_path/Frameworks",
  1293. );
  1294. PRODUCT_BUNDLE_IDENTIFIER = "com.abunchtell.Tests-iOS";
  1295. PRODUCT_NAME = "$(TARGET_NAME)";
  1296. SDKROOT = iphoneos;
  1297. SWIFT_VERSION = 5.0;
  1298. TARGETED_DEVICE_FAMILY = "1,2";
  1299. TEST_TARGET_NAME = "WriteFreely-MultiPlatform (iOS)";
  1300. };
  1301. name = Debug;
  1302. };
  1303. 17DF32BA24C87D3500BCE2E3 /* Release */ = {
  1304. isa = XCBuildConfiguration;
  1305. buildSettings = {
  1306. ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
  1307. CODE_SIGN_STYLE = Automatic;
  1308. DEVELOPMENT_TEAM = TPPAB4YBA6;
  1309. INFOPLIST_FILE = "Tests iOS/Info.plist";
  1310. IPHONEOS_DEPLOYMENT_TARGET = 14.0;
  1311. LD_RUNPATH_SEARCH_PATHS = (
  1312. "$(inherited)",
  1313. "@executable_path/Frameworks",
  1314. "@loader_path/Frameworks",
  1315. );
  1316. PRODUCT_BUNDLE_IDENTIFIER = "com.abunchtell.Tests-iOS";
  1317. PRODUCT_NAME = "$(TARGET_NAME)";
  1318. SDKROOT = iphoneos;
  1319. SWIFT_VERSION = 5.0;
  1320. TARGETED_DEVICE_FAMILY = "1,2";
  1321. TEST_TARGET_NAME = "WriteFreely-MultiPlatform (iOS)";
  1322. VALIDATE_PRODUCT = YES;
  1323. };
  1324. name = Release;
  1325. };
  1326. 17DF32BC24C87D3500BCE2E3 /* Debug */ = {
  1327. isa = XCBuildConfiguration;
  1328. buildSettings = {
  1329. ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
  1330. CODE_SIGN_STYLE = Automatic;
  1331. COMBINE_HIDPI_IMAGES = YES;
  1332. DEVELOPMENT_TEAM = TPPAB4YBA6;
  1333. INFOPLIST_FILE = "Tests macOS/Info.plist";
  1334. LD_RUNPATH_SEARCH_PATHS = (
  1335. "$(inherited)",
  1336. "@executable_path/../Frameworks",
  1337. "@loader_path/../Frameworks",
  1338. );
  1339. MACOSX_DEPLOYMENT_TARGET = 10.15;
  1340. PRODUCT_BUNDLE_IDENTIFIER = "com.abunchtell.Tests-macOS";
  1341. PRODUCT_NAME = "$(TARGET_NAME)";
  1342. SDKROOT = macosx;
  1343. SWIFT_VERSION = 5.0;
  1344. TEST_TARGET_NAME = "WriteFreely-MultiPlatform (macOS)";
  1345. };
  1346. name = Debug;
  1347. };
  1348. 17DF32BD24C87D3500BCE2E3 /* Release */ = {
  1349. isa = XCBuildConfiguration;
  1350. buildSettings = {
  1351. ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
  1352. CODE_SIGN_STYLE = Automatic;
  1353. COMBINE_HIDPI_IMAGES = YES;
  1354. DEVELOPMENT_TEAM = TPPAB4YBA6;
  1355. INFOPLIST_FILE = "Tests macOS/Info.plist";
  1356. LD_RUNPATH_SEARCH_PATHS = (
  1357. "$(inherited)",
  1358. "@executable_path/../Frameworks",
  1359. "@loader_path/../Frameworks",
  1360. );
  1361. MACOSX_DEPLOYMENT_TARGET = 10.15;
  1362. PRODUCT_BUNDLE_IDENTIFIER = "com.abunchtell.Tests-macOS";
  1363. PRODUCT_NAME = "$(TARGET_NAME)";
  1364. SDKROOT = macosx;
  1365. SWIFT_VERSION = 5.0;
  1366. TEST_TARGET_NAME = "WriteFreely-MultiPlatform (macOS)";
  1367. };
  1368. name = Release;
  1369. };
  1370. /* End XCBuildConfiguration section */
  1371. /* Begin XCConfigurationList section */
  1372. 172E10112735B83E00061372 /* Build configuration list for PBXNativeTarget "ActionExtension-iOS" */ = {
  1373. isa = XCConfigurationList;
  1374. buildConfigurations = (
  1375. 172E100F2735B83E00061372 /* Debug */,
  1376. 172E10102735B83E00061372 /* Release */,
  1377. );
  1378. defaultConfigurationIsVisible = 0;
  1379. defaultConfigurationName = Release;
  1380. };
  1381. 17DF327F24C87D3300BCE2E3 /* Build configuration list for PBXProject "WriteFreely-MultiPlatform" */ = {
  1382. isa = XCConfigurationList;
  1383. buildConfigurations = (
  1384. 17DF32B024C87D3500BCE2E3 /* Debug */,
  1385. 17DF32B124C87D3500BCE2E3 /* Release */,
  1386. );
  1387. defaultConfigurationIsVisible = 0;
  1388. defaultConfigurationName = Release;
  1389. };
  1390. 17DF32B224C87D3500BCE2E3 /* Build configuration list for PBXNativeTarget "WriteFreely-MultiPlatform (iOS)" */ = {
  1391. isa = XCConfigurationList;
  1392. buildConfigurations = (
  1393. 17DF32B324C87D3500BCE2E3 /* Debug */,
  1394. 17DF32B424C87D3500BCE2E3 /* Release */,
  1395. );
  1396. defaultConfigurationIsVisible = 0;
  1397. defaultConfigurationName = Release;
  1398. };
  1399. 17DF32B524C87D3500BCE2E3 /* Build configuration list for PBXNativeTarget "WriteFreely-MultiPlatform (macOS)" */ = {
  1400. isa = XCConfigurationList;
  1401. buildConfigurations = (
  1402. 17DF32B624C87D3500BCE2E3 /* Debug */,
  1403. 17DF32B724C87D3500BCE2E3 /* Release */,
  1404. );
  1405. defaultConfigurationIsVisible = 0;
  1406. defaultConfigurationName = Release;
  1407. };
  1408. 17DF32B824C87D3500BCE2E3 /* Build configuration list for PBXNativeTarget "Tests iOS" */ = {
  1409. isa = XCConfigurationList;
  1410. buildConfigurations = (
  1411. 17DF32B924C87D3500BCE2E3 /* Debug */,
  1412. 17DF32BA24C87D3500BCE2E3 /* Release */,
  1413. );
  1414. defaultConfigurationIsVisible = 0;
  1415. defaultConfigurationName = Release;
  1416. };
  1417. 17DF32BB24C87D3500BCE2E3 /* Build configuration list for PBXNativeTarget "Tests macOS" */ = {
  1418. isa = XCConfigurationList;
  1419. buildConfigurations = (
  1420. 17DF32BC24C87D3500BCE2E3 /* Debug */,
  1421. 17DF32BD24C87D3500BCE2E3 /* Release */,
  1422. );
  1423. defaultConfigurationIsVisible = 0;
  1424. defaultConfigurationName = Release;
  1425. };
  1426. /* End XCConfigurationList section */
  1427. /* Begin XCRemoteSwiftPackageReference section */
  1428. 1784D2EB27946D880033E72E /* XCRemoteSwiftPackageReference "writefreely-swift" */ = {
  1429. isa = XCRemoteSwiftPackageReference;
  1430. repositoryURL = "https://github.com/writefreely/writefreely-swift";
  1431. requirement = {
  1432. kind = upToNextMajorVersion;
  1433. minimumVersion = 0.3.4;
  1434. };
  1435. };
  1436. 17D4926327947B4D0035BD7E /* XCRemoteSwiftPackageReference "Sparkle" */ = {
  1437. isa = XCRemoteSwiftPackageReference;
  1438. repositoryURL = "https://github.com/sparkle-project/Sparkle";
  1439. requirement = {
  1440. kind = upToNextMinorVersion;
  1441. minimumVersion = 2.0.0;
  1442. };
  1443. };
  1444. /* End XCRemoteSwiftPackageReference section */
  1445. /* Begin XCSwiftPackageProductDependency section */
  1446. 1784D2EC27946D880033E72E /* WriteFreely */ = {
  1447. isa = XCSwiftPackageProductDependency;
  1448. package = 1784D2EB27946D880033E72E /* XCRemoteSwiftPackageReference "writefreely-swift" */;
  1449. productName = WriteFreely;
  1450. };
  1451. 1784D2EE27946D9A0033E72E /* WriteFreely */ = {
  1452. isa = XCSwiftPackageProductDependency;
  1453. package = 1784D2EB27946D880033E72E /* XCRemoteSwiftPackageReference "writefreely-swift" */;
  1454. productName = WriteFreely;
  1455. };
  1456. 1784D2F027946DA10033E72E /* WriteFreely */ = {
  1457. isa = XCSwiftPackageProductDependency;
  1458. package = 1784D2EB27946D880033E72E /* XCRemoteSwiftPackageReference "writefreely-swift" */;
  1459. productName = WriteFreely;
  1460. };
  1461. 17D4926427947B4D0035BD7E /* Sparkle */ = {
  1462. isa = XCSwiftPackageProductDependency;
  1463. package = 17D4926327947B4D0035BD7E /* XCRemoteSwiftPackageReference "Sparkle" */;
  1464. productName = Sparkle;
  1465. };
  1466. /* End XCSwiftPackageProductDependency section */
  1467. /* Begin XCVersionGroup section */
  1468. 1756DBB524FED3A400207AB8 /* LocalStorageModel.xcdatamodeld */ = {
  1469. isa = XCVersionGroup;
  1470. children = (
  1471. 1756DBB624FED3A400207AB8 /* LocalStorageModel.xcdatamodel */,
  1472. );
  1473. currentVersion = 1756DBB624FED3A400207AB8 /* LocalStorageModel.xcdatamodel */;
  1474. path = LocalStorageModel.xcdatamodeld;
  1475. sourceTree = "<group>";
  1476. versionGroupType = wrapper.xcdatamodel;
  1477. };
  1478. /* End XCVersionGroup section */
  1479. };
  1480. rootObject = 17DF327C24C87D3300BCE2E3 /* Project object */;
  1481. }