Skip to content
This repository was archived by the owner on Sep 19, 2024. It is now read-only.

Commit 62cc40c

Browse files
committed
Add basic watchOS support
1 parent 70e50f9 commit 62cc40c

File tree

4 files changed

+219
-1
lines changed

4 files changed

+219
-1
lines changed

R.swift.Library.podspec

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,12 @@ Pod::Spec.new do |spec|
1919
spec.source = { :git => "https://github.com/mac-cain13/R.swift.Library.git", :tag => "v#{spec.version}" }
2020

2121
spec.ios.deployment_target = '8.0'
22+
spec.ios.source_files = "Library/**/*.swift"
2223
spec.tvos.deployment_target = '9.0'
24+
spec.tvos.source_files = "Library/**/*.swift"
25+
spec.watchos.deployment_target = '2.2'
26+
spec.watchos.source_files = ["Library/Core/*.swift", "Library/Foundation/*.swift"]
2327

2428
spec.module_name = "Rswift"
25-
spec.source_files = "Library/**/*.swift"
2629

2730
end

R.swift.Library.xcodeproj/project.pbxproj

+174
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,24 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
2F5FBC4421355A1400A83A69 /* Rswift_watchOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F5FBC4221355A1400A83A69 /* Rswift_watchOS.h */; settings = {ATTRIBUTES = (Public, ); }; };
11+
2F5FBC4821355AC400A83A69 /* ColorResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E22D43661C95EEA100692FFF /* ColorResource.swift */; };
12+
2F5FBC4A21355ADB00A83A69 /* Bundle+FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D56DC7721C42B65C00623437 /* Bundle+FileResource.swift */; };
13+
2F5FBC4B21355ADB00A83A69 /* Data+FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20F34A61C92B44100338F81 /* Data+FileResource.swift */; };
14+
2F5FBC4C21355ADF00A83A69 /* FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E435AC1C3D00770091090C /* FileResource.swift */; };
15+
2F5FBC4D21355ADF00A83A69 /* FontResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB21C3D762300DDA68F /* FontResource.swift */; };
16+
2F5FBC4E21355ADF00A83A69 /* Identifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9BA1C1497EB00D16A0C /* Identifier.swift */; };
17+
2F5FBC4F21355ADF00A83A69 /* ImageResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D553F5841C44157000885232 /* ImageResource.swift */; };
18+
2F5FBC5021355ADF00A83A69 /* NibResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9C01C14984300D16A0C /* NibResource.swift */; };
19+
2F5FBC5121355ADF00A83A69 /* ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9BC1C14980600D16A0C /* ReuseIdentifierProtocol.swift */; };
20+
2F5FBC5221355ADF00A83A69 /* StoryboardResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB61C3E482A00DDA68F /* StoryboardResource.swift */; };
21+
2F5FBC5321355ADF00A83A69 /* StoryboardSegueIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9BE1C14983100D16A0C /* StoryboardSegueIdentifierProtocol.swift */; };
22+
2F5FBC5421355ADF00A83A69 /* StoryboardViewControllerResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D51335261C959DF20014C9D4 /* StoryboardViewControllerResource.swift */; };
23+
2F5FBC5521355ADF00A83A69 /* StringResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E250BE961CCBF60300CC71DE /* StringResource.swift */; };
24+
2F5FBC5621355ADF00A83A69 /* Validatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D53F19231C229D7200AE2FAD /* Validatable.swift */; };
25+
2F5FBC5821355B0200A83A69 /* UIColor+ColorResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CA68EE1EE75992009C4DB4 /* UIColor+ColorResource.swift */; };
26+
2F5FBC5921355B0200A83A69 /* UIFont+FontResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB41C3D774000DDA68F /* UIFont+FontResource.swift */; };
27+
2F5FBC5A21355B0200A83A69 /* UIImage+ImageResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D553F5861C44170E00885232 /* UIImage+ImageResource.swift */; };
1028
806E699C1C42BD9C00DE3A8B /* Rswift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 806E69921C42BD9C00DE3A8B /* Rswift.framework */; };
1129
806E69A91C42BDDA00DE3A8B /* FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E435AC1C3D00770091090C /* FileResource.swift */; };
1230
806E69AA1C42BDDA00DE3A8B /* FontResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB21C3D762300DDA68F /* FontResource.swift */; };
@@ -87,6 +105,9 @@
87105
/* End PBXContainerItemProxy section */
88106

89107
/* Begin PBXFileReference section */
108+
2F5FBC4021355A1400A83A69 /* Rswift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Rswift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
109+
2F5FBC4221355A1400A83A69 /* Rswift_watchOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Rswift_watchOS.h; sourceTree = "<group>"; };
110+
2F5FBC4321355A1400A83A69 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
90111
806E69921C42BD9C00DE3A8B /* Rswift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Rswift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
91112
806E699B1C42BD9C00DE3A8B /* RswiftTests-tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "RswiftTests-tvOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
92113
D51335261C959DF20014C9D4 /* StoryboardViewControllerResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardViewControllerResource.swift; sourceTree = "<group>"; };
@@ -125,6 +146,13 @@
125146
/* End PBXFileReference section */
126147

127148
/* Begin PBXFrameworksBuildPhase section */
149+
2F5FBC3D21355A1400A83A69 /* Frameworks */ = {
150+
isa = PBXFrameworksBuildPhase;
151+
buildActionMask = 2147483647;
152+
files = (
153+
);
154+
runOnlyForDeploymentPostprocessing = 0;
155+
};
128156
806E698E1C42BD9C00DE3A8B /* Frameworks */ = {
129157
isa = PBXFrameworksBuildPhase;
130158
buildActionMask = 2147483647;
@@ -158,6 +186,15 @@
158186
/* End PBXFrameworksBuildPhase section */
159187

160188
/* Begin PBXGroup section */
189+
2F5FBC4121355A1400A83A69 /* Rswift-watchOS */ = {
190+
isa = PBXGroup;
191+
children = (
192+
2F5FBC4221355A1400A83A69 /* Rswift_watchOS.h */,
193+
2F5FBC4321355A1400A83A69 /* Info.plist */,
194+
);
195+
path = "Rswift-watchOS";
196+
sourceTree = "<group>";
197+
};
161198
D543F9C21C14987000D16A0C /* UIKit */ = {
162199
isa = PBXGroup;
163200
children = (
@@ -211,6 +248,7 @@
211248
children = (
212249
D59246501C117A55007F94C7 /* Library */,
213250
D592465C1C117A55007F94C7 /* LibraryTests */,
251+
2F5FBC4121355A1400A83A69 /* Rswift-watchOS */,
214252
D592464F1C117A55007F94C7 /* Products */,
215253
);
216254
indentWidth = 2;
@@ -225,6 +263,7 @@
225263
D59246581C117A55007F94C7 /* RswiftTests-iOS.xctest */,
226264
806E69921C42BD9C00DE3A8B /* Rswift.framework */,
227265
806E699B1C42BD9C00DE3A8B /* RswiftTests-tvOS.xctest */,
266+
2F5FBC4021355A1400A83A69 /* Rswift.framework */,
228267
);
229268
name = Products;
230269
sourceTree = "<group>";
@@ -253,6 +292,14 @@
253292
/* End PBXGroup section */
254293

255294
/* Begin PBXHeadersBuildPhase section */
295+
2F5FBC3B21355A1400A83A69 /* Headers */ = {
296+
isa = PBXHeadersBuildPhase;
297+
buildActionMask = 2147483647;
298+
files = (
299+
2F5FBC4421355A1400A83A69 /* Rswift_watchOS.h in Headers */,
300+
);
301+
runOnlyForDeploymentPostprocessing = 0;
302+
};
256303
806E698F1C42BD9C00DE3A8B /* Headers */ = {
257304
isa = PBXHeadersBuildPhase;
258305
buildActionMask = 2147483647;
@@ -272,6 +319,24 @@
272319
/* End PBXHeadersBuildPhase section */
273320

274321
/* Begin PBXNativeTarget section */
322+
2F5FBC3F21355A1400A83A69 /* Rswift-watchOS */ = {
323+
isa = PBXNativeTarget;
324+
buildConfigurationList = 2F5FBC4721355A1400A83A69 /* Build configuration list for PBXNativeTarget "Rswift-watchOS" */;
325+
buildPhases = (
326+
2F5FBC3B21355A1400A83A69 /* Headers */,
327+
2F5FBC3C21355A1400A83A69 /* Sources */,
328+
2F5FBC3D21355A1400A83A69 /* Frameworks */,
329+
2F5FBC3E21355A1400A83A69 /* Resources */,
330+
);
331+
buildRules = (
332+
);
333+
dependencies = (
334+
);
335+
name = "Rswift-watchOS";
336+
productName = "Rswift-watchOS";
337+
productReference = 2F5FBC4021355A1400A83A69 /* Rswift.framework */;
338+
productType = "com.apple.product-type.framework";
339+
};
275340
806E69911C42BD9C00DE3A8B /* Rswift-tvOS */ = {
276341
isa = PBXNativeTarget;
277342
buildConfigurationList = 806E69A31C42BD9C00DE3A8B /* Build configuration list for PBXNativeTarget "Rswift-tvOS" */;
@@ -354,6 +419,10 @@
354419
LastUpgradeCheck = 1000;
355420
ORGANIZATIONNAME = "Mathijs Kadijk";
356421
TargetAttributes = {
422+
2F5FBC3F21355A1400A83A69 = {
423+
CreatedOnToolsVersion = 10.0;
424+
ProvisioningStyle = Automatic;
425+
};
357426
806E69911C42BD9C00DE3A8B = {
358427
CreatedOnToolsVersion = 7.2;
359428
LastSwiftMigration = 0900;
@@ -388,11 +457,19 @@
388457
D59246571C117A55007F94C7 /* RswiftTests-iOS */,
389458
806E69911C42BD9C00DE3A8B /* Rswift-tvOS */,
390459
806E699A1C42BD9C00DE3A8B /* RswiftTests-tvOS */,
460+
2F5FBC3F21355A1400A83A69 /* Rswift-watchOS */,
391461
);
392462
};
393463
/* End PBXProject section */
394464

395465
/* Begin PBXResourcesBuildPhase section */
466+
2F5FBC3E21355A1400A83A69 /* Resources */ = {
467+
isa = PBXResourcesBuildPhase;
468+
buildActionMask = 2147483647;
469+
files = (
470+
);
471+
runOnlyForDeploymentPostprocessing = 0;
472+
};
396473
806E69901C42BD9C00DE3A8B /* Resources */ = {
397474
isa = PBXResourcesBuildPhase;
398475
buildActionMask = 2147483647;
@@ -424,6 +501,30 @@
424501
/* End PBXResourcesBuildPhase section */
425502

426503
/* Begin PBXSourcesBuildPhase section */
504+
2F5FBC3C21355A1400A83A69 /* Sources */ = {
505+
isa = PBXSourcesBuildPhase;
506+
buildActionMask = 2147483647;
507+
files = (
508+
2F5FBC4F21355ADF00A83A69 /* ImageResource.swift in Sources */,
509+
2F5FBC5421355ADF00A83A69 /* StoryboardViewControllerResource.swift in Sources */,
510+
2F5FBC4D21355ADF00A83A69 /* FontResource.swift in Sources */,
511+
2F5FBC5A21355B0200A83A69 /* UIImage+ImageResource.swift in Sources */,
512+
2F5FBC5921355B0200A83A69 /* UIFont+FontResource.swift in Sources */,
513+
2F5FBC4821355AC400A83A69 /* ColorResource.swift in Sources */,
514+
2F5FBC4C21355ADF00A83A69 /* FileResource.swift in Sources */,
515+
2F5FBC5221355ADF00A83A69 /* StoryboardResource.swift in Sources */,
516+
2F5FBC5521355ADF00A83A69 /* StringResource.swift in Sources */,
517+
2F5FBC4B21355ADB00A83A69 /* Data+FileResource.swift in Sources */,
518+
2F5FBC5021355ADF00A83A69 /* NibResource.swift in Sources */,
519+
2F5FBC5321355ADF00A83A69 /* StoryboardSegueIdentifierProtocol.swift in Sources */,
520+
2F5FBC4E21355ADF00A83A69 /* Identifier.swift in Sources */,
521+
2F5FBC4A21355ADB00A83A69 /* Bundle+FileResource.swift in Sources */,
522+
2F5FBC5821355B0200A83A69 /* UIColor+ColorResource.swift in Sources */,
523+
2F5FBC5121355ADF00A83A69 /* ReuseIdentifierProtocol.swift in Sources */,
524+
2F5FBC5621355ADF00A83A69 /* Validatable.swift in Sources */,
525+
);
526+
runOnlyForDeploymentPostprocessing = 0;
527+
};
427528
806E698D1C42BD9C00DE3A8B /* Sources */ = {
428529
isa = PBXSourcesBuildPhase;
429530
buildActionMask = 2147483647;
@@ -524,6 +625,70 @@
524625
/* End PBXTargetDependency section */
525626

526627
/* Begin XCBuildConfiguration section */
628+
2F5FBC4521355A1400A83A69 /* Debug */ = {
629+
isa = XCBuildConfiguration;
630+
buildSettings = {
631+
APPLICATION_EXTENSION_API_ONLY = YES;
632+
CLANG_ANALYZER_NONNULL = YES;
633+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
634+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
635+
CLANG_ENABLE_OBJC_WEAK = YES;
636+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
637+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
638+
CODE_SIGN_IDENTITY = "";
639+
CODE_SIGN_STYLE = Automatic;
640+
DEFINES_MODULE = YES;
641+
DYLIB_COMPATIBILITY_VERSION = 1;
642+
DYLIB_CURRENT_VERSION = 1;
643+
DYLIB_INSTALL_NAME_BASE = "@rpath";
644+
GCC_C_LANGUAGE_STANDARD = gnu11;
645+
INFOPLIST_FILE = "Rswift-watchOS/Info.plist";
646+
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
647+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
648+
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
649+
MTL_FAST_MATH = YES;
650+
PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.rswift.library;
651+
PRODUCT_NAME = Rswift;
652+
SDKROOT = watchos;
653+
SKIP_INSTALL = YES;
654+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
655+
SWIFT_VERSION = 4.2;
656+
TARGETED_DEVICE_FAMILY = 4;
657+
WATCHOS_DEPLOYMENT_TARGET = 2.2;
658+
};
659+
name = Debug;
660+
};
661+
2F5FBC4621355A1400A83A69 /* Release */ = {
662+
isa = XCBuildConfiguration;
663+
buildSettings = {
664+
APPLICATION_EXTENSION_API_ONLY = YES;
665+
CLANG_ANALYZER_NONNULL = YES;
666+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
667+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
668+
CLANG_ENABLE_OBJC_WEAK = YES;
669+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
670+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
671+
CODE_SIGN_IDENTITY = "";
672+
CODE_SIGN_STYLE = Automatic;
673+
DEFINES_MODULE = YES;
674+
DYLIB_COMPATIBILITY_VERSION = 1;
675+
DYLIB_CURRENT_VERSION = 1;
676+
DYLIB_INSTALL_NAME_BASE = "@rpath";
677+
GCC_C_LANGUAGE_STANDARD = gnu11;
678+
INFOPLIST_FILE = "Rswift-watchOS/Info.plist";
679+
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
680+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
681+
MTL_FAST_MATH = YES;
682+
PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.rswift.library;
683+
PRODUCT_NAME = Rswift;
684+
SDKROOT = watchos;
685+
SKIP_INSTALL = YES;
686+
SWIFT_VERSION = 4.2;
687+
TARGETED_DEVICE_FAMILY = 4;
688+
WATCHOS_DEPLOYMENT_TARGET = 2.2;
689+
};
690+
name = Release;
691+
};
527692
806E69A41C42BD9C00DE3A8B /* Debug */ = {
528693
isa = XCBuildConfiguration;
529694
buildSettings = {
@@ -772,6 +937,15 @@
772937
/* End XCBuildConfiguration section */
773938

774939
/* Begin XCConfigurationList section */
940+
2F5FBC4721355A1400A83A69 /* Build configuration list for PBXNativeTarget "Rswift-watchOS" */ = {
941+
isa = XCConfigurationList;
942+
buildConfigurations = (
943+
2F5FBC4521355A1400A83A69 /* Debug */,
944+
2F5FBC4621355A1400A83A69 /* Release */,
945+
);
946+
defaultConfigurationIsVisible = 0;
947+
defaultConfigurationName = Release;
948+
};
775949
806E69A31C42BD9C00DE3A8B /* Build configuration list for PBXNativeTarget "Rswift-tvOS" */ = {
776950
isa = XCConfigurationList;
777951
buildConfigurations = (

Rswift-watchOS/Info.plist

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>$(DEVELOPMENT_LANGUAGE)</string>
7+
<key>CFBundleExecutable</key>
8+
<string>$(EXECUTABLE_NAME)</string>
9+
<key>CFBundleIdentifier</key>
10+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11+
<key>CFBundleInfoDictionaryVersion</key>
12+
<string>6.0</string>
13+
<key>CFBundleName</key>
14+
<string>$(PRODUCT_NAME)</string>
15+
<key>CFBundlePackageType</key>
16+
<string>FMWK</string>
17+
<key>CFBundleShortVersionString</key>
18+
<string>1.0</string>
19+
<key>CFBundleVersion</key>
20+
<string>$(CURRENT_PROJECT_VERSION)</string>
21+
</dict>
22+
</plist>

Rswift-watchOS/Rswift_watchOS.h

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
//
2+
// Rswift_watchOS.h
3+
// Rswift-watchOS
4+
//
5+
// Created by Lammert Westerhoff on 28/08/2018.
6+
// Copyright © 2018 Mathijs Kadijk. All rights reserved.
7+
//
8+
9+
#import <WatchKit/WatchKit.h>
10+
11+
//! Project version number for Rswift_watchOS.
12+
FOUNDATION_EXPORT double Rswift_watchOSVersionNumber;
13+
14+
//! Project version string for Rswift_watchOS.
15+
FOUNDATION_EXPORT const unsigned char Rswift_watchOSVersionString[];
16+
17+
// In this header, you should import all the public headers of your framework using statements like #import <Rswift_watchOS/PublicHeader.h>
18+
19+

0 commit comments

Comments
 (0)