Skip to content

Commit 11fbe14

Browse files
authored
Merge pull request #218 from dokar3/add-ios-targets
Add iOS targets
2 parents 82931af + 1908a46 commit 11fbe14

17 files changed

Lines changed: 573 additions & 4 deletions

File tree

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ Another feature-rich bottom sheet for Compose Multiplatform. The following targe
99
- Android
1010
- Desktop
1111
- Web (wasmJs)
12-
13-
Seeking contributions for the iOS target since I'm a Windows-only user. If you want to help please feel free to make a pull request.
12+
- iOS
1413

1514
<a href="images/screenshot_simple.png"><img src="images/screenshot_simple.png" width="32%"/></a>
1615
<a href="images/screenshot_list.png"><img src="images/screenshot_list.png" width="32%"/></a>

sample-ios/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**/xcuserdata/
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
TEAM_ID=
2+
BUNDLE_ID=com.dokar.sheets.sample
3+
APP_NAME=Sheets Sample
Lines changed: 370 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,370 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 54;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2152FB032600AC8F00CF470E /* iOSApp.swift */; };
11+
3251B1342AA8C2AA001521C0 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3251B1332AA8C2AA001521C0 /* ContentView.swift */; };
12+
/* End PBXBuildFile section */
13+
14+
/* Begin PBXFileReference section */
15+
2152FB032600AC8F00CF470E /* iOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iOSApp.swift; sourceTree = "<group>"; };
16+
3251B1332AA8C2AA001521C0 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
17+
7555FF7B242A565900829871 /* Sheets Sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Sheets Sample.app"; sourceTree = BUILT_PRODUCTS_DIR; };
18+
7555FF8C242A565B00829871 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
19+
AB3632DC29227652001CCB65 /* Config.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = "<group>"; };
20+
/* End PBXFileReference section */
21+
22+
/* Begin PBXFrameworksBuildPhase section */
23+
9964867F0862B4D9FB6ABFC7 /* Frameworks */ = {
24+
isa = PBXFrameworksBuildPhase;
25+
buildActionMask = 2147483647;
26+
files = (
27+
);
28+
runOnlyForDeploymentPostprocessing = 0;
29+
};
30+
/* End PBXFrameworksBuildPhase section */
31+
32+
/* Begin PBXGroup section */
33+
7555FF72242A565900829871 = {
34+
isa = PBXGroup;
35+
children = (
36+
AB1DB47929225F7C00F7AF9C /* Configuration */,
37+
7555FF7D242A565900829871 /* iosApp */,
38+
7555FF7C242A565900829871 /* Products */,
39+
);
40+
sourceTree = "<group>";
41+
};
42+
7555FF7C242A565900829871 /* Products */ = {
43+
isa = PBXGroup;
44+
children = (
45+
7555FF7B242A565900829871 /* Sheets Sample.app */,
46+
);
47+
name = Products;
48+
sourceTree = "<group>";
49+
};
50+
7555FF7D242A565900829871 /* iosApp */ = {
51+
isa = PBXGroup;
52+
children = (
53+
7555FF8C242A565B00829871 /* Info.plist */,
54+
2152FB032600AC8F00CF470E /* iOSApp.swift */,
55+
3251B1332AA8C2AA001521C0 /* ContentView.swift */,
56+
);
57+
path = iosApp;
58+
sourceTree = "<group>";
59+
};
60+
AB1DB47929225F7C00F7AF9C /* Configuration */ = {
61+
isa = PBXGroup;
62+
children = (
63+
AB3632DC29227652001CCB65 /* Config.xcconfig */,
64+
);
65+
path = Configuration;
66+
sourceTree = "<group>";
67+
};
68+
/* End PBXGroup section */
69+
70+
/* Begin PBXNativeTarget section */
71+
7555FF7A242A565900829871 /* iosApp */ = {
72+
isa = PBXNativeTarget;
73+
buildConfigurationList = 7555FFA5242A565B00829871 /* Build configuration list for PBXNativeTarget "iosApp" */;
74+
buildPhases = (
75+
05EA384A2A8A60F800FD98BE /* Compile Kotlin Framework */,
76+
7555FF77242A565900829871 /* Sources */,
77+
7555FF79242A565900829871 /* Resources */,
78+
9964867F0862B4D9FB6ABFC7 /* Frameworks */,
79+
);
80+
buildRules = (
81+
);
82+
dependencies = (
83+
);
84+
name = iosApp;
85+
productName = iosApp;
86+
productReference = 7555FF7B242A565900829871 /* Sheets Sample.app */;
87+
productType = "com.apple.product-type.application";
88+
};
89+
/* End PBXNativeTarget section */
90+
91+
/* Begin PBXProject section */
92+
7555FF73242A565900829871 /* Project object */ = {
93+
isa = PBXProject;
94+
attributes = {
95+
LastSwiftUpdateCheck = 1500;
96+
LastUpgradeCheck = 1500;
97+
ORGANIZATIONNAME = "com.dokar";
98+
TargetAttributes = {
99+
7555FF7A242A565900829871 = {
100+
CreatedOnToolsVersion = 15.0;
101+
ProvisioningStyle = Automatic;
102+
};
103+
};
104+
};
105+
buildConfigurationList = 7555FF76242A565900829871 /* Build configuration list for PBXProject "iosApp" */;
106+
compatibilityVersion = "Xcode 14.0";
107+
developmentRegion = en;
108+
hasScannedForEncodings = 0;
109+
knownRegions = (
110+
en,
111+
Base,
112+
);
113+
mainGroup = 7555FF72242A565900829871;
114+
productRefGroup = 7555FF7C242A565900829871 /* Products */;
115+
projectDirPath = "";
116+
projectRoot = "";
117+
targets = (
118+
7555FF7A242A565900829871 /* iosApp */,
119+
);
120+
};
121+
/* End PBXProject section */
122+
123+
/* Begin PBXResourcesBuildPhase section */
124+
7555FF79242A565900829871 /* Resources */ = {
125+
isa = PBXResourcesBuildPhase;
126+
buildActionMask = 2147483647;
127+
files = (
128+
);
129+
runOnlyForDeploymentPostprocessing = 0;
130+
};
131+
/* End PBXResourcesBuildPhase section */
132+
133+
/* Begin PBXShellScriptBuildPhase section */
134+
05EA384A2A8A60F800FD98BE /* Compile Kotlin Framework */ = {
135+
isa = PBXShellScriptBuildPhase;
136+
buildActionMask = 2147483647;
137+
files = (
138+
);
139+
inputFileListPaths = (
140+
);
141+
inputPaths = (
142+
);
143+
name = "Compile Kotlin Framework";
144+
outputFileListPaths = (
145+
);
146+
outputPaths = (
147+
);
148+
runOnlyForDeploymentPostprocessing = 0;
149+
shellPath = /bin/sh;
150+
shellScript = "cd \"$SRCROOT/..\"\n./gradlew :sample:embedAndSignAppleFrameworkForXcode\n";
151+
};
152+
/* End PBXShellScriptBuildPhase section */
153+
154+
/* Begin PBXSourcesBuildPhase section */
155+
7555FF77242A565900829871 /* Sources */ = {
156+
isa = PBXSourcesBuildPhase;
157+
buildActionMask = 2147483647;
158+
files = (
159+
2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */,
160+
3251B1342AA8C2AA001521C0 /* ContentView.swift in Sources */,
161+
);
162+
runOnlyForDeploymentPostprocessing = 0;
163+
};
164+
/* End PBXSourcesBuildPhase section */
165+
166+
/* Begin XCBuildConfiguration section */
167+
7555FFA3242A565B00829871 /* Debug */ = {
168+
isa = XCBuildConfiguration;
169+
baseConfigurationReference = AB3632DC29227652001CCB65 /* Config.xcconfig */;
170+
buildSettings = {
171+
ALWAYS_SEARCH_USER_PATHS = NO;
172+
CLANG_ANALYZER_NONNULL = YES;
173+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
174+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
175+
CLANG_CXX_LIBRARY = "libc++";
176+
CLANG_ENABLE_MODULES = YES;
177+
CLANG_ENABLE_OBJC_ARC = YES;
178+
CLANG_ENABLE_OBJC_WEAK = YES;
179+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
180+
CLANG_WARN_BOOL_CONVERSION = YES;
181+
CLANG_WARN_COMMA = YES;
182+
CLANG_WARN_CONSTANT_CONVERSION = YES;
183+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
184+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
185+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
186+
CLANG_WARN_EMPTY_BODY = YES;
187+
CLANG_WARN_ENUM_CONVERSION = YES;
188+
CLANG_WARN_INFINITE_RECURSION = YES;
189+
CLANG_WARN_INT_CONVERSION = YES;
190+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
191+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
192+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
193+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
194+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
195+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
196+
CLANG_WARN_STRICT_PROTOTYPES = YES;
197+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
198+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
199+
CLANG_WARN_UNREACHABLE_CODE = YES;
200+
COPY_PHASE_STRIP = NO;
201+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
202+
ENABLE_STRICT_OBJC_MSGSEND = YES;
203+
ENABLE_TESTABILITY = YES;
204+
GCC_C_LANGUAGE_STANDARD = gnu17;
205+
GCC_DYNAMIC_NO_PIC = NO;
206+
GCC_NO_COMMON_BLOCKS = YES;
207+
GCC_OPTIMIZATION_LEVEL = 0;
208+
GCC_PREPROCESSOR_DEFINITIONS = (
209+
"DEBUG=1",
210+
"$(inherited)",
211+
);
212+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
213+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
214+
GCC_WARN_UNDECLARED_SELECTOR = YES;
215+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
216+
GCC_WARN_UNUSED_FUNCTION = YES;
217+
GCC_WARN_UNUSED_VARIABLE = YES;
218+
IPHONEOS_DEPLOYMENT_TARGET = 17.2;
219+
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
220+
MTL_FAST_MATH = YES;
221+
SDKROOT = iphoneos;
222+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
223+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
224+
};
225+
name = Debug;
226+
};
227+
7555FFA4242A565B00829871 /* Release */ = {
228+
isa = XCBuildConfiguration;
229+
baseConfigurationReference = AB3632DC29227652001CCB65 /* Config.xcconfig */;
230+
buildSettings = {
231+
ALWAYS_SEARCH_USER_PATHS = NO;
232+
CLANG_ANALYZER_NONNULL = YES;
233+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
234+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
235+
CLANG_CXX_LIBRARY = "libc++";
236+
CLANG_ENABLE_MODULES = YES;
237+
CLANG_ENABLE_OBJC_ARC = YES;
238+
CLANG_ENABLE_OBJC_WEAK = YES;
239+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
240+
CLANG_WARN_BOOL_CONVERSION = YES;
241+
CLANG_WARN_COMMA = YES;
242+
CLANG_WARN_CONSTANT_CONVERSION = YES;
243+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
244+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
245+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
246+
CLANG_WARN_EMPTY_BODY = YES;
247+
CLANG_WARN_ENUM_CONVERSION = YES;
248+
CLANG_WARN_INFINITE_RECURSION = YES;
249+
CLANG_WARN_INT_CONVERSION = YES;
250+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
251+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
252+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
253+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
254+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
255+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
256+
CLANG_WARN_STRICT_PROTOTYPES = YES;
257+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
258+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
259+
CLANG_WARN_UNREACHABLE_CODE = YES;
260+
COPY_PHASE_STRIP = NO;
261+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
262+
ENABLE_NS_ASSERTIONS = NO;
263+
ENABLE_STRICT_OBJC_MSGSEND = YES;
264+
GCC_C_LANGUAGE_STANDARD = gnu17;
265+
GCC_NO_COMMON_BLOCKS = YES;
266+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
267+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
268+
GCC_WARN_UNDECLARED_SELECTOR = YES;
269+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
270+
GCC_WARN_UNUSED_FUNCTION = YES;
271+
GCC_WARN_UNUSED_VARIABLE = YES;
272+
IPHONEOS_DEPLOYMENT_TARGET = 17.2;
273+
MTL_ENABLE_DEBUG_INFO = NO;
274+
MTL_FAST_MATH = YES;
275+
SDKROOT = iphoneos;
276+
SWIFT_COMPILATION_MODE = wholemodule;
277+
SWIFT_OPTIMIZATION_LEVEL = "-O";
278+
VALIDATE_PRODUCT = YES;
279+
};
280+
name = Release;
281+
};
282+
7555FFA6242A565B00829871 /* Debug */ = {
283+
isa = XCBuildConfiguration;
284+
buildSettings = {
285+
CODE_SIGN_IDENTITY = "Apple Development";
286+
CODE_SIGN_STYLE = Automatic;
287+
DEVELOPMENT_TEAM = "$(TEAM_ID)";
288+
ENABLE_PREVIEWS = YES;
289+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
290+
FRAMEWORK_SEARCH_PATHS = (
291+
"$(inherited)",
292+
"$(SRCROOT)/../sample/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)",
293+
);
294+
INFOPLIST_FILE = iosApp/Info.plist;
295+
IPHONEOS_DEPLOYMENT_TARGET = 17.2;
296+
LD_RUNPATH_SEARCH_PATHS = (
297+
"$(inherited)",
298+
"@executable_path/Frameworks",
299+
);
300+
OTHER_LDFLAGS = (
301+
"$(inherited)",
302+
"-framework",
303+
SheetsSample,
304+
);
305+
PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_ID)";
306+
PRODUCT_NAME = "$(APP_NAME)";
307+
PROVISIONING_PROFILE_SPECIFIER = "";
308+
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
309+
SWIFT_VERSION = 5.0;
310+
TARGETED_DEVICE_FAMILY = "1,2";
311+
};
312+
name = Debug;
313+
};
314+
7555FFA7242A565B00829871 /* Release */ = {
315+
isa = XCBuildConfiguration;
316+
buildSettings = {
317+
CODE_SIGN_IDENTITY = "Apple Development";
318+
CODE_SIGN_STYLE = Automatic;
319+
DEVELOPMENT_TEAM = "$(TEAM_ID)";
320+
ENABLE_PREVIEWS = YES;
321+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
322+
FRAMEWORK_SEARCH_PATHS = (
323+
"$(inherited)",
324+
"$(SRCROOT)/../sample/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)",
325+
);
326+
INFOPLIST_FILE = iosApp/Info.plist;
327+
IPHONEOS_DEPLOYMENT_TARGET = 17.2;
328+
LD_RUNPATH_SEARCH_PATHS = (
329+
"$(inherited)",
330+
"@executable_path/Frameworks",
331+
);
332+
OTHER_LDFLAGS = (
333+
"$(inherited)",
334+
"-framework",
335+
SheetsSample,
336+
);
337+
PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_ID)";
338+
PRODUCT_NAME = "$(APP_NAME)";
339+
PROVISIONING_PROFILE_SPECIFIER = "";
340+
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
341+
SWIFT_VERSION = 5.0;
342+
TARGETED_DEVICE_FAMILY = "1,2";
343+
};
344+
name = Release;
345+
};
346+
/* End XCBuildConfiguration section */
347+
348+
/* Begin XCConfigurationList section */
349+
7555FF76242A565900829871 /* Build configuration list for PBXProject "iosApp" */ = {
350+
isa = XCConfigurationList;
351+
buildConfigurations = (
352+
7555FFA3242A565B00829871 /* Debug */,
353+
7555FFA4242A565B00829871 /* Release */,
354+
);
355+
defaultConfigurationIsVisible = 0;
356+
defaultConfigurationName = Release;
357+
};
358+
7555FFA5242A565B00829871 /* Build configuration list for PBXNativeTarget "iosApp" */ = {
359+
isa = XCConfigurationList;
360+
buildConfigurations = (
361+
7555FFA6242A565B00829871 /* Debug */,
362+
7555FFA7242A565B00829871 /* Release */,
363+
);
364+
defaultConfigurationIsVisible = 0;
365+
defaultConfigurationName = Release;
366+
};
367+
/* End XCConfigurationList section */
368+
};
369+
rootObject = 7555FF73242A565900829871 /* Project object */;
370+
}

0 commit comments

Comments
 (0)