openuispec 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/README.md +42 -3
  2. package/cli/init.ts +2 -0
  3. package/examples/social-app/AGENTS.md +1 -1
  4. package/examples/social-app/CLAUDE.md +1 -1
  5. package/examples/social-app/generated/android/social-app/app/.paparazzi-hashes.json +3 -0
  6. package/examples/social-app/generated/android/social-app/app/build.gradle.kts +2 -0
  7. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/HomeFeedScreen.kt +12 -0
  8. package/examples/social-app/generated/android/social-app/app/src/test/kotlin/com/social/app/screenshots/HomeFeedScreenshotTest.kt +34 -0
  9. package/examples/social-app/generated/android/social-app/build.gradle.kts +1 -0
  10. package/examples/social-app/generated/android/social-app/gradle/libs.versions.toml +2 -0
  11. package/examples/social-app/generated/android/social-app/gradle/wrapper/gradle-wrapper.jar +0 -0
  12. package/examples/social-app/generated/android/social-app/gradlew +239 -16
  13. package/examples/social-app/generated/android/social-app/settings.gradle.kts +4 -0
  14. package/examples/todo-orbit/generated/ios/Todo Orbit/.screenshot-uitest/Sources/ScreenshotUITest.swift +36 -0
  15. package/examples/todo-orbit/generated/ios/Todo Orbit/TodoOrbit.xcodeproj/project.pbxproj +204 -212
  16. package/examples/todo-orbit/generated/ios/Todo Orbit/project.yml +1 -0
  17. package/mcp-server/index.ts +64 -1
  18. package/mcp-server/screenshot-android.ts +462 -0
  19. package/mcp-server/screenshot-ios.ts +541 -0
  20. package/mcp-server/screenshot-shared.ts +200 -0
  21. package/mcp-server/screenshot.ts +15 -1
  22. package/package.json +3 -2
  23. package/examples/todo-orbit/generated/ios/Todo Orbit/TodoOrbit.xcodeproj/xcshareddata/xcschemes/TodoOrbit.xcscheme +0 -79
@@ -3,270 +3,261 @@
3
3
  archiveVersion = 1;
4
4
  classes = {
5
5
  };
6
- objectVersion = 56;
6
+ objectVersion = 77;
7
7
  objects = {
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
- A00000010000000000000000 /* TodoOrbitApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00000010000000000000000 /* TodoOrbitApp.swift */; };
11
- A00000020000000000000000 /* OrbitChrome.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00000020000000000000000 /* OrbitChrome.swift */; };
12
- A00000030000000000000000 /* SchedulePreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00000030000000000000000 /* SchedulePreviewView.swift */; };
13
- A00000040000000000000000 /* TrendChartView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00000040000000000000000 /* TrendChartView.swift */; };
14
- A00000050000000000000000 /* RecurringRuleSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00000050000000000000000 /* RecurringRuleSheet.swift */; };
15
- A00000060000000000000000 /* TaskEditorSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00000060000000000000000 /* TaskEditorSheet.swift */; };
16
- A00000070000000000000000 /* DomainModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00000070000000000000000 /* DomainModels.swift */; };
17
- A00000080000000000000000 /* AnalyticsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00000080000000000000000 /* AnalyticsView.swift */; };
18
- A00000090000000000000000 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00000090000000000000000 /* SettingsView.swift */; };
19
- A000000A0000000000000000 /* TasksHomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B000000A0000000000000000 /* TasksHomeView.swift */; };
20
- A000000B0000000000000000 /* AppModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B000000B0000000000000000 /* AppModel.swift */; };
21
- A000000D0000000000000000 /* Charts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B000000D0000000000000000 /* Charts.framework */; };
22
- A000000E0000000000000000 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B00000110000000000000000 /* Localizable.strings */; };
10
+ 2D75592C66D0E1884E791801 /* TodoOrbitApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6998ADDB28617F993A8C0457 /* TodoOrbitApp.swift */; };
11
+ 444C2BB790724915206776D4 /* TasksHomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39885C677159185FF63FD439 /* TasksHomeView.swift */; };
12
+ 44C05DDE32EE1F77A73E011B /* TrendChartView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ED01AC556A631AD84466AB3 /* TrendChartView.swift */; };
13
+ 460F2F543AC5B058F6D0DE69 /* AnalyticsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8888C94EDF738EA4F84E3F63 /* AnalyticsView.swift */; };
14
+ 4B6073770C4964ABC7ACA41C /* AppModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44D5BC7160E201639C3BB553 /* AppModel.swift */; };
15
+ 68FD9EF9588CF747331EAF75 /* OrbitChrome.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC0BB871A42C8F04757A89FD /* OrbitChrome.swift */; };
16
+ 700123733AA87DE6DA31CE83 /* DomainModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9609062CF96FDC01920A6F1 /* DomainModels.swift */; };
17
+ 77E75D09BECB107ADE055A04 /* SchedulePreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1549DC459C5275175F9C14DA /* SchedulePreviewView.swift */; };
18
+ 9DCD54742C19A7D3569F00AC /* Charts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A697422498544CC5739C094 /* Charts.framework */; };
19
+ BC38D8705D84A35CA4597319 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB44040683A902497C58A015 /* SettingsView.swift */; };
20
+ C48B6CB49E4975FA1F6E375B /* TaskEditorSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18F27CD847E25814CF020BD2 /* TaskEditorSheet.swift */; };
21
+ C6106B18861BE3E491DF43E2 /* RecurringRuleSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2ECC34C8FF28EDDC9779648 /* RecurringRuleSheet.swift */; };
23
22
  /* End PBXBuildFile section */
24
23
 
25
24
  /* Begin PBXFileReference section */
26
- B00000010000000000000000 /* TodoOrbitApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodoOrbitApp.swift; sourceTree = "<group>"; };
27
- B00000020000000000000000 /* OrbitChrome.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrbitChrome.swift; sourceTree = "<group>"; };
28
- B00000030000000000000000 /* SchedulePreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SchedulePreviewView.swift; sourceTree = "<group>"; };
29
- B00000040000000000000000 /* TrendChartView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrendChartView.swift; sourceTree = "<group>"; };
30
- B00000050000000000000000 /* RecurringRuleSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecurringRuleSheet.swift; sourceTree = "<group>"; };
31
- B00000060000000000000000 /* TaskEditorSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaskEditorSheet.swift; sourceTree = "<group>"; };
32
- B00000070000000000000000 /* DomainModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DomainModels.swift; sourceTree = "<group>"; };
33
- B00000080000000000000000 /* AnalyticsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsView.swift; sourceTree = "<group>"; };
34
- B00000090000000000000000 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
35
- B000000A0000000000000000 /* TasksHomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TasksHomeView.swift; sourceTree = "<group>"; };
36
- B000000B0000000000000000 /* AppModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppModel.swift; sourceTree = "<group>"; };
37
- B000000D0000000000000000 /* Charts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Charts.framework; path = System/Library/Frameworks/Charts.framework; sourceTree = SDKROOT; };
38
- B000000E0000000000000000 /* TodoOrbit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TodoOrbit.app; sourceTree = BUILT_PRODUCTS_DIR; };
39
- B000000F0000000000000000 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Resources/en.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; };
40
- B00000100000000000000000 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = Resources/ru.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; };
25
+ 1549DC459C5275175F9C14DA /* SchedulePreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SchedulePreviewView.swift; sourceTree = "<group>"; };
26
+ 18F27CD847E25814CF020BD2 /* TaskEditorSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaskEditorSheet.swift; sourceTree = "<group>"; };
27
+ 39885C677159185FF63FD439 /* TasksHomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TasksHomeView.swift; sourceTree = "<group>"; };
28
+ 44D5BC7160E201639C3BB553 /* AppModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppModel.swift; sourceTree = "<group>"; };
29
+ 4ED01AC556A631AD84466AB3 /* TrendChartView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrendChartView.swift; sourceTree = "<group>"; };
30
+ 557759E88A2388894FA0C7BB /* TodoOrbit.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = TodoOrbit.app; sourceTree = BUILT_PRODUCTS_DIR; };
31
+ 6998ADDB28617F993A8C0457 /* TodoOrbitApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodoOrbitApp.swift; sourceTree = "<group>"; };
32
+ 7A697422498544CC5739C094 /* Charts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Charts.framework; path = System/Library/Frameworks/Charts.framework; sourceTree = SDKROOT; };
33
+ 8888C94EDF738EA4F84E3F63 /* AnalyticsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsView.swift; sourceTree = "<group>"; };
34
+ BB44040683A902497C58A015 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
35
+ DC0BB871A42C8F04757A89FD /* OrbitChrome.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrbitChrome.swift; sourceTree = "<group>"; };
36
+ E2ECC34C8FF28EDDC9779648 /* RecurringRuleSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecurringRuleSheet.swift; sourceTree = "<group>"; };
37
+ F9609062CF96FDC01920A6F1 /* DomainModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DomainModels.swift; sourceTree = "<group>"; };
41
38
  /* End PBXFileReference section */
42
39
 
43
40
  /* Begin PBXFrameworksBuildPhase section */
44
- C00000010000000000000000 /* Frameworks */ = {
41
+ 56326A91B4B75B21E246160E /* Frameworks */ = {
45
42
  isa = PBXFrameworksBuildPhase;
46
43
  buildActionMask = 2147483647;
47
44
  files = (
48
- A000000D0000000000000000 /* Charts.framework in Frameworks */,
45
+ 9DCD54742C19A7D3569F00AC /* Charts.framework in Frameworks */,
49
46
  );
50
47
  runOnlyForDeploymentPostprocessing = 0;
51
48
  };
52
49
  /* End PBXFrameworksBuildPhase section */
53
50
 
54
51
  /* Begin PBXGroup section */
55
- D00000000000000000000000 = {
52
+ 004F5B8035C988C3C942C7B6 /* Products */ = {
56
53
  isa = PBXGroup;
57
54
  children = (
58
- D00000010000000000000000 /* Sources/TodoOrbit */,
59
- D00000070000000000000000 /* Frameworks */,
60
- D00000080000000000000000 /* Products */,
55
+ 557759E88A2388894FA0C7BB /* TodoOrbit.app */,
61
56
  );
57
+ name = Products;
62
58
  sourceTree = "<group>";
63
59
  };
64
- D00000010000000000000000 /* Sources/TodoOrbit */ = {
65
- isa = PBXGroup;
66
- children = (
67
- D00000020000000000000000 /* App */,
68
- D00000030000000000000000 /* Components */,
69
- D00000040000000000000000 /* Flows */,
70
- D00000050000000000000000 /* Models */,
71
- D00000060000000000000000 /* Screens */,
72
- D00000090000000000000000 /* Support */,
73
- D000000A0000000000000000 /* Resources */,
74
- );
75
- path = Sources/TodoOrbit;
76
- sourceTree = SOURCE_ROOT;
77
- };
78
- D00000020000000000000000 /* App */ = {
60
+ 018833EF9D32682D177F5686 /* App */ = {
79
61
  isa = PBXGroup;
80
62
  children = (
81
- B00000010000000000000000 /* TodoOrbitApp.swift */,
63
+ 6998ADDB28617F993A8C0457 /* TodoOrbitApp.swift */,
82
64
  );
83
65
  path = App;
84
66
  sourceTree = "<group>";
85
67
  };
86
- D00000030000000000000000 /* Components */ = {
68
+ 11F92643C9F7A4AC9FC9CCCD /* Screens */ = {
87
69
  isa = PBXGroup;
88
70
  children = (
89
- B00000020000000000000000 /* OrbitChrome.swift */,
90
- B00000030000000000000000 /* SchedulePreviewView.swift */,
91
- B00000040000000000000000 /* TrendChartView.swift */,
71
+ 8888C94EDF738EA4F84E3F63 /* AnalyticsView.swift */,
72
+ BB44040683A902497C58A015 /* SettingsView.swift */,
73
+ 39885C677159185FF63FD439 /* TasksHomeView.swift */,
92
74
  );
93
- path = Components;
75
+ path = Screens;
94
76
  sourceTree = "<group>";
95
77
  };
96
- D00000040000000000000000 /* Flows */ = {
78
+ 2076B302B77DCDE399DBA8FE /* Frameworks */ = {
97
79
  isa = PBXGroup;
98
80
  children = (
99
- B00000050000000000000000 /* RecurringRuleSheet.swift */,
100
- B00000060000000000000000 /* TaskEditorSheet.swift */,
81
+ 7A697422498544CC5739C094 /* Charts.framework */,
101
82
  );
102
- path = Flows;
83
+ name = Frameworks;
103
84
  sourceTree = "<group>";
104
85
  };
105
- D00000050000000000000000 /* Models */ = {
86
+ 20A8D65D5A36A0A1D83FC83B = {
106
87
  isa = PBXGroup;
107
88
  children = (
108
- B00000070000000000000000 /* DomainModels.swift */,
89
+ F8B6569F634112DBF4BA31A0 /* TodoOrbit */,
90
+ 2076B302B77DCDE399DBA8FE /* Frameworks */,
91
+ 004F5B8035C988C3C942C7B6 /* Products */,
109
92
  );
110
- path = Models;
111
93
  sourceTree = "<group>";
112
94
  };
113
- D00000060000000000000000 /* Screens */ = {
95
+ 2533BC30BAF45A76777D6366 /* Components */ = {
114
96
  isa = PBXGroup;
115
97
  children = (
116
- B00000080000000000000000 /* AnalyticsView.swift */,
117
- B00000090000000000000000 /* SettingsView.swift */,
118
- B000000A0000000000000000 /* TasksHomeView.swift */,
98
+ DC0BB871A42C8F04757A89FD /* OrbitChrome.swift */,
99
+ 1549DC459C5275175F9C14DA /* SchedulePreviewView.swift */,
100
+ 4ED01AC556A631AD84466AB3 /* TrendChartView.swift */,
119
101
  );
120
- path = Screens;
102
+ path = Components;
121
103
  sourceTree = "<group>";
122
104
  };
123
- D00000070000000000000000 /* Frameworks */ = {
105
+ 59DB494C80FF64B9BB3FD8AF /* Models */ = {
124
106
  isa = PBXGroup;
125
107
  children = (
126
- B000000D0000000000000000 /* Charts.framework */,
108
+ F9609062CF96FDC01920A6F1 /* DomainModels.swift */,
127
109
  );
128
- name = Frameworks;
110
+ path = Models;
129
111
  sourceTree = "<group>";
130
112
  };
131
- D00000080000000000000000 /* Products */ = {
113
+ 7F193026068F48F53BE750CB /* Support */ = {
132
114
  isa = PBXGroup;
133
115
  children = (
134
- B000000E0000000000000000 /* TodoOrbit.app */,
116
+ 44D5BC7160E201639C3BB553 /* AppModel.swift */,
135
117
  );
136
- name = Products;
118
+ path = Support;
137
119
  sourceTree = "<group>";
138
120
  };
139
- D00000090000000000000000 /* Support */ = {
121
+ C2F4CBD8A241EBF8133FA380 /* Flows */ = {
140
122
  isa = PBXGroup;
141
123
  children = (
142
- B000000B0000000000000000 /* AppModel.swift */,
124
+ E2ECC34C8FF28EDDC9779648 /* RecurringRuleSheet.swift */,
125
+ 18F27CD847E25814CF020BD2 /* TaskEditorSheet.swift */,
143
126
  );
144
- path = Support;
127
+ path = Flows;
145
128
  sourceTree = "<group>";
146
129
  };
147
- D000000A0000000000000000 /* Resources */ = {
130
+ F8B6569F634112DBF4BA31A0 /* TodoOrbit */ = {
148
131
  isa = PBXGroup;
149
132
  children = (
150
- B00000110000000000000000 /* Localizable.strings */,
133
+ 018833EF9D32682D177F5686 /* App */,
134
+ 2533BC30BAF45A76777D6366 /* Components */,
135
+ C2F4CBD8A241EBF8133FA380 /* Flows */,
136
+ 59DB494C80FF64B9BB3FD8AF /* Models */,
137
+ 11F92643C9F7A4AC9FC9CCCD /* Screens */,
138
+ 7F193026068F48F53BE750CB /* Support */,
151
139
  );
152
- name = Resources;
140
+ name = TodoOrbit;
141
+ path = Sources/TodoOrbit;
153
142
  sourceTree = "<group>";
154
143
  };
155
144
  /* End PBXGroup section */
156
145
 
157
146
  /* Begin PBXNativeTarget section */
158
- E00000010000000000000000 /* TodoOrbit */ = {
147
+ 8573DE2D9477FA23E2648D4F /* TodoOrbit */ = {
159
148
  isa = PBXNativeTarget;
160
- buildConfigurationList = F00000010000000000000000 /* Build configuration list for PBXNativeTarget "TodoOrbit" */;
149
+ buildConfigurationList = 8F4D2BE44A3854271D9C066F /* Build configuration list for PBXNativeTarget "TodoOrbit" */;
161
150
  buildPhases = (
162
- C00000020000000000000000 /* Sources */,
163
- C00000010000000000000000 /* Frameworks */,
164
- C00000030000000000000000 /* Resources */,
151
+ 6918283D91B9066E2F9DADD5 /* Sources */,
152
+ 56326A91B4B75B21E246160E /* Frameworks */,
165
153
  );
166
154
  buildRules = (
167
155
  );
168
156
  dependencies = (
169
157
  );
170
158
  name = TodoOrbit;
159
+ packageProductDependencies = (
160
+ );
171
161
  productName = TodoOrbit;
172
- productReference = B000000E0000000000000000 /* TodoOrbit.app */;
162
+ productReference = 557759E88A2388894FA0C7BB /* TodoOrbit.app */;
173
163
  productType = "com.apple.product-type.application";
174
164
  };
175
165
  /* End PBXNativeTarget section */
176
166
 
177
167
  /* Begin PBXProject section */
178
- E00000020000000000000000 /* Project object */ = {
168
+ 8A39DDE78F24DE02B6109EFB /* Project object */ = {
179
169
  isa = PBXProject;
180
170
  attributes = {
181
- BuildIndependentTargetsInParallel = 1;
182
- LastSwiftUpdateCheck = 2600;
183
- LastUpgradeCheck = 2600;
171
+ BuildIndependentTargetsInParallel = YES;
172
+ LastUpgradeCheck = 1430;
184
173
  TargetAttributes = {
185
- E00000010000000000000000 = {
186
- CreatedOnToolsVersion = 26.3;
187
- };
188
174
  };
189
175
  };
190
- buildConfigurationList = F00000020000000000000000 /* Build configuration list for PBXProject "TodoOrbit" */;
191
- compatibilityVersion = "Xcode 14.0";
176
+ buildConfigurationList = A7FE3BBA943E51D9787BFAE2 /* Build configuration list for PBXProject "TodoOrbit" */;
192
177
  developmentRegion = en;
193
178
  hasScannedForEncodings = 0;
194
179
  knownRegions = (
195
- en,
196
- ru,
197
180
  Base,
181
+ en,
198
182
  );
199
- mainGroup = D00000000000000000000000;
200
- productRefGroup = D00000080000000000000000 /* Products */;
183
+ mainGroup = 20A8D65D5A36A0A1D83FC83B;
184
+ minimizedProjectReferenceProxies = 1;
185
+ preferredProjectObjectVersion = 77;
186
+ productRefGroup = 004F5B8035C988C3C942C7B6 /* Products */;
201
187
  projectDirPath = "";
202
188
  projectRoot = "";
203
189
  targets = (
204
- E00000010000000000000000 /* TodoOrbit */,
190
+ 8573DE2D9477FA23E2648D4F /* TodoOrbit */,
205
191
  );
206
192
  };
207
193
  /* End PBXProject section */
208
194
 
209
- /* Begin PBXResourcesBuildPhase section */
210
- C00000030000000000000000 /* Resources */ = {
211
- isa = PBXResourcesBuildPhase;
212
- buildActionMask = 2147483647;
213
- files = (
214
- A000000E0000000000000000 /* Localizable.strings in Resources */,
215
- );
216
- runOnlyForDeploymentPostprocessing = 0;
217
- };
218
- /* End PBXResourcesBuildPhase section */
219
-
220
195
  /* Begin PBXSourcesBuildPhase section */
221
- C00000020000000000000000 /* Sources */ = {
196
+ 6918283D91B9066E2F9DADD5 /* Sources */ = {
222
197
  isa = PBXSourcesBuildPhase;
223
198
  buildActionMask = 2147483647;
224
199
  files = (
225
- A00000010000000000000000 /* TodoOrbitApp.swift in Sources */,
226
- A00000020000000000000000 /* OrbitChrome.swift in Sources */,
227
- A00000030000000000000000 /* SchedulePreviewView.swift in Sources */,
228
- A00000040000000000000000 /* TrendChartView.swift in Sources */,
229
- A00000050000000000000000 /* RecurringRuleSheet.swift in Sources */,
230
- A00000060000000000000000 /* TaskEditorSheet.swift in Sources */,
231
- A00000070000000000000000 /* DomainModels.swift in Sources */,
232
- A00000080000000000000000 /* AnalyticsView.swift in Sources */,
233
- A00000090000000000000000 /* SettingsView.swift in Sources */,
234
- A000000A0000000000000000 /* TasksHomeView.swift in Sources */,
235
- A000000B0000000000000000 /* AppModel.swift in Sources */,
200
+ 460F2F543AC5B058F6D0DE69 /* AnalyticsView.swift in Sources */,
201
+ 4B6073770C4964ABC7ACA41C /* AppModel.swift in Sources */,
202
+ 700123733AA87DE6DA31CE83 /* DomainModels.swift in Sources */,
203
+ 68FD9EF9588CF747331EAF75 /* OrbitChrome.swift in Sources */,
204
+ C6106B18861BE3E491DF43E2 /* RecurringRuleSheet.swift in Sources */,
205
+ 77E75D09BECB107ADE055A04 /* SchedulePreviewView.swift in Sources */,
206
+ BC38D8705D84A35CA4597319 /* SettingsView.swift in Sources */,
207
+ C48B6CB49E4975FA1F6E375B /* TaskEditorSheet.swift in Sources */,
208
+ 444C2BB790724915206776D4 /* TasksHomeView.swift in Sources */,
209
+ 2D75592C66D0E1884E791801 /* TodoOrbitApp.swift in Sources */,
210
+ 44C05DDE32EE1F77A73E011B /* TrendChartView.swift in Sources */,
236
211
  );
237
212
  runOnlyForDeploymentPostprocessing = 0;
238
213
  };
239
214
  /* End PBXSourcesBuildPhase section */
240
215
 
241
- /* Begin PBXVariantGroup section */
242
- B00000110000000000000000 /* Localizable.strings */ = {
243
- isa = PBXVariantGroup;
244
- children = (
245
- B000000F0000000000000000 /* en */,
246
- B00000100000000000000000 /* ru */,
247
- );
248
- name = Localizable.strings;
249
- sourceTree = "<group>";
250
- };
251
- /* End PBXVariantGroup section */
252
-
253
216
  /* Begin XCBuildConfiguration section */
254
- F00000030000000000000000 /* Debug */ = {
217
+ 24892C5AA9CE821A3653389E /* Debug */ = {
255
218
  isa = XCBuildConfiguration;
256
219
  buildSettings = {
257
220
  ALWAYS_SEARCH_USER_PATHS = NO;
221
+ CLANG_ANALYZER_NONNULL = YES;
222
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
223
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
224
+ CLANG_CXX_LIBRARY = "libc++";
258
225
  CLANG_ENABLE_MODULES = YES;
226
+ CLANG_ENABLE_OBJC_ARC = YES;
227
+ CLANG_ENABLE_OBJC_WEAK = YES;
228
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
229
+ CLANG_WARN_BOOL_CONVERSION = YES;
230
+ CLANG_WARN_COMMA = YES;
231
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
232
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
233
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
234
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
235
+ CLANG_WARN_EMPTY_BODY = YES;
236
+ CLANG_WARN_ENUM_CONVERSION = YES;
237
+ CLANG_WARN_INFINITE_RECURSION = YES;
238
+ CLANG_WARN_INT_CONVERSION = YES;
239
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
240
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
241
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
242
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
243
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
244
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
245
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
246
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
247
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
248
+ CLANG_WARN_UNREACHABLE_CODE = YES;
249
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
259
250
  COPY_PHASE_STRIP = NO;
260
251
  DEBUG_INFORMATION_FORMAT = dwarf;
261
252
  ENABLE_STRICT_OBJC_MSGSEND = YES;
262
253
  ENABLE_TESTABILITY = YES;
263
- GCC_C_LANGUAGE_STANDARD = gnu17;
254
+ GCC_C_LANGUAGE_STANDARD = gnu11;
264
255
  GCC_DYNAMIC_NO_PIC = NO;
265
256
  GCC_NO_COMMON_BLOCKS = YES;
266
257
  GCC_OPTIMIZATION_LEVEL = 0;
267
258
  GCC_PREPROCESSOR_DEFINITIONS = (
268
- "DEBUG=1",
269
259
  "$(inherited)",
260
+ "DEBUG=1",
270
261
  );
271
262
  GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
272
263
  GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
@@ -274,61 +265,25 @@
274
265
  GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
275
266
  GCC_WARN_UNUSED_FUNCTION = YES;
276
267
  GCC_WARN_UNUSED_VARIABLE = YES;
277
- IPHONEOS_DEPLOYMENT_TARGET = 17.0;
278
- LOCALIZATION_PREFERS_STRING_CATALOGS = NO;
279
268
  MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
280
269
  MTL_FAST_MATH = YES;
281
270
  ONLY_ACTIVE_ARCH = YES;
271
+ PRODUCT_NAME = "$(TARGET_NAME)";
282
272
  SDKROOT = iphoneos;
283
273
  SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
284
274
  SWIFT_OPTIMIZATION_LEVEL = "-Onone";
285
- SWIFT_VERSION = 5.10;
286
- TARGETED_DEVICE_FAMILY = "1,2";
275
+ SWIFT_VERSION = 5.1;
287
276
  };
288
277
  name = Debug;
289
278
  };
290
- F00000040000000000000000 /* Release */ = {
291
- isa = XCBuildConfiguration;
292
- buildSettings = {
293
- ALWAYS_SEARCH_USER_PATHS = NO;
294
- CLANG_ENABLE_MODULES = YES;
295
- COPY_PHASE_STRIP = NO;
296
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
297
- ENABLE_NS_ASSERTIONS = NO;
298
- ENABLE_STRICT_OBJC_MSGSEND = YES;
299
- GCC_C_LANGUAGE_STANDARD = gnu17;
300
- GCC_NO_COMMON_BLOCKS = YES;
301
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
302
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
303
- GCC_WARN_UNDECLARED_SELECTOR = YES;
304
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
305
- GCC_WARN_UNUSED_FUNCTION = YES;
306
- GCC_WARN_UNUSED_VARIABLE = YES;
307
- IPHONEOS_DEPLOYMENT_TARGET = 17.0;
308
- LOCALIZATION_PREFERS_STRING_CATALOGS = NO;
309
- MTL_ENABLE_DEBUG_INFO = NO;
310
- MTL_FAST_MATH = YES;
311
- SDKROOT = iphoneos;
312
- SWIFT_COMPILATION_MODE = wholemodule;
313
- SWIFT_OPTIMIZATION_LEVEL = "-O";
314
- SWIFT_VERSION = 5.10;
315
- TARGETED_DEVICE_FAMILY = "1,2";
316
- VALIDATE_PRODUCT = YES;
317
- };
318
- name = Release;
319
- };
320
- F00000050000000000000000 /* Debug */ = {
279
+ 4BEC056ADF576D7F4BD63290 /* Release */ = {
321
280
  isa = XCBuildConfiguration;
322
281
  buildSettings = {
323
282
  ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
324
- CODE_SIGN_IDENTITY = "Apple Development";
325
- CODE_SIGN_STYLE = Automatic;
326
- CURRENT_PROJECT_VERSION = 1;
327
- DEVELOPMENT_ASSET_PATHS = "";
328
- DEVELOPMENT_TEAM = C8598CHBN7;
283
+ CODE_SIGN_IDENTITY = "iPhone Developer";
284
+ DEVELOPMENT_ASSET_PATHS = "\"Sources/TodoOrbit/Preview Content\"";
329
285
  GENERATE_INFOPLIST_FILE = YES;
330
286
  INFOPLIST_KEY_CFBundleDisplayName = "Todo Orbit";
331
- INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity";
332
287
  INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
333
288
  INFOPLIST_KEY_UILaunchScreen_Generation = YES;
334
289
  IPHONEOS_DEPLOYMENT_TARGET = 17.0;
@@ -336,31 +291,20 @@
336
291
  "$(inherited)",
337
292
  "@executable_path/Frameworks",
338
293
  );
339
- LOCALIZATION_PREFERS_STRING_CATALOGS = NO;
340
- MARKETING_VERSION = 1.0;
341
- PRODUCT_BUNDLE_IDENTIFIER = uz.rsteam.todoorbit.test;
342
- PRODUCT_NAME = "$(TARGET_NAME)";
343
- PROVISIONING_PROFILE_SPECIFIER = "";
294
+ PRODUCT_BUNDLE_IDENTIFIER = uz.rsteam.generated.todoorbit;
344
295
  SDKROOT = iphoneos;
345
- SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
346
- SWIFT_EMIT_LOC_STRINGS = NO;
347
- SWIFT_VERSION = 5.10;
348
296
  TARGETED_DEVICE_FAMILY = "1,2";
349
297
  };
350
- name = Debug;
298
+ name = Release;
351
299
  };
352
- F00000060000000000000000 /* Release */ = {
300
+ 8DDF92A630BACDABCF924554 /* Debug */ = {
353
301
  isa = XCBuildConfiguration;
354
302
  buildSettings = {
355
303
  ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
356
- CODE_SIGN_IDENTITY = "Apple Development";
357
- CODE_SIGN_STYLE = Automatic;
358
- CURRENT_PROJECT_VERSION = 1;
359
- DEVELOPMENT_ASSET_PATHS = "";
360
- DEVELOPMENT_TEAM = C8598CHBN7;
304
+ CODE_SIGN_IDENTITY = "iPhone Developer";
305
+ DEVELOPMENT_ASSET_PATHS = "\"Sources/TodoOrbit/Preview Content\"";
361
306
  GENERATE_INFOPLIST_FILE = YES;
362
307
  INFOPLIST_KEY_CFBundleDisplayName = "Todo Orbit";
363
- INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity";
364
308
  INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
365
309
  INFOPLIST_KEY_UILaunchScreen_Generation = YES;
366
310
  IPHONEOS_DEPLOYMENT_TARGET = 17.0;
@@ -368,41 +312,89 @@
368
312
  "$(inherited)",
369
313
  "@executable_path/Frameworks",
370
314
  );
371
- LOCALIZATION_PREFERS_STRING_CATALOGS = NO;
372
- MARKETING_VERSION = 1.0;
373
- PRODUCT_BUNDLE_IDENTIFIER = uz.rsteam.todoorbit.test;
374
- PRODUCT_NAME = "$(TARGET_NAME)";
375
- PROVISIONING_PROFILE_SPECIFIER = "";
315
+ PRODUCT_BUNDLE_IDENTIFIER = uz.rsteam.generated.todoorbit;
376
316
  SDKROOT = iphoneos;
377
- SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
378
- SWIFT_EMIT_LOC_STRINGS = NO;
379
- SWIFT_VERSION = 5.10;
380
317
  TARGETED_DEVICE_FAMILY = "1,2";
381
318
  };
319
+ name = Debug;
320
+ };
321
+ DA17931FFA14F76C344F98E6 /* Release */ = {
322
+ isa = XCBuildConfiguration;
323
+ buildSettings = {
324
+ ALWAYS_SEARCH_USER_PATHS = NO;
325
+ CLANG_ANALYZER_NONNULL = YES;
326
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
327
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
328
+ CLANG_CXX_LIBRARY = "libc++";
329
+ CLANG_ENABLE_MODULES = YES;
330
+ CLANG_ENABLE_OBJC_ARC = YES;
331
+ CLANG_ENABLE_OBJC_WEAK = YES;
332
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
333
+ CLANG_WARN_BOOL_CONVERSION = YES;
334
+ CLANG_WARN_COMMA = YES;
335
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
336
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
337
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
338
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
339
+ CLANG_WARN_EMPTY_BODY = YES;
340
+ CLANG_WARN_ENUM_CONVERSION = YES;
341
+ CLANG_WARN_INFINITE_RECURSION = YES;
342
+ CLANG_WARN_INT_CONVERSION = YES;
343
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
344
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
345
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
346
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
347
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
348
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
349
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
350
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
351
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
352
+ CLANG_WARN_UNREACHABLE_CODE = YES;
353
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
354
+ COPY_PHASE_STRIP = NO;
355
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
356
+ ENABLE_NS_ASSERTIONS = NO;
357
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
358
+ GCC_C_LANGUAGE_STANDARD = gnu11;
359
+ GCC_NO_COMMON_BLOCKS = YES;
360
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
361
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
362
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
363
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
364
+ GCC_WARN_UNUSED_FUNCTION = YES;
365
+ GCC_WARN_UNUSED_VARIABLE = YES;
366
+ MTL_ENABLE_DEBUG_INFO = NO;
367
+ MTL_FAST_MATH = YES;
368
+ PRODUCT_NAME = "$(TARGET_NAME)";
369
+ SDKROOT = iphoneos;
370
+ SWIFT_COMPILATION_MODE = wholemodule;
371
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
372
+ SWIFT_VERSION = 5.1;
373
+ };
382
374
  name = Release;
383
375
  };
384
376
  /* End XCBuildConfiguration section */
385
377
 
386
378
  /* Begin XCConfigurationList section */
387
- F00000010000000000000000 /* Build configuration list for PBXNativeTarget "TodoOrbit" */ = {
379
+ 8F4D2BE44A3854271D9C066F /* Build configuration list for PBXNativeTarget "TodoOrbit" */ = {
388
380
  isa = XCConfigurationList;
389
381
  buildConfigurations = (
390
- F00000050000000000000000 /* Debug */,
391
- F00000060000000000000000 /* Release */,
382
+ 8DDF92A630BACDABCF924554 /* Debug */,
383
+ 4BEC056ADF576D7F4BD63290 /* Release */,
392
384
  );
393
385
  defaultConfigurationIsVisible = 0;
394
- defaultConfigurationName = Release;
386
+ defaultConfigurationName = Debug;
395
387
  };
396
- F00000020000000000000000 /* Build configuration list for PBXProject "TodoOrbit" */ = {
388
+ A7FE3BBA943E51D9787BFAE2 /* Build configuration list for PBXProject "TodoOrbit" */ = {
397
389
  isa = XCConfigurationList;
398
390
  buildConfigurations = (
399
- F00000030000000000000000 /* Debug */,
400
- F00000040000000000000000 /* Release */,
391
+ 24892C5AA9CE821A3653389E /* Debug */,
392
+ DA17931FFA14F76C344F98E6 /* Release */,
401
393
  );
402
394
  defaultConfigurationIsVisible = 0;
403
- defaultConfigurationName = Release;
395
+ defaultConfigurationName = Debug;
404
396
  };
405
397
  /* End XCConfigurationList section */
406
398
  };
407
- rootObject = E00000020000000000000000 /* Project object */;
399
+ rootObject = 8A39DDE78F24DE02B6109EFB /* Project object */;
408
400
  }
@@ -16,6 +16,7 @@ targets:
16
16
  settings:
17
17
  base:
18
18
  PRODUCT_BUNDLE_IDENTIFIER: uz.rsteam.generated.todoorbit
19
+ GENERATE_INFOPLIST_FILE: YES
19
20
  INFOPLIST_KEY_CFBundleDisplayName: Todo Orbit
20
21
  INFOPLIST_KEY_UILaunchScreen_Generation: YES
21
22
  INFOPLIST_KEY_UIApplicationSceneManifest_Generation: YES