├── .gitignore
├── .swiftpm
└── xcode
│ ├── package.xcworkspace
│ └── contents.xcworkspacedata
│ └── xcshareddata
│ └── xcschemes
│ └── CheckDevice.xcscheme
├── CheckDevice.podspec
├── Example
├── CheckDevice.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── CheckDevice-Example.xcscheme
├── CheckDevice.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── CheckDevice
│ ├── AppDelegate.swift
│ ├── Base.lproj
│ │ ├── LaunchScreen.xib
│ │ └── Main.storyboard
│ ├── Images.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Info.plist
│ └── ViewController.swift
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Local Podspecs
│ │ └── CheckDevice.podspec.json
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── Target Support Files
│ │ ├── CheckDevice
│ │ ├── CheckDevice-Info.plist
│ │ ├── CheckDevice-dummy.m
│ │ ├── CheckDevice-prefix.pch
│ │ ├── CheckDevice-umbrella.h
│ │ ├── CheckDevice.debug.xcconfig
│ │ ├── CheckDevice.modulemap
│ │ └── CheckDevice.release.xcconfig
│ │ ├── Pods-CheckDevice_Example
│ │ ├── Pods-CheckDevice_Example-Info.plist
│ │ ├── Pods-CheckDevice_Example-acknowledgements.markdown
│ │ ├── Pods-CheckDevice_Example-acknowledgements.plist
│ │ ├── Pods-CheckDevice_Example-dummy.m
│ │ ├── Pods-CheckDevice_Example-frameworks.sh
│ │ ├── Pods-CheckDevice_Example-umbrella.h
│ │ ├── Pods-CheckDevice_Example.debug.xcconfig
│ │ ├── Pods-CheckDevice_Example.modulemap
│ │ └── Pods-CheckDevice_Example.release.xcconfig
│ │ └── Pods-CheckDevice_Tests
│ │ ├── Pods-CheckDevice_Tests-Info.plist
│ │ ├── Pods-CheckDevice_Tests-acknowledgements.markdown
│ │ ├── Pods-CheckDevice_Tests-acknowledgements.plist
│ │ ├── Pods-CheckDevice_Tests-dummy.m
│ │ ├── Pods-CheckDevice_Tests-umbrella.h
│ │ ├── Pods-CheckDevice_Tests.debug.xcconfig
│ │ ├── Pods-CheckDevice_Tests.modulemap
│ │ └── Pods-CheckDevice_Tests.release.xcconfig
├── Tests
│ ├── Info.plist
│ └── Tests.swift
└── build
│ └── XCBuildData
│ ├── 9a7faf5b57248b982fb530cac744c279-desc.xcbuild
│ ├── 9a7faf5b57248b982fb530cac744c279-manifest.xcbuild
│ ├── BuildDescriptionCacheIndex-ab4c0b184ae8a7b5b67c2e973c6d2ff3
│ ├── BuildDescriptionCacheIndex-b92acb858bc1c828544f5c762fdc3a57
│ ├── b7fb037623170d1c167ba533eff70c5d-desc.xcbuild
│ └── b7fb037623170d1c167ba533eff70c5d-manifest.xcbuild
├── LICENSE
├── Package.swift
├── README.md
├── Sources
└── CheckDevice
│ ├── Battery.swift
│ ├── CheckDevice.swift
│ ├── Size.swift
│ ├── Type.swift
│ └── Version.swift
├── Tests
├── CheckDeviceTests
│ ├── CheckDeviceTests.swift
│ └── XCTestManifests.swift
└── LinuxMain.swift
├── checkDevice.sketch
└── header.jpg
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | /.build
3 | /Packages
4 | /*.xcodeproj
5 | xcuserdata/
6 |
--------------------------------------------------------------------------------
/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.swiftpm/xcode/xcshareddata/xcschemes/CheckDevice.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
38 |
39 |
44 |
45 |
47 |
53 |
54 |
55 |
56 |
57 |
67 |
68 |
74 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/CheckDevice.podspec:
--------------------------------------------------------------------------------
1 | #
2 | # Be sure to run `pod lib lint CheckDevice.podspec' to ensure this is a
3 | # valid spec before submitting.
4 | #
5 | # Any lines starting with a # are optional, but their use is encouraged
6 | # To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
7 | #
8 |
9 | Pod::Spec.new do |s|
10 | s.name = 'CheckDevice'
11 | s.version = '1.0.5'
12 | s.summary = 'CheckDevice is detected the current device model and screen sizes.'
13 |
14 | # This description is used to generate tags and improve search results.
15 | # * Think: What does it do? Why did you write it? What is the focus?
16 | # * Try to keep it short, snappy and to the point.
17 | # * Write the description between the DESC delimiters below.
18 | # * Finally, don't worry about the indent, CocoaPods strips it!
19 |
20 | s.description = <<-DESC
21 | How to detect iOS device models and screen size? CheckDevice is detected the current apple device model and screen sizes.
22 | DESC
23 |
24 | s.homepage = 'https://github.com/ugurethemaydin/CheckDevice'
25 | # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
26 | s.license = { :type => 'MIT', :file => 'LICENSE' }
27 | s.author = { 'ugurethemaydin' => 'ugur@metromedya.com' }
28 | s.source = { :git => 'https://github.com/ugurethemaydin/CheckDevice.git', :tag => s.version.to_s }
29 | s.social_media_url = 'https://twitter.com/ugurethemaydin'
30 |
31 | s.ios.deployment_target = '10.3'
32 | s.swift_version = '4.0'
33 | s.source = { :git => 'https://github.com/ugurethemaydin/CheckDevice.git', :tag => s.version.to_s }
34 | s.source_files = 'Sources/CheckDevice/**/*'
35 |
36 | # s.resource_bundles = {
37 | # 'CheckDevice' => ['CheckDevice/Assets/*.png']
38 | # }
39 |
40 | # s.public_header_files = 'Pod/Classes/**/*.h'
41 | s.frameworks = 'UIKit'
42 | # s.dependency 'AFNetworking', '~> 2.3'
43 | end
44 |
--------------------------------------------------------------------------------
/Example/CheckDevice.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 234CA01F24F620954ECBB28F /* Pods_CheckDevice_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15379013E97B01D9A0F522E7 /* Pods_CheckDevice_Example.framework */; };
11 | 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; };
12 | 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD71AFB9204008FA782 /* ViewController.swift */; };
13 | 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; };
14 | 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; };
15 | 607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */; };
16 | 607FACEC1AFB9204008FA782 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACEB1AFB9204008FA782 /* Tests.swift */; };
17 | 95CF0453DD108A2373F616DB /* Pods_CheckDevice_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D4C505E58C7CD4B4047B030 /* Pods_CheckDevice_Tests.framework */; };
18 | /* End PBXBuildFile section */
19 |
20 | /* Begin PBXContainerItemProxy section */
21 | 607FACE61AFB9204008FA782 /* PBXContainerItemProxy */ = {
22 | isa = PBXContainerItemProxy;
23 | containerPortal = 607FACC81AFB9204008FA782 /* Project object */;
24 | proxyType = 1;
25 | remoteGlobalIDString = 607FACCF1AFB9204008FA782;
26 | remoteInfo = CheckDevice;
27 | };
28 | /* End PBXContainerItemProxy section */
29 |
30 | /* Begin PBXFileReference section */
31 | 15379013E97B01D9A0F522E7 /* Pods_CheckDevice_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CheckDevice_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
32 | 1ECEF0114A11628C3E4D9E95 /* Pods-CheckDevice_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CheckDevice_Example.debug.xcconfig"; path = "Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example.debug.xcconfig"; sourceTree = ""; };
33 | 3B735CE839A9595380880145 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; };
34 | 3D4C505E58C7CD4B4047B030 /* Pods_CheckDevice_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CheckDevice_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
35 | 53532AE84E646AAED462BDDF /* Pods-CheckDevice_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CheckDevice_Tests.debug.xcconfig"; path = "Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests.debug.xcconfig"; sourceTree = ""; };
36 | 607FACD01AFB9204008FA782 /* CheckDevice_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CheckDevice_Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
37 | 607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
38 | 607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
39 | 607FACD71AFB9204008FA782 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
40 | 607FACDA1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
41 | 607FACDC1AFB9204008FA782 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
42 | 607FACDF1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
43 | 607FACE51AFB9204008FA782 /* CheckDevice_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CheckDevice_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
44 | 607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
45 | 607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = ""; };
46 | 691C5C916B9372D4DF184350 /* CheckDevice.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = CheckDevice.podspec; path = ../CheckDevice.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
47 | 8DC0CB5635F903201680C915 /* Pods-CheckDevice_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CheckDevice_Example.release.xcconfig"; path = "Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example.release.xcconfig"; sourceTree = ""; };
48 | CA081061A808C8BE303B87AD /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; };
49 | EC01B157D091B6A3E4BAE7A1 /* Pods-CheckDevice_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CheckDevice_Tests.release.xcconfig"; path = "Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests.release.xcconfig"; sourceTree = ""; };
50 | /* End PBXFileReference section */
51 |
52 | /* Begin PBXFrameworksBuildPhase section */
53 | 607FACCD1AFB9204008FA782 /* Frameworks */ = {
54 | isa = PBXFrameworksBuildPhase;
55 | buildActionMask = 2147483647;
56 | files = (
57 | 234CA01F24F620954ECBB28F /* Pods_CheckDevice_Example.framework in Frameworks */,
58 | );
59 | runOnlyForDeploymentPostprocessing = 0;
60 | };
61 | 607FACE21AFB9204008FA782 /* Frameworks */ = {
62 | isa = PBXFrameworksBuildPhase;
63 | buildActionMask = 2147483647;
64 | files = (
65 | 95CF0453DD108A2373F616DB /* Pods_CheckDevice_Tests.framework in Frameworks */,
66 | );
67 | runOnlyForDeploymentPostprocessing = 0;
68 | };
69 | /* End PBXFrameworksBuildPhase section */
70 |
71 | /* Begin PBXGroup section */
72 | 607FACC71AFB9204008FA782 = {
73 | isa = PBXGroup;
74 | children = (
75 | 607FACF51AFB993E008FA782 /* Podspec Metadata */,
76 | 607FACD21AFB9204008FA782 /* Example for CheckDevice */,
77 | 607FACE81AFB9204008FA782 /* Tests */,
78 | 607FACD11AFB9204008FA782 /* Products */,
79 | 8282B2419A38BEFF58C8F152 /* Pods */,
80 | A9DC3F9C4488BF37021285FA /* Frameworks */,
81 | );
82 | sourceTree = "";
83 | };
84 | 607FACD11AFB9204008FA782 /* Products */ = {
85 | isa = PBXGroup;
86 | children = (
87 | 607FACD01AFB9204008FA782 /* CheckDevice_Example.app */,
88 | 607FACE51AFB9204008FA782 /* CheckDevice_Tests.xctest */,
89 | );
90 | name = Products;
91 | sourceTree = "";
92 | };
93 | 607FACD21AFB9204008FA782 /* Example for CheckDevice */ = {
94 | isa = PBXGroup;
95 | children = (
96 | 607FACD51AFB9204008FA782 /* AppDelegate.swift */,
97 | 607FACD71AFB9204008FA782 /* ViewController.swift */,
98 | 607FACD91AFB9204008FA782 /* Main.storyboard */,
99 | 607FACDC1AFB9204008FA782 /* Images.xcassets */,
100 | 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */,
101 | 607FACD31AFB9204008FA782 /* Supporting Files */,
102 | );
103 | name = "Example for CheckDevice";
104 | path = CheckDevice;
105 | sourceTree = "";
106 | };
107 | 607FACD31AFB9204008FA782 /* Supporting Files */ = {
108 | isa = PBXGroup;
109 | children = (
110 | 607FACD41AFB9204008FA782 /* Info.plist */,
111 | );
112 | name = "Supporting Files";
113 | sourceTree = "";
114 | };
115 | 607FACE81AFB9204008FA782 /* Tests */ = {
116 | isa = PBXGroup;
117 | children = (
118 | 607FACEB1AFB9204008FA782 /* Tests.swift */,
119 | 607FACE91AFB9204008FA782 /* Supporting Files */,
120 | );
121 | path = Tests;
122 | sourceTree = "";
123 | };
124 | 607FACE91AFB9204008FA782 /* Supporting Files */ = {
125 | isa = PBXGroup;
126 | children = (
127 | 607FACEA1AFB9204008FA782 /* Info.plist */,
128 | );
129 | name = "Supporting Files";
130 | sourceTree = "";
131 | };
132 | 607FACF51AFB993E008FA782 /* Podspec Metadata */ = {
133 | isa = PBXGroup;
134 | children = (
135 | 691C5C916B9372D4DF184350 /* CheckDevice.podspec */,
136 | CA081061A808C8BE303B87AD /* README.md */,
137 | 3B735CE839A9595380880145 /* LICENSE */,
138 | );
139 | name = "Podspec Metadata";
140 | sourceTree = "";
141 | };
142 | 8282B2419A38BEFF58C8F152 /* Pods */ = {
143 | isa = PBXGroup;
144 | children = (
145 | 1ECEF0114A11628C3E4D9E95 /* Pods-CheckDevice_Example.debug.xcconfig */,
146 | 8DC0CB5635F903201680C915 /* Pods-CheckDevice_Example.release.xcconfig */,
147 | 53532AE84E646AAED462BDDF /* Pods-CheckDevice_Tests.debug.xcconfig */,
148 | EC01B157D091B6A3E4BAE7A1 /* Pods-CheckDevice_Tests.release.xcconfig */,
149 | );
150 | path = Pods;
151 | sourceTree = "";
152 | };
153 | A9DC3F9C4488BF37021285FA /* Frameworks */ = {
154 | isa = PBXGroup;
155 | children = (
156 | 15379013E97B01D9A0F522E7 /* Pods_CheckDevice_Example.framework */,
157 | 3D4C505E58C7CD4B4047B030 /* Pods_CheckDevice_Tests.framework */,
158 | );
159 | name = Frameworks;
160 | sourceTree = "";
161 | };
162 | /* End PBXGroup section */
163 |
164 | /* Begin PBXNativeTarget section */
165 | 607FACCF1AFB9204008FA782 /* CheckDevice_Example */ = {
166 | isa = PBXNativeTarget;
167 | buildConfigurationList = 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "CheckDevice_Example" */;
168 | buildPhases = (
169 | 38D10B60600DB08023D3FEBB /* [CP] Check Pods Manifest.lock */,
170 | 607FACCC1AFB9204008FA782 /* Sources */,
171 | 607FACCD1AFB9204008FA782 /* Frameworks */,
172 | 607FACCE1AFB9204008FA782 /* Resources */,
173 | 90A40CC06CF699ADA1D924DC /* [CP] Embed Pods Frameworks */,
174 | );
175 | buildRules = (
176 | );
177 | dependencies = (
178 | );
179 | name = CheckDevice_Example;
180 | productName = CheckDevice;
181 | productReference = 607FACD01AFB9204008FA782 /* CheckDevice_Example.app */;
182 | productType = "com.apple.product-type.application";
183 | };
184 | 607FACE41AFB9204008FA782 /* CheckDevice_Tests */ = {
185 | isa = PBXNativeTarget;
186 | buildConfigurationList = 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "CheckDevice_Tests" */;
187 | buildPhases = (
188 | B9174B85B8F4FBDB63127A2E /* [CP] Check Pods Manifest.lock */,
189 | 607FACE11AFB9204008FA782 /* Sources */,
190 | 607FACE21AFB9204008FA782 /* Frameworks */,
191 | 607FACE31AFB9204008FA782 /* Resources */,
192 | );
193 | buildRules = (
194 | );
195 | dependencies = (
196 | 607FACE71AFB9204008FA782 /* PBXTargetDependency */,
197 | );
198 | name = CheckDevice_Tests;
199 | productName = Tests;
200 | productReference = 607FACE51AFB9204008FA782 /* CheckDevice_Tests.xctest */;
201 | productType = "com.apple.product-type.bundle.unit-test";
202 | };
203 | /* End PBXNativeTarget section */
204 |
205 | /* Begin PBXProject section */
206 | 607FACC81AFB9204008FA782 /* Project object */ = {
207 | isa = PBXProject;
208 | attributes = {
209 | LastSwiftUpdateCheck = 0830;
210 | LastUpgradeCheck = 1240;
211 | ORGANIZATIONNAME = CocoaPods;
212 | TargetAttributes = {
213 | 607FACCF1AFB9204008FA782 = {
214 | CreatedOnToolsVersion = 6.3.1;
215 | LastSwiftMigration = 1240;
216 | };
217 | 607FACE41AFB9204008FA782 = {
218 | CreatedOnToolsVersion = 6.3.1;
219 | LastSwiftMigration = 1240;
220 | TestTargetID = 607FACCF1AFB9204008FA782;
221 | };
222 | };
223 | };
224 | buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "CheckDevice" */;
225 | compatibilityVersion = "Xcode 3.2";
226 | developmentRegion = en;
227 | hasScannedForEncodings = 0;
228 | knownRegions = (
229 | en,
230 | Base,
231 | );
232 | mainGroup = 607FACC71AFB9204008FA782;
233 | productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
234 | projectDirPath = "";
235 | projectRoot = "";
236 | targets = (
237 | 607FACCF1AFB9204008FA782 /* CheckDevice_Example */,
238 | 607FACE41AFB9204008FA782 /* CheckDevice_Tests */,
239 | );
240 | };
241 | /* End PBXProject section */
242 |
243 | /* Begin PBXResourcesBuildPhase section */
244 | 607FACCE1AFB9204008FA782 /* Resources */ = {
245 | isa = PBXResourcesBuildPhase;
246 | buildActionMask = 2147483647;
247 | files = (
248 | 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */,
249 | 607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */,
250 | 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */,
251 | );
252 | runOnlyForDeploymentPostprocessing = 0;
253 | };
254 | 607FACE31AFB9204008FA782 /* Resources */ = {
255 | isa = PBXResourcesBuildPhase;
256 | buildActionMask = 2147483647;
257 | files = (
258 | );
259 | runOnlyForDeploymentPostprocessing = 0;
260 | };
261 | /* End PBXResourcesBuildPhase section */
262 |
263 | /* Begin PBXShellScriptBuildPhase section */
264 | 38D10B60600DB08023D3FEBB /* [CP] Check Pods Manifest.lock */ = {
265 | isa = PBXShellScriptBuildPhase;
266 | buildActionMask = 2147483647;
267 | files = (
268 | );
269 | inputFileListPaths = (
270 | );
271 | inputPaths = (
272 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
273 | "${PODS_ROOT}/Manifest.lock",
274 | );
275 | name = "[CP] Check Pods Manifest.lock";
276 | outputFileListPaths = (
277 | );
278 | outputPaths = (
279 | "$(DERIVED_FILE_DIR)/Pods-CheckDevice_Example-checkManifestLockResult.txt",
280 | );
281 | runOnlyForDeploymentPostprocessing = 0;
282 | shellPath = /bin/sh;
283 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
284 | showEnvVarsInLog = 0;
285 | };
286 | 90A40CC06CF699ADA1D924DC /* [CP] Embed Pods Frameworks */ = {
287 | isa = PBXShellScriptBuildPhase;
288 | buildActionMask = 2147483647;
289 | files = (
290 | );
291 | inputPaths = (
292 | "${PODS_ROOT}/Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example-frameworks.sh",
293 | "${BUILT_PRODUCTS_DIR}/CheckDevice/CheckDevice.framework",
294 | );
295 | name = "[CP] Embed Pods Frameworks";
296 | outputPaths = (
297 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CheckDevice.framework",
298 | );
299 | runOnlyForDeploymentPostprocessing = 0;
300 | shellPath = /bin/sh;
301 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example-frameworks.sh\"\n";
302 | showEnvVarsInLog = 0;
303 | };
304 | B9174B85B8F4FBDB63127A2E /* [CP] Check Pods Manifest.lock */ = {
305 | isa = PBXShellScriptBuildPhase;
306 | buildActionMask = 2147483647;
307 | files = (
308 | );
309 | inputFileListPaths = (
310 | );
311 | inputPaths = (
312 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
313 | "${PODS_ROOT}/Manifest.lock",
314 | );
315 | name = "[CP] Check Pods Manifest.lock";
316 | outputFileListPaths = (
317 | );
318 | outputPaths = (
319 | "$(DERIVED_FILE_DIR)/Pods-CheckDevice_Tests-checkManifestLockResult.txt",
320 | );
321 | runOnlyForDeploymentPostprocessing = 0;
322 | shellPath = /bin/sh;
323 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
324 | showEnvVarsInLog = 0;
325 | };
326 | /* End PBXShellScriptBuildPhase section */
327 |
328 | /* Begin PBXSourcesBuildPhase section */
329 | 607FACCC1AFB9204008FA782 /* Sources */ = {
330 | isa = PBXSourcesBuildPhase;
331 | buildActionMask = 2147483647;
332 | files = (
333 | 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */,
334 | 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */,
335 | );
336 | runOnlyForDeploymentPostprocessing = 0;
337 | };
338 | 607FACE11AFB9204008FA782 /* Sources */ = {
339 | isa = PBXSourcesBuildPhase;
340 | buildActionMask = 2147483647;
341 | files = (
342 | 607FACEC1AFB9204008FA782 /* Tests.swift in Sources */,
343 | );
344 | runOnlyForDeploymentPostprocessing = 0;
345 | };
346 | /* End PBXSourcesBuildPhase section */
347 |
348 | /* Begin PBXTargetDependency section */
349 | 607FACE71AFB9204008FA782 /* PBXTargetDependency */ = {
350 | isa = PBXTargetDependency;
351 | target = 607FACCF1AFB9204008FA782 /* CheckDevice_Example */;
352 | targetProxy = 607FACE61AFB9204008FA782 /* PBXContainerItemProxy */;
353 | };
354 | /* End PBXTargetDependency section */
355 |
356 | /* Begin PBXVariantGroup section */
357 | 607FACD91AFB9204008FA782 /* Main.storyboard */ = {
358 | isa = PBXVariantGroup;
359 | children = (
360 | 607FACDA1AFB9204008FA782 /* Base */,
361 | );
362 | name = Main.storyboard;
363 | sourceTree = "";
364 | };
365 | 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */ = {
366 | isa = PBXVariantGroup;
367 | children = (
368 | 607FACDF1AFB9204008FA782 /* Base */,
369 | );
370 | name = LaunchScreen.xib;
371 | sourceTree = "";
372 | };
373 | /* End PBXVariantGroup section */
374 |
375 | /* Begin XCBuildConfiguration section */
376 | 607FACED1AFB9204008FA782 /* Debug */ = {
377 | isa = XCBuildConfiguration;
378 | buildSettings = {
379 | ALWAYS_SEARCH_USER_PATHS = NO;
380 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
381 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
382 | CLANG_CXX_LIBRARY = "libc++";
383 | CLANG_ENABLE_MODULES = YES;
384 | CLANG_ENABLE_OBJC_ARC = YES;
385 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
386 | CLANG_WARN_BOOL_CONVERSION = YES;
387 | CLANG_WARN_COMMA = YES;
388 | CLANG_WARN_CONSTANT_CONVERSION = YES;
389 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
390 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
391 | CLANG_WARN_EMPTY_BODY = YES;
392 | CLANG_WARN_ENUM_CONVERSION = YES;
393 | CLANG_WARN_INFINITE_RECURSION = YES;
394 | CLANG_WARN_INT_CONVERSION = YES;
395 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
396 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
397 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
398 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
399 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
400 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
401 | CLANG_WARN_STRICT_PROTOTYPES = YES;
402 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
403 | CLANG_WARN_UNREACHABLE_CODE = YES;
404 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
405 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
406 | COPY_PHASE_STRIP = NO;
407 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
408 | ENABLE_STRICT_OBJC_MSGSEND = YES;
409 | ENABLE_TESTABILITY = YES;
410 | GCC_C_LANGUAGE_STANDARD = gnu99;
411 | GCC_DYNAMIC_NO_PIC = NO;
412 | GCC_NO_COMMON_BLOCKS = YES;
413 | GCC_OPTIMIZATION_LEVEL = 0;
414 | GCC_PREPROCESSOR_DEFINITIONS = (
415 | "DEBUG=1",
416 | "$(inherited)",
417 | );
418 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
419 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
420 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
421 | GCC_WARN_UNDECLARED_SELECTOR = YES;
422 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
423 | GCC_WARN_UNUSED_FUNCTION = YES;
424 | GCC_WARN_UNUSED_VARIABLE = YES;
425 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
426 | MTL_ENABLE_DEBUG_INFO = YES;
427 | ONLY_ACTIVE_ARCH = YES;
428 | SDKROOT = iphoneos;
429 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
430 | };
431 | name = Debug;
432 | };
433 | 607FACEE1AFB9204008FA782 /* Release */ = {
434 | isa = XCBuildConfiguration;
435 | buildSettings = {
436 | ALWAYS_SEARCH_USER_PATHS = NO;
437 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
438 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
439 | CLANG_CXX_LIBRARY = "libc++";
440 | CLANG_ENABLE_MODULES = YES;
441 | CLANG_ENABLE_OBJC_ARC = YES;
442 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
443 | CLANG_WARN_BOOL_CONVERSION = YES;
444 | CLANG_WARN_COMMA = YES;
445 | CLANG_WARN_CONSTANT_CONVERSION = YES;
446 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
447 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
448 | CLANG_WARN_EMPTY_BODY = YES;
449 | CLANG_WARN_ENUM_CONVERSION = YES;
450 | CLANG_WARN_INFINITE_RECURSION = YES;
451 | CLANG_WARN_INT_CONVERSION = YES;
452 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
453 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
454 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
455 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
456 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
457 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
458 | CLANG_WARN_STRICT_PROTOTYPES = YES;
459 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
460 | CLANG_WARN_UNREACHABLE_CODE = YES;
461 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
462 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
463 | COPY_PHASE_STRIP = NO;
464 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
465 | ENABLE_NS_ASSERTIONS = NO;
466 | ENABLE_STRICT_OBJC_MSGSEND = YES;
467 | GCC_C_LANGUAGE_STANDARD = gnu99;
468 | GCC_NO_COMMON_BLOCKS = YES;
469 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
470 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
471 | GCC_WARN_UNDECLARED_SELECTOR = YES;
472 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
473 | GCC_WARN_UNUSED_FUNCTION = YES;
474 | GCC_WARN_UNUSED_VARIABLE = YES;
475 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
476 | MTL_ENABLE_DEBUG_INFO = NO;
477 | SDKROOT = iphoneos;
478 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
479 | VALIDATE_PRODUCT = YES;
480 | };
481 | name = Release;
482 | };
483 | 607FACF01AFB9204008FA782 /* Debug */ = {
484 | isa = XCBuildConfiguration;
485 | baseConfigurationReference = 1ECEF0114A11628C3E4D9E95 /* Pods-CheckDevice_Example.debug.xcconfig */;
486 | buildSettings = {
487 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
488 | DEVELOPMENT_TEAM = "";
489 | INFOPLIST_FILE = CheckDevice/Info.plist;
490 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
491 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
492 | MARKETING_VERSION = 1.0.3;
493 | MODULE_NAME = ExampleApp;
494 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
495 | PRODUCT_NAME = "$(TARGET_NAME)";
496 | SWIFT_SWIFT3_OBJC_INFERENCE = Default;
497 | SWIFT_VERSION = 5.0;
498 | TARGETED_DEVICE_FAMILY = "1,2";
499 | };
500 | name = Debug;
501 | };
502 | 607FACF11AFB9204008FA782 /* Release */ = {
503 | isa = XCBuildConfiguration;
504 | baseConfigurationReference = 8DC0CB5635F903201680C915 /* Pods-CheckDevice_Example.release.xcconfig */;
505 | buildSettings = {
506 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
507 | DEVELOPMENT_TEAM = "";
508 | INFOPLIST_FILE = CheckDevice/Info.plist;
509 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
510 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
511 | MARKETING_VERSION = 1.0.3;
512 | MODULE_NAME = ExampleApp;
513 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
514 | PRODUCT_NAME = "$(TARGET_NAME)";
515 | SWIFT_SWIFT3_OBJC_INFERENCE = Default;
516 | SWIFT_VERSION = 5.0;
517 | TARGETED_DEVICE_FAMILY = "1,2";
518 | };
519 | name = Release;
520 | };
521 | 607FACF31AFB9204008FA782 /* Debug */ = {
522 | isa = XCBuildConfiguration;
523 | baseConfigurationReference = 53532AE84E646AAED462BDDF /* Pods-CheckDevice_Tests.debug.xcconfig */;
524 | buildSettings = {
525 | FRAMEWORK_SEARCH_PATHS = (
526 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
527 | "$(inherited)",
528 | );
529 | GCC_PREPROCESSOR_DEFINITIONS = (
530 | "DEBUG=1",
531 | "$(inherited)",
532 | );
533 | INFOPLIST_FILE = Tests/Info.plist;
534 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
535 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
536 | PRODUCT_NAME = "$(TARGET_NAME)";
537 | SWIFT_SWIFT3_OBJC_INFERENCE = Default;
538 | SWIFT_VERSION = 5.0;
539 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CheckDevice_Example.app/CheckDevice_Example";
540 | };
541 | name = Debug;
542 | };
543 | 607FACF41AFB9204008FA782 /* Release */ = {
544 | isa = XCBuildConfiguration;
545 | baseConfigurationReference = EC01B157D091B6A3E4BAE7A1 /* Pods-CheckDevice_Tests.release.xcconfig */;
546 | buildSettings = {
547 | FRAMEWORK_SEARCH_PATHS = (
548 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
549 | "$(inherited)",
550 | );
551 | INFOPLIST_FILE = Tests/Info.plist;
552 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
553 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
554 | PRODUCT_NAME = "$(TARGET_NAME)";
555 | SWIFT_SWIFT3_OBJC_INFERENCE = Default;
556 | SWIFT_VERSION = 5.0;
557 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CheckDevice_Example.app/CheckDevice_Example";
558 | };
559 | name = Release;
560 | };
561 | /* End XCBuildConfiguration section */
562 |
563 | /* Begin XCConfigurationList section */
564 | 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "CheckDevice" */ = {
565 | isa = XCConfigurationList;
566 | buildConfigurations = (
567 | 607FACED1AFB9204008FA782 /* Debug */,
568 | 607FACEE1AFB9204008FA782 /* Release */,
569 | );
570 | defaultConfigurationIsVisible = 0;
571 | defaultConfigurationName = Release;
572 | };
573 | 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "CheckDevice_Example" */ = {
574 | isa = XCConfigurationList;
575 | buildConfigurations = (
576 | 607FACF01AFB9204008FA782 /* Debug */,
577 | 607FACF11AFB9204008FA782 /* Release */,
578 | );
579 | defaultConfigurationIsVisible = 0;
580 | defaultConfigurationName = Release;
581 | };
582 | 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "CheckDevice_Tests" */ = {
583 | isa = XCConfigurationList;
584 | buildConfigurations = (
585 | 607FACF31AFB9204008FA782 /* Debug */,
586 | 607FACF41AFB9204008FA782 /* Release */,
587 | );
588 | defaultConfigurationIsVisible = 0;
589 | defaultConfigurationName = Release;
590 | };
591 | /* End XCConfigurationList section */
592 | };
593 | rootObject = 607FACC81AFB9204008FA782 /* Project object */;
594 | }
595 |
--------------------------------------------------------------------------------
/Example/CheckDevice.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/CheckDevice.xcodeproj/xcshareddata/xcschemes/CheckDevice-Example.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
38 |
39 |
44 |
45 |
51 |
52 |
53 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
76 |
78 |
84 |
85 |
86 |
87 |
93 |
95 |
101 |
102 |
103 |
104 |
106 |
107 |
110 |
111 |
112 |
--------------------------------------------------------------------------------
/Example/CheckDevice.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Example/CheckDevice.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/CheckDevice/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // CheckDevice
4 | //
5 | // Created by ugurethemaydin on 11/09/2020.
6 | // Copyright (c) 2020 ugurethemaydin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import CheckDevice
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
18 | // Override point for customization after application launch.
19 |
20 | return true
21 | }
22 |
23 | func applicationWillResignActive(_ application: UIApplication) {
24 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
25 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
26 | }
27 |
28 | func applicationDidEnterBackground(_ application: UIApplication) {
29 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
30 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
31 | }
32 |
33 | func applicationWillEnterForeground(_ application: UIApplication) {
34 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
35 | }
36 |
37 | func applicationDidBecomeActive(_ application: UIApplication) {
38 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
39 | }
40 |
41 | func applicationWillTerminate(_ application: UIApplication) {
42 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
43 | }
44 |
45 |
46 | }
47 |
48 |
--------------------------------------------------------------------------------
/Example/CheckDevice/Base.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
25 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/Example/CheckDevice/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
28 |
34 |
40 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/Example/CheckDevice/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | },
43 | {
44 | "idiom" : "ios-marketing",
45 | "size" : "1024x1024",
46 | "scale" : "1x"
47 | }
48 | ],
49 | "info" : {
50 | "version" : 1,
51 | "author" : "xcode"
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/Example/CheckDevice/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | $(MARKETING_VERSION)
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Example/CheckDevice/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // CheckDevice
4 | //
5 | // Created by ugurethemaydin on 11/09/2020.
6 | // Copyright (c) 2020 ugurethemaydin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import CheckDevice
11 | class ViewController: UIViewController {
12 |
13 | @IBOutlet weak var battery: UILabel!
14 | @IBOutlet weak var device: UILabel!
15 | @IBOutlet weak var screenSize: UILabel!
16 | override func viewDidLoad() {
17 | super.viewDidLoad()
18 | screenSize.text = String(CheckDevice.type().rawValue)
19 | device.text = CheckDevice.version().rawValue
20 | battery.text = String(CheckDevice.battery.level)
21 | dump(CheckDevice.version().rawValue)
22 | dump(CheckDevice.size())
23 | // Do any additional setup after loading the view, typically from a nib.
24 | }
25 |
26 | override func didReceiveMemoryWarning() {
27 | super.didReceiveMemoryWarning()
28 | // Dispose of any resources that can be recreated.
29 | }
30 |
31 | }
32 |
33 |
--------------------------------------------------------------------------------
/Example/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | target 'CheckDevice_Example' do
4 | pod 'CheckDevice', :path => '../'
5 |
6 | target 'CheckDevice_Tests' do
7 | inherit! :search_paths
8 |
9 |
10 | end
11 | end
12 |
--------------------------------------------------------------------------------
/Example/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - CheckDevice (0.1.0)
3 |
4 | DEPENDENCIES:
5 | - CheckDevice (from `../`)
6 |
7 | EXTERNAL SOURCES:
8 | CheckDevice:
9 | :path: "../"
10 |
11 | SPEC CHECKSUMS:
12 | CheckDevice: 285dffe3b9f5dc5134eeeb0aaad19428175e1d6d
13 |
14 | PODFILE CHECKSUM: aace8ffea575d4df0c1370f975088fcf41b43e90
15 |
16 | COCOAPODS: 1.10.0
17 |
--------------------------------------------------------------------------------
/Example/Pods/Local Podspecs/CheckDevice.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "CheckDevice",
3 | "version": "0.1.0",
4 | "summary": "A short description of CheckDevice.",
5 | "description": "TODO: Add long description of the pod here.",
6 | "homepage": "https://github.com/ugurethemaydin/CheckDevice",
7 | "license": {
8 | "type": "MIT",
9 | "file": "LICENSE"
10 | },
11 | "authors": {
12 | "ugurethemaydin": "ugur@metromedya.com"
13 | },
14 | "source": {
15 | "git": "https://github.com/ugurethemaydin/CheckDevice.git",
16 | "tag": "0.1.0"
17 | },
18 | "platforms": {
19 | "ios": "8.0"
20 | },
21 | "source_files": "CheckDevice/Classes/**/*"
22 | }
23 |
--------------------------------------------------------------------------------
/Example/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - CheckDevice (0.1.0)
3 |
4 | DEPENDENCIES:
5 | - CheckDevice (from `../`)
6 |
7 | EXTERNAL SOURCES:
8 | CheckDevice:
9 | :path: "../"
10 |
11 | SPEC CHECKSUMS:
12 | CheckDevice: 285dffe3b9f5dc5134eeeb0aaad19428175e1d6d
13 |
14 | PODFILE CHECKSUM: aace8ffea575d4df0c1370f975088fcf41b43e90
15 |
16 | COCOAPODS: 1.10.0
17 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 0FC0DB79711BD1A974E2E282CE22C1D7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
11 | 2488B8C2324AAA9CEEB5574E4D339AE5 /* CheckDevice-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C1742E072D83F373ED7FBD4456EC96DD /* CheckDevice-dummy.m */; };
12 | 65A87BFA32D97DE5D826087166EA23AE /* Pods-CheckDevice_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D64DA80A5B1EC5169A0078863F3EE05E /* Pods-CheckDevice_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
13 | A0FD1AFF397AEE93524244C4CBEBE234 /* Pods-CheckDevice_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 147490E270B5A1ECDD1BFECC555307D0 /* Pods-CheckDevice_Example-dummy.m */; };
14 | C2B589C2F0FC05991D6F6EE784B35113 /* Pods-CheckDevice_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 092C04E1839C9CD4B1F84FB26C8CB62D /* Pods-CheckDevice_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
15 | C7C2C5FEDA60EC8609B6E8D64F9A05E8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
16 | CF392F5DE4E813A284E5106C012456BA /* CheckDevice-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = ADEC3014FF8FA475879325D358EF0BC5 /* CheckDevice-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
17 | DAD60357ABCA7D642497BAB2A0557EF2 /* Pods-CheckDevice_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 27AD4C6405C94B098E37F66A0E8B1A99 /* Pods-CheckDevice_Tests-dummy.m */; };
18 | E5AE0526E57BD5694D6261CA8E909949 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
19 | FC4D68792559DF6500A887D1 /* CheckDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC4D68752559DF6500A887D1 /* CheckDevice.swift */; };
20 | FC4D687A2559DF6500A887D1 /* Type.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC4D68762559DF6500A887D1 /* Type.swift */; };
21 | FC4D687B2559DF6500A887D1 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC4D68772559DF6500A887D1 /* Version.swift */; };
22 | FC4D687C2559DF6500A887D1 /* Size.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC4D68782559DF6500A887D1 /* Size.swift */; };
23 | FCFCD69D2565B9B000B3FFAD /* Battery.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCFCD69C2565B9B000B3FFAD /* Battery.swift */; };
24 | /* End PBXBuildFile section */
25 |
26 | /* Begin PBXContainerItemProxy section */
27 | 03048D226977C343ABE50A1BBD2A1FF2 /* PBXContainerItemProxy */ = {
28 | isa = PBXContainerItemProxy;
29 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
30 | proxyType = 1;
31 | remoteGlobalIDString = 9A27372EB17B5A4AA72A7D31E9109208;
32 | remoteInfo = "Pods-CheckDevice_Example";
33 | };
34 | 7D4059628A5DDB6399A8632BCCFB37E5 /* PBXContainerItemProxy */ = {
35 | isa = PBXContainerItemProxy;
36 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
37 | proxyType = 1;
38 | remoteGlobalIDString = FD23082851CEDB4664ABA244C9FBF173;
39 | remoteInfo = CheckDevice;
40 | };
41 | /* End PBXContainerItemProxy section */
42 |
43 | /* Begin PBXFileReference section */
44 | 06574AAB03530C39ADAF5B4ECABAFED4 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; };
45 | 0746E0AFA8C8F470F6CC2B87984F142E /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; };
46 | 092C04E1839C9CD4B1F84FB26C8CB62D /* Pods-CheckDevice_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-CheckDevice_Tests-umbrella.h"; sourceTree = ""; };
47 | 0D9411CED496FE629452DDDE39F9CA0D /* CheckDevice.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CheckDevice.release.xcconfig; sourceTree = ""; };
48 | 10A775062A5258F05BAC7EB0A2BA3742 /* CheckDevice-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "CheckDevice-Info.plist"; sourceTree = ""; };
49 | 147490E270B5A1ECDD1BFECC555307D0 /* Pods-CheckDevice_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-CheckDevice_Example-dummy.m"; sourceTree = ""; };
50 | 19D149CF24824B446603957B034EF80D /* Pods-CheckDevice_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-CheckDevice_Tests-acknowledgements.markdown"; sourceTree = ""; };
51 | 1DF3AA5C036D291C0D4AAD291297B88C /* Pods-CheckDevice_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-CheckDevice_Example-acknowledgements.markdown"; sourceTree = ""; };
52 | 1F14ADCAC9D84C6715E9ADB7988EACE8 /* Pods-CheckDevice_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-CheckDevice_Tests-acknowledgements.plist"; sourceTree = ""; };
53 | 27AD4C6405C94B098E37F66A0E8B1A99 /* Pods-CheckDevice_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-CheckDevice_Tests-dummy.m"; sourceTree = ""; };
54 | 2BB383C4B65E16A6E441CCDD47CEC37B /* Pods-CheckDevice_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CheckDevice_Tests.debug.xcconfig"; sourceTree = ""; };
55 | 332F5CF121ACF7E0ECA990266AB662BD /* Pods-CheckDevice_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-CheckDevice_Example-frameworks.sh"; sourceTree = ""; };
56 | 3B49422AB933C77434F8B096CCA6313B /* Pods-CheckDevice_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-CheckDevice_Tests.modulemap"; sourceTree = ""; };
57 | 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
58 | 78B427A40EEBAC0D28ABC0644730BF59 /* Pods-CheckDevice_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CheckDevice_Example.release.xcconfig"; sourceTree = ""; };
59 | 7937F2A54C6D5F8C56F41B34414E085A /* Pods-CheckDevice_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-CheckDevice_Example-acknowledgements.plist"; sourceTree = ""; };
60 | 917CBDA6B8D49674C1F83CAB3EEF0DBE /* CheckDevice.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = CheckDevice.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
61 | 963C1EB9BF741A9580AF8D59A15F880E /* Pods-CheckDevice_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CheckDevice_Example.debug.xcconfig"; sourceTree = ""; };
62 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
63 | A8E3441633AEA3CD72A1D8EDEB00351E /* CheckDevice-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CheckDevice-prefix.pch"; sourceTree = ""; };
64 | ADEC3014FF8FA475879325D358EF0BC5 /* CheckDevice-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CheckDevice-umbrella.h"; sourceTree = ""; };
65 | B1206ED32D0D81C7B7956AF8845AD546 /* Pods-CheckDevice_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CheckDevice_Tests.release.xcconfig"; sourceTree = ""; };
66 | C1742E072D83F373ED7FBD4456EC96DD /* CheckDevice-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CheckDevice-dummy.m"; sourceTree = ""; };
67 | C5E11AF58DE4B7496F1C9B41488839E5 /* CheckDevice.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CheckDevice.modulemap; sourceTree = ""; };
68 | C5E160D67CFC2E7381267D3D004E7CE1 /* Pods_CheckDevice_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CheckDevice_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
69 | D33A6F0F106EA99310664CF79F755B40 /* CheckDevice.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CheckDevice.debug.xcconfig; sourceTree = ""; };
70 | D64DA80A5B1EC5169A0078863F3EE05E /* Pods-CheckDevice_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-CheckDevice_Example-umbrella.h"; sourceTree = ""; };
71 | DA357E5B5ADD1B7E315CD13A01DF3069 /* Pods-CheckDevice_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-CheckDevice_Example-Info.plist"; sourceTree = ""; };
72 | DFB20924909CE8C1F63F94642B928FA5 /* Pods-CheckDevice_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-CheckDevice_Tests-Info.plist"; sourceTree = ""; };
73 | EFBA65A809B9FD681837EE0AA85068C6 /* CheckDevice.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CheckDevice.framework; sourceTree = BUILT_PRODUCTS_DIR; };
74 | F2D99CF3C11487A9D5143AB9D66D0740 /* Pods-CheckDevice_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-CheckDevice_Example.modulemap"; sourceTree = ""; };
75 | F7C3E4E684CE7E5AF2EC0DCB425736BF /* Pods_CheckDevice_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CheckDevice_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
76 | FC4D68752559DF6500A887D1 /* CheckDevice.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CheckDevice.swift; sourceTree = ""; };
77 | FC4D68762559DF6500A887D1 /* Type.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Type.swift; sourceTree = ""; };
78 | FC4D68772559DF6500A887D1 /* Version.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Version.swift; sourceTree = ""; };
79 | FC4D68782559DF6500A887D1 /* Size.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Size.swift; sourceTree = ""; };
80 | FCFCD69C2565B9B000B3FFAD /* Battery.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Battery.swift; sourceTree = ""; };
81 | /* End PBXFileReference section */
82 |
83 | /* Begin PBXFrameworksBuildPhase section */
84 | 4D9452540EF09D8EA4E4FB41C15BD526 /* Frameworks */ = {
85 | isa = PBXFrameworksBuildPhase;
86 | buildActionMask = 2147483647;
87 | files = (
88 | 0FC0DB79711BD1A974E2E282CE22C1D7 /* Foundation.framework in Frameworks */,
89 | );
90 | runOnlyForDeploymentPostprocessing = 0;
91 | };
92 | 79EA67C8083DF781D01C6D03841A31D6 /* Frameworks */ = {
93 | isa = PBXFrameworksBuildPhase;
94 | buildActionMask = 2147483647;
95 | files = (
96 | E5AE0526E57BD5694D6261CA8E909949 /* Foundation.framework in Frameworks */,
97 | );
98 | runOnlyForDeploymentPostprocessing = 0;
99 | };
100 | BDF821D6AFF8C9BCEE6B965F87A32338 /* Frameworks */ = {
101 | isa = PBXFrameworksBuildPhase;
102 | buildActionMask = 2147483647;
103 | files = (
104 | C7C2C5FEDA60EC8609B6E8D64F9A05E8 /* Foundation.framework in Frameworks */,
105 | );
106 | runOnlyForDeploymentPostprocessing = 0;
107 | };
108 | /* End PBXFrameworksBuildPhase section */
109 |
110 | /* Begin PBXGroup section */
111 | 3102092F44AFD05A7C9E40F570ADC07F /* CheckDevice */ = {
112 | isa = PBXGroup;
113 | children = (
114 | FC4D68732559DF6500A887D1 /* Sources */,
115 | 682B80A01465F26C5BC61C84AC6308B6 /* Pod */,
116 | C5079254CC6E718EC0CD465BF2E20089 /* Support Files */,
117 | );
118 | name = CheckDevice;
119 | path = ../..;
120 | sourceTree = "";
121 | };
122 | 39689D3B48C455FA9A8EF27103036199 /* Pods-CheckDevice_Example */ = {
123 | isa = PBXGroup;
124 | children = (
125 | F2D99CF3C11487A9D5143AB9D66D0740 /* Pods-CheckDevice_Example.modulemap */,
126 | 1DF3AA5C036D291C0D4AAD291297B88C /* Pods-CheckDevice_Example-acknowledgements.markdown */,
127 | 7937F2A54C6D5F8C56F41B34414E085A /* Pods-CheckDevice_Example-acknowledgements.plist */,
128 | 147490E270B5A1ECDD1BFECC555307D0 /* Pods-CheckDevice_Example-dummy.m */,
129 | 332F5CF121ACF7E0ECA990266AB662BD /* Pods-CheckDevice_Example-frameworks.sh */,
130 | DA357E5B5ADD1B7E315CD13A01DF3069 /* Pods-CheckDevice_Example-Info.plist */,
131 | D64DA80A5B1EC5169A0078863F3EE05E /* Pods-CheckDevice_Example-umbrella.h */,
132 | 963C1EB9BF741A9580AF8D59A15F880E /* Pods-CheckDevice_Example.debug.xcconfig */,
133 | 78B427A40EEBAC0D28ABC0644730BF59 /* Pods-CheckDevice_Example.release.xcconfig */,
134 | );
135 | name = "Pods-CheckDevice_Example";
136 | path = "Target Support Files/Pods-CheckDevice_Example";
137 | sourceTree = "";
138 | };
139 | 401DCB9F19B5F0B819500A4D97D06208 /* Targets Support Files */ = {
140 | isa = PBXGroup;
141 | children = (
142 | 39689D3B48C455FA9A8EF27103036199 /* Pods-CheckDevice_Example */,
143 | F9B2673DC755A2AE9AD4493F30A7AF9F /* Pods-CheckDevice_Tests */,
144 | );
145 | name = "Targets Support Files";
146 | sourceTree = "";
147 | };
148 | 45F4E6CAAFEF950637583AF0A12B3BC3 /* Development Pods */ = {
149 | isa = PBXGroup;
150 | children = (
151 | 3102092F44AFD05A7C9E40F570ADC07F /* CheckDevice */,
152 | );
153 | name = "Development Pods";
154 | sourceTree = "";
155 | };
156 | 578452D2E740E91742655AC8F1636D1F /* iOS */ = {
157 | isa = PBXGroup;
158 | children = (
159 | 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */,
160 | );
161 | name = iOS;
162 | sourceTree = "";
163 | };
164 | 682B80A01465F26C5BC61C84AC6308B6 /* Pod */ = {
165 | isa = PBXGroup;
166 | children = (
167 | 917CBDA6B8D49674C1F83CAB3EEF0DBE /* CheckDevice.podspec */,
168 | 0746E0AFA8C8F470F6CC2B87984F142E /* LICENSE */,
169 | 06574AAB03530C39ADAF5B4ECABAFED4 /* README.md */,
170 | );
171 | name = Pod;
172 | sourceTree = "";
173 | };
174 | A2726EB6A4FA983C551FEA6AFFC1FAAC /* Products */ = {
175 | isa = PBXGroup;
176 | children = (
177 | EFBA65A809B9FD681837EE0AA85068C6 /* CheckDevice.framework */,
178 | F7C3E4E684CE7E5AF2EC0DCB425736BF /* Pods_CheckDevice_Example.framework */,
179 | C5E160D67CFC2E7381267D3D004E7CE1 /* Pods_CheckDevice_Tests.framework */,
180 | );
181 | name = Products;
182 | sourceTree = "";
183 | };
184 | C5079254CC6E718EC0CD465BF2E20089 /* Support Files */ = {
185 | isa = PBXGroup;
186 | children = (
187 | C5E11AF58DE4B7496F1C9B41488839E5 /* CheckDevice.modulemap */,
188 | C1742E072D83F373ED7FBD4456EC96DD /* CheckDevice-dummy.m */,
189 | 10A775062A5258F05BAC7EB0A2BA3742 /* CheckDevice-Info.plist */,
190 | A8E3441633AEA3CD72A1D8EDEB00351E /* CheckDevice-prefix.pch */,
191 | ADEC3014FF8FA475879325D358EF0BC5 /* CheckDevice-umbrella.h */,
192 | D33A6F0F106EA99310664CF79F755B40 /* CheckDevice.debug.xcconfig */,
193 | 0D9411CED496FE629452DDDE39F9CA0D /* CheckDevice.release.xcconfig */,
194 | );
195 | name = "Support Files";
196 | path = "Example/Pods/Target Support Files/CheckDevice";
197 | sourceTree = "";
198 | };
199 | CF1408CF629C7361332E53B88F7BD30C = {
200 | isa = PBXGroup;
201 | children = (
202 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
203 | 45F4E6CAAFEF950637583AF0A12B3BC3 /* Development Pods */,
204 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
205 | A2726EB6A4FA983C551FEA6AFFC1FAAC /* Products */,
206 | 401DCB9F19B5F0B819500A4D97D06208 /* Targets Support Files */,
207 | );
208 | sourceTree = "";
209 | };
210 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
211 | isa = PBXGroup;
212 | children = (
213 | 578452D2E740E91742655AC8F1636D1F /* iOS */,
214 | );
215 | name = Frameworks;
216 | sourceTree = "";
217 | };
218 | F9B2673DC755A2AE9AD4493F30A7AF9F /* Pods-CheckDevice_Tests */ = {
219 | isa = PBXGroup;
220 | children = (
221 | 3B49422AB933C77434F8B096CCA6313B /* Pods-CheckDevice_Tests.modulemap */,
222 | 19D149CF24824B446603957B034EF80D /* Pods-CheckDevice_Tests-acknowledgements.markdown */,
223 | 1F14ADCAC9D84C6715E9ADB7988EACE8 /* Pods-CheckDevice_Tests-acknowledgements.plist */,
224 | 27AD4C6405C94B098E37F66A0E8B1A99 /* Pods-CheckDevice_Tests-dummy.m */,
225 | DFB20924909CE8C1F63F94642B928FA5 /* Pods-CheckDevice_Tests-Info.plist */,
226 | 092C04E1839C9CD4B1F84FB26C8CB62D /* Pods-CheckDevice_Tests-umbrella.h */,
227 | 2BB383C4B65E16A6E441CCDD47CEC37B /* Pods-CheckDevice_Tests.debug.xcconfig */,
228 | B1206ED32D0D81C7B7956AF8845AD546 /* Pods-CheckDevice_Tests.release.xcconfig */,
229 | );
230 | name = "Pods-CheckDevice_Tests";
231 | path = "Target Support Files/Pods-CheckDevice_Tests";
232 | sourceTree = "";
233 | };
234 | FC4D68732559DF6500A887D1 /* Sources */ = {
235 | isa = PBXGroup;
236 | children = (
237 | FC4D68742559DF6500A887D1 /* CheckDevice */,
238 | );
239 | path = Sources;
240 | sourceTree = "";
241 | };
242 | FC4D68742559DF6500A887D1 /* CheckDevice */ = {
243 | isa = PBXGroup;
244 | children = (
245 | FC4D68752559DF6500A887D1 /* CheckDevice.swift */,
246 | FC4D68762559DF6500A887D1 /* Type.swift */,
247 | FC4D68772559DF6500A887D1 /* Version.swift */,
248 | FCFCD69C2565B9B000B3FFAD /* Battery.swift */,
249 | FC4D68782559DF6500A887D1 /* Size.swift */,
250 | );
251 | path = CheckDevice;
252 | sourceTree = "";
253 | };
254 | /* End PBXGroup section */
255 |
256 | /* Begin PBXHeadersBuildPhase section */
257 | 63009BC1776E16FA48E001833A298175 /* Headers */ = {
258 | isa = PBXHeadersBuildPhase;
259 | buildActionMask = 2147483647;
260 | files = (
261 | 65A87BFA32D97DE5D826087166EA23AE /* Pods-CheckDevice_Example-umbrella.h in Headers */,
262 | );
263 | runOnlyForDeploymentPostprocessing = 0;
264 | };
265 | ECD0702B64235AC7446AE6F3F189A861 /* Headers */ = {
266 | isa = PBXHeadersBuildPhase;
267 | buildActionMask = 2147483647;
268 | files = (
269 | CF392F5DE4E813A284E5106C012456BA /* CheckDevice-umbrella.h in Headers */,
270 | );
271 | runOnlyForDeploymentPostprocessing = 0;
272 | };
273 | EEC76DB11A7B62065A44C058B5DF6EE4 /* Headers */ = {
274 | isa = PBXHeadersBuildPhase;
275 | buildActionMask = 2147483647;
276 | files = (
277 | C2B589C2F0FC05991D6F6EE784B35113 /* Pods-CheckDevice_Tests-umbrella.h in Headers */,
278 | );
279 | runOnlyForDeploymentPostprocessing = 0;
280 | };
281 | /* End PBXHeadersBuildPhase section */
282 |
283 | /* Begin PBXNativeTarget section */
284 | 9A27372EB17B5A4AA72A7D31E9109208 /* Pods-CheckDevice_Example */ = {
285 | isa = PBXNativeTarget;
286 | buildConfigurationList = 291766DB2B76AFD29C07FC9B1D6129DD /* Build configuration list for PBXNativeTarget "Pods-CheckDevice_Example" */;
287 | buildPhases = (
288 | 63009BC1776E16FA48E001833A298175 /* Headers */,
289 | D90CFC723391DC618925A97CF81BB380 /* Sources */,
290 | 79EA67C8083DF781D01C6D03841A31D6 /* Frameworks */,
291 | BAFEE70E6BD0042E3068D4268291FB80 /* Resources */,
292 | );
293 | buildRules = (
294 | );
295 | dependencies = (
296 | DC15A95A5CED947517979B5C53BBE21A /* PBXTargetDependency */,
297 | );
298 | name = "Pods-CheckDevice_Example";
299 | productName = "Pods-CheckDevice_Example";
300 | productReference = F7C3E4E684CE7E5AF2EC0DCB425736BF /* Pods_CheckDevice_Example.framework */;
301 | productType = "com.apple.product-type.framework";
302 | };
303 | 9B271A2FB52C6C9FE913854671E37F03 /* Pods-CheckDevice_Tests */ = {
304 | isa = PBXNativeTarget;
305 | buildConfigurationList = 29EAC96B86E68F0873CAB2A55182F966 /* Build configuration list for PBXNativeTarget "Pods-CheckDevice_Tests" */;
306 | buildPhases = (
307 | EEC76DB11A7B62065A44C058B5DF6EE4 /* Headers */,
308 | 560D94BF63FE3EFB93AD7703D151FE49 /* Sources */,
309 | BDF821D6AFF8C9BCEE6B965F87A32338 /* Frameworks */,
310 | F341AD229E8013EBB7317FED91417ACD /* Resources */,
311 | );
312 | buildRules = (
313 | );
314 | dependencies = (
315 | 489E0618C55743E1E8E73EA4FB14B739 /* PBXTargetDependency */,
316 | );
317 | name = "Pods-CheckDevice_Tests";
318 | productName = "Pods-CheckDevice_Tests";
319 | productReference = C5E160D67CFC2E7381267D3D004E7CE1 /* Pods_CheckDevice_Tests.framework */;
320 | productType = "com.apple.product-type.framework";
321 | };
322 | FD23082851CEDB4664ABA244C9FBF173 /* CheckDevice */ = {
323 | isa = PBXNativeTarget;
324 | buildConfigurationList = 61B5D31BCE78C4FBEFD4A1437A01FB75 /* Build configuration list for PBXNativeTarget "CheckDevice" */;
325 | buildPhases = (
326 | ECD0702B64235AC7446AE6F3F189A861 /* Headers */,
327 | B18C6E1F8A5759D5E05887E3966F1544 /* Sources */,
328 | 4D9452540EF09D8EA4E4FB41C15BD526 /* Frameworks */,
329 | C9A328106C80FA9D122BD5A8F613746F /* Resources */,
330 | );
331 | buildRules = (
332 | );
333 | dependencies = (
334 | );
335 | name = CheckDevice;
336 | productName = CheckDevice;
337 | productReference = EFBA65A809B9FD681837EE0AA85068C6 /* CheckDevice.framework */;
338 | productType = "com.apple.product-type.framework";
339 | };
340 | /* End PBXNativeTarget section */
341 |
342 | /* Begin PBXProject section */
343 | BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
344 | isa = PBXProject;
345 | attributes = {
346 | LastSwiftUpdateCheck = 1100;
347 | LastUpgradeCheck = 1240;
348 | TargetAttributes = {
349 | FD23082851CEDB4664ABA244C9FBF173 = {
350 | LastSwiftMigration = 1240;
351 | };
352 | };
353 | };
354 | buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
355 | compatibilityVersion = "Xcode 3.2";
356 | developmentRegion = en;
357 | hasScannedForEncodings = 0;
358 | knownRegions = (
359 | en,
360 | Base,
361 | );
362 | mainGroup = CF1408CF629C7361332E53B88F7BD30C;
363 | productRefGroup = A2726EB6A4FA983C551FEA6AFFC1FAAC /* Products */;
364 | projectDirPath = "";
365 | projectRoot = "";
366 | targets = (
367 | FD23082851CEDB4664ABA244C9FBF173 /* CheckDevice */,
368 | 9A27372EB17B5A4AA72A7D31E9109208 /* Pods-CheckDevice_Example */,
369 | 9B271A2FB52C6C9FE913854671E37F03 /* Pods-CheckDevice_Tests */,
370 | );
371 | };
372 | /* End PBXProject section */
373 |
374 | /* Begin PBXResourcesBuildPhase section */
375 | BAFEE70E6BD0042E3068D4268291FB80 /* Resources */ = {
376 | isa = PBXResourcesBuildPhase;
377 | buildActionMask = 2147483647;
378 | files = (
379 | );
380 | runOnlyForDeploymentPostprocessing = 0;
381 | };
382 | C9A328106C80FA9D122BD5A8F613746F /* Resources */ = {
383 | isa = PBXResourcesBuildPhase;
384 | buildActionMask = 2147483647;
385 | files = (
386 | );
387 | runOnlyForDeploymentPostprocessing = 0;
388 | };
389 | F341AD229E8013EBB7317FED91417ACD /* Resources */ = {
390 | isa = PBXResourcesBuildPhase;
391 | buildActionMask = 2147483647;
392 | files = (
393 | );
394 | runOnlyForDeploymentPostprocessing = 0;
395 | };
396 | /* End PBXResourcesBuildPhase section */
397 |
398 | /* Begin PBXSourcesBuildPhase section */
399 | 560D94BF63FE3EFB93AD7703D151FE49 /* Sources */ = {
400 | isa = PBXSourcesBuildPhase;
401 | buildActionMask = 2147483647;
402 | files = (
403 | DAD60357ABCA7D642497BAB2A0557EF2 /* Pods-CheckDevice_Tests-dummy.m in Sources */,
404 | );
405 | runOnlyForDeploymentPostprocessing = 0;
406 | };
407 | B18C6E1F8A5759D5E05887E3966F1544 /* Sources */ = {
408 | isa = PBXSourcesBuildPhase;
409 | buildActionMask = 2147483647;
410 | files = (
411 | FC4D68792559DF6500A887D1 /* CheckDevice.swift in Sources */,
412 | FC4D687C2559DF6500A887D1 /* Size.swift in Sources */,
413 | 2488B8C2324AAA9CEEB5574E4D339AE5 /* CheckDevice-dummy.m in Sources */,
414 | FCFCD69D2565B9B000B3FFAD /* Battery.swift in Sources */,
415 | FC4D687B2559DF6500A887D1 /* Version.swift in Sources */,
416 | FC4D687A2559DF6500A887D1 /* Type.swift in Sources */,
417 | );
418 | runOnlyForDeploymentPostprocessing = 0;
419 | };
420 | D90CFC723391DC618925A97CF81BB380 /* Sources */ = {
421 | isa = PBXSourcesBuildPhase;
422 | buildActionMask = 2147483647;
423 | files = (
424 | A0FD1AFF397AEE93524244C4CBEBE234 /* Pods-CheckDevice_Example-dummy.m in Sources */,
425 | );
426 | runOnlyForDeploymentPostprocessing = 0;
427 | };
428 | /* End PBXSourcesBuildPhase section */
429 |
430 | /* Begin PBXTargetDependency section */
431 | 489E0618C55743E1E8E73EA4FB14B739 /* PBXTargetDependency */ = {
432 | isa = PBXTargetDependency;
433 | name = "Pods-CheckDevice_Example";
434 | target = 9A27372EB17B5A4AA72A7D31E9109208 /* Pods-CheckDevice_Example */;
435 | targetProxy = 03048D226977C343ABE50A1BBD2A1FF2 /* PBXContainerItemProxy */;
436 | };
437 | DC15A95A5CED947517979B5C53BBE21A /* PBXTargetDependency */ = {
438 | isa = PBXTargetDependency;
439 | name = CheckDevice;
440 | target = FD23082851CEDB4664ABA244C9FBF173 /* CheckDevice */;
441 | targetProxy = 7D4059628A5DDB6399A8632BCCFB37E5 /* PBXContainerItemProxy */;
442 | };
443 | /* End PBXTargetDependency section */
444 |
445 | /* Begin XCBuildConfiguration section */
446 | 02513C4BEE59A7FD9EBEF72C24F6B35F /* Release */ = {
447 | isa = XCBuildConfiguration;
448 | baseConfigurationReference = 0D9411CED496FE629452DDDE39F9CA0D /* CheckDevice.release.xcconfig */;
449 | buildSettings = {
450 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
451 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
452 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
453 | CURRENT_PROJECT_VERSION = 1;
454 | DEFINES_MODULE = YES;
455 | DYLIB_COMPATIBILITY_VERSION = 1;
456 | DYLIB_CURRENT_VERSION = 1;
457 | DYLIB_INSTALL_NAME_BASE = "@rpath";
458 | GCC_PREFIX_HEADER = "Target Support Files/CheckDevice/CheckDevice-prefix.pch";
459 | INFOPLIST_FILE = "Target Support Files/CheckDevice/CheckDevice-Info.plist";
460 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
461 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
462 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
463 | MODULEMAP_FILE = "Target Support Files/CheckDevice/CheckDevice.modulemap";
464 | PRODUCT_MODULE_NAME = CheckDevice;
465 | PRODUCT_NAME = CheckDevice;
466 | SDKROOT = iphoneos;
467 | SKIP_INSTALL = YES;
468 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
469 | SWIFT_VERSION = 5.0;
470 | TARGETED_DEVICE_FAMILY = "1,2";
471 | VALIDATE_PRODUCT = YES;
472 | VERSIONING_SYSTEM = "apple-generic";
473 | VERSION_INFO_PREFIX = "";
474 | };
475 | name = Release;
476 | };
477 | 2B85BC676B235E73525435761A8FC346 /* Release */ = {
478 | isa = XCBuildConfiguration;
479 | baseConfigurationReference = B1206ED32D0D81C7B7956AF8845AD546 /* Pods-CheckDevice_Tests.release.xcconfig */;
480 | buildSettings = {
481 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
482 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
483 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
484 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
485 | CURRENT_PROJECT_VERSION = 1;
486 | DEFINES_MODULE = YES;
487 | DYLIB_COMPATIBILITY_VERSION = 1;
488 | DYLIB_CURRENT_VERSION = 1;
489 | DYLIB_INSTALL_NAME_BASE = "@rpath";
490 | INFOPLIST_FILE = "Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests-Info.plist";
491 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
492 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
493 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
494 | MACH_O_TYPE = staticlib;
495 | MODULEMAP_FILE = "Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests.modulemap";
496 | OTHER_LDFLAGS = "";
497 | OTHER_LIBTOOLFLAGS = "";
498 | PODS_ROOT = "$(SRCROOT)";
499 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
500 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
501 | SDKROOT = iphoneos;
502 | SKIP_INSTALL = YES;
503 | TARGETED_DEVICE_FAMILY = "1,2";
504 | VALIDATE_PRODUCT = YES;
505 | VERSIONING_SYSTEM = "apple-generic";
506 | VERSION_INFO_PREFIX = "";
507 | };
508 | name = Release;
509 | };
510 | 3E15E94762FD8A1722BAAD2C217FFFB8 /* Release */ = {
511 | isa = XCBuildConfiguration;
512 | baseConfigurationReference = 78B427A40EEBAC0D28ABC0644730BF59 /* Pods-CheckDevice_Example.release.xcconfig */;
513 | buildSettings = {
514 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
515 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
516 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
517 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
518 | CURRENT_PROJECT_VERSION = 1;
519 | DEFINES_MODULE = YES;
520 | DYLIB_COMPATIBILITY_VERSION = 1;
521 | DYLIB_CURRENT_VERSION = 1;
522 | DYLIB_INSTALL_NAME_BASE = "@rpath";
523 | INFOPLIST_FILE = "Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example-Info.plist";
524 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
525 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
526 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
527 | MACH_O_TYPE = staticlib;
528 | MODULEMAP_FILE = "Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example.modulemap";
529 | OTHER_LDFLAGS = "";
530 | OTHER_LIBTOOLFLAGS = "";
531 | PODS_ROOT = "$(SRCROOT)";
532 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
533 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
534 | SDKROOT = iphoneos;
535 | SKIP_INSTALL = YES;
536 | TARGETED_DEVICE_FAMILY = "1,2";
537 | VALIDATE_PRODUCT = YES;
538 | VERSIONING_SYSTEM = "apple-generic";
539 | VERSION_INFO_PREFIX = "";
540 | };
541 | name = Release;
542 | };
543 | 431BA2B8298F0EE71735B9E0114E1955 /* Release */ = {
544 | isa = XCBuildConfiguration;
545 | buildSettings = {
546 | ALWAYS_SEARCH_USER_PATHS = NO;
547 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
548 | CLANG_ANALYZER_NONNULL = YES;
549 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
550 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
551 | CLANG_CXX_LIBRARY = "libc++";
552 | CLANG_ENABLE_MODULES = YES;
553 | CLANG_ENABLE_OBJC_ARC = YES;
554 | CLANG_ENABLE_OBJC_WEAK = YES;
555 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
556 | CLANG_WARN_BOOL_CONVERSION = YES;
557 | CLANG_WARN_COMMA = YES;
558 | CLANG_WARN_CONSTANT_CONVERSION = YES;
559 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
560 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
561 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
562 | CLANG_WARN_EMPTY_BODY = YES;
563 | CLANG_WARN_ENUM_CONVERSION = YES;
564 | CLANG_WARN_INFINITE_RECURSION = YES;
565 | CLANG_WARN_INT_CONVERSION = YES;
566 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
567 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
568 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
569 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
570 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
571 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
572 | CLANG_WARN_STRICT_PROTOTYPES = YES;
573 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
574 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
575 | CLANG_WARN_UNREACHABLE_CODE = YES;
576 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
577 | COPY_PHASE_STRIP = NO;
578 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
579 | ENABLE_NS_ASSERTIONS = NO;
580 | ENABLE_STRICT_OBJC_MSGSEND = YES;
581 | GCC_C_LANGUAGE_STANDARD = gnu11;
582 | GCC_NO_COMMON_BLOCKS = YES;
583 | GCC_PREPROCESSOR_DEFINITIONS = (
584 | "POD_CONFIGURATION_RELEASE=1",
585 | "$(inherited)",
586 | );
587 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
588 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
589 | GCC_WARN_UNDECLARED_SELECTOR = YES;
590 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
591 | GCC_WARN_UNUSED_FUNCTION = YES;
592 | GCC_WARN_UNUSED_VARIABLE = YES;
593 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
594 | MTL_ENABLE_DEBUG_INFO = NO;
595 | MTL_FAST_MATH = YES;
596 | PRODUCT_NAME = "$(TARGET_NAME)";
597 | STRIP_INSTALLED_PRODUCT = NO;
598 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
599 | SWIFT_VERSION = 5.0;
600 | SYMROOT = "${SRCROOT}/../build";
601 | };
602 | name = Release;
603 | };
604 | 79759604D78320E712558F49DF19AA9F /* Debug */ = {
605 | isa = XCBuildConfiguration;
606 | buildSettings = {
607 | ALWAYS_SEARCH_USER_PATHS = NO;
608 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
609 | CLANG_ANALYZER_NONNULL = YES;
610 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
611 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
612 | CLANG_CXX_LIBRARY = "libc++";
613 | CLANG_ENABLE_MODULES = YES;
614 | CLANG_ENABLE_OBJC_ARC = YES;
615 | CLANG_ENABLE_OBJC_WEAK = YES;
616 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
617 | CLANG_WARN_BOOL_CONVERSION = YES;
618 | CLANG_WARN_COMMA = YES;
619 | CLANG_WARN_CONSTANT_CONVERSION = YES;
620 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
621 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
622 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
623 | CLANG_WARN_EMPTY_BODY = YES;
624 | CLANG_WARN_ENUM_CONVERSION = YES;
625 | CLANG_WARN_INFINITE_RECURSION = YES;
626 | CLANG_WARN_INT_CONVERSION = YES;
627 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
628 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
629 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
630 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
631 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
632 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
633 | CLANG_WARN_STRICT_PROTOTYPES = YES;
634 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
635 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
636 | CLANG_WARN_UNREACHABLE_CODE = YES;
637 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
638 | COPY_PHASE_STRIP = NO;
639 | DEBUG_INFORMATION_FORMAT = dwarf;
640 | ENABLE_STRICT_OBJC_MSGSEND = YES;
641 | ENABLE_TESTABILITY = YES;
642 | GCC_C_LANGUAGE_STANDARD = gnu11;
643 | GCC_DYNAMIC_NO_PIC = NO;
644 | GCC_NO_COMMON_BLOCKS = YES;
645 | GCC_OPTIMIZATION_LEVEL = 0;
646 | GCC_PREPROCESSOR_DEFINITIONS = (
647 | "POD_CONFIGURATION_DEBUG=1",
648 | "DEBUG=1",
649 | "$(inherited)",
650 | );
651 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
652 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
653 | GCC_WARN_UNDECLARED_SELECTOR = YES;
654 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
655 | GCC_WARN_UNUSED_FUNCTION = YES;
656 | GCC_WARN_UNUSED_VARIABLE = YES;
657 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
658 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
659 | MTL_FAST_MATH = YES;
660 | ONLY_ACTIVE_ARCH = YES;
661 | PRODUCT_NAME = "$(TARGET_NAME)";
662 | STRIP_INSTALLED_PRODUCT = NO;
663 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
664 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
665 | SWIFT_VERSION = 5.0;
666 | SYMROOT = "${SRCROOT}/../build";
667 | };
668 | name = Debug;
669 | };
670 | AE322FD663FBB320AE84CD3C66A3437D /* Debug */ = {
671 | isa = XCBuildConfiguration;
672 | baseConfigurationReference = D33A6F0F106EA99310664CF79F755B40 /* CheckDevice.debug.xcconfig */;
673 | buildSettings = {
674 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
675 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
676 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
677 | CURRENT_PROJECT_VERSION = 1;
678 | DEFINES_MODULE = YES;
679 | DYLIB_COMPATIBILITY_VERSION = 1;
680 | DYLIB_CURRENT_VERSION = 1;
681 | DYLIB_INSTALL_NAME_BASE = "@rpath";
682 | GCC_PREFIX_HEADER = "Target Support Files/CheckDevice/CheckDevice-prefix.pch";
683 | INFOPLIST_FILE = "Target Support Files/CheckDevice/CheckDevice-Info.plist";
684 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
685 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
686 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
687 | MODULEMAP_FILE = "Target Support Files/CheckDevice/CheckDevice.modulemap";
688 | PRODUCT_MODULE_NAME = CheckDevice;
689 | PRODUCT_NAME = CheckDevice;
690 | SDKROOT = iphoneos;
691 | SKIP_INSTALL = YES;
692 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
693 | SWIFT_VERSION = 5.0;
694 | TARGETED_DEVICE_FAMILY = "1,2";
695 | VERSIONING_SYSTEM = "apple-generic";
696 | VERSION_INFO_PREFIX = "";
697 | };
698 | name = Debug;
699 | };
700 | BD3ADABEFE892DCE68DF8276BD64D972 /* Debug */ = {
701 | isa = XCBuildConfiguration;
702 | baseConfigurationReference = 963C1EB9BF741A9580AF8D59A15F880E /* Pods-CheckDevice_Example.debug.xcconfig */;
703 | buildSettings = {
704 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
705 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
706 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
707 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
708 | CURRENT_PROJECT_VERSION = 1;
709 | DEFINES_MODULE = YES;
710 | DYLIB_COMPATIBILITY_VERSION = 1;
711 | DYLIB_CURRENT_VERSION = 1;
712 | DYLIB_INSTALL_NAME_BASE = "@rpath";
713 | INFOPLIST_FILE = "Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example-Info.plist";
714 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
715 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
716 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
717 | MACH_O_TYPE = staticlib;
718 | MODULEMAP_FILE = "Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example.modulemap";
719 | OTHER_LDFLAGS = "";
720 | OTHER_LIBTOOLFLAGS = "";
721 | PODS_ROOT = "$(SRCROOT)";
722 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
723 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
724 | SDKROOT = iphoneos;
725 | SKIP_INSTALL = YES;
726 | TARGETED_DEVICE_FAMILY = "1,2";
727 | VERSIONING_SYSTEM = "apple-generic";
728 | VERSION_INFO_PREFIX = "";
729 | };
730 | name = Debug;
731 | };
732 | E0ADAAB236CC7658B20D61A6B5B70ADC /* Debug */ = {
733 | isa = XCBuildConfiguration;
734 | baseConfigurationReference = 2BB383C4B65E16A6E441CCDD47CEC37B /* Pods-CheckDevice_Tests.debug.xcconfig */;
735 | buildSettings = {
736 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
737 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
738 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
739 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
740 | CURRENT_PROJECT_VERSION = 1;
741 | DEFINES_MODULE = YES;
742 | DYLIB_COMPATIBILITY_VERSION = 1;
743 | DYLIB_CURRENT_VERSION = 1;
744 | DYLIB_INSTALL_NAME_BASE = "@rpath";
745 | INFOPLIST_FILE = "Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests-Info.plist";
746 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
747 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
748 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
749 | MACH_O_TYPE = staticlib;
750 | MODULEMAP_FILE = "Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests.modulemap";
751 | OTHER_LDFLAGS = "";
752 | OTHER_LIBTOOLFLAGS = "";
753 | PODS_ROOT = "$(SRCROOT)";
754 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
755 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
756 | SDKROOT = iphoneos;
757 | SKIP_INSTALL = YES;
758 | TARGETED_DEVICE_FAMILY = "1,2";
759 | VERSIONING_SYSTEM = "apple-generic";
760 | VERSION_INFO_PREFIX = "";
761 | };
762 | name = Debug;
763 | };
764 | /* End XCBuildConfiguration section */
765 |
766 | /* Begin XCConfigurationList section */
767 | 291766DB2B76AFD29C07FC9B1D6129DD /* Build configuration list for PBXNativeTarget "Pods-CheckDevice_Example" */ = {
768 | isa = XCConfigurationList;
769 | buildConfigurations = (
770 | BD3ADABEFE892DCE68DF8276BD64D972 /* Debug */,
771 | 3E15E94762FD8A1722BAAD2C217FFFB8 /* Release */,
772 | );
773 | defaultConfigurationIsVisible = 0;
774 | defaultConfigurationName = Release;
775 | };
776 | 29EAC96B86E68F0873CAB2A55182F966 /* Build configuration list for PBXNativeTarget "Pods-CheckDevice_Tests" */ = {
777 | isa = XCConfigurationList;
778 | buildConfigurations = (
779 | E0ADAAB236CC7658B20D61A6B5B70ADC /* Debug */,
780 | 2B85BC676B235E73525435761A8FC346 /* Release */,
781 | );
782 | defaultConfigurationIsVisible = 0;
783 | defaultConfigurationName = Release;
784 | };
785 | 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
786 | isa = XCConfigurationList;
787 | buildConfigurations = (
788 | 79759604D78320E712558F49DF19AA9F /* Debug */,
789 | 431BA2B8298F0EE71735B9E0114E1955 /* Release */,
790 | );
791 | defaultConfigurationIsVisible = 0;
792 | defaultConfigurationName = Release;
793 | };
794 | 61B5D31BCE78C4FBEFD4A1437A01FB75 /* Build configuration list for PBXNativeTarget "CheckDevice" */ = {
795 | isa = XCConfigurationList;
796 | buildConfigurations = (
797 | AE322FD663FBB320AE84CD3C66A3437D /* Debug */,
798 | 02513C4BEE59A7FD9EBEF72C24F6B35F /* Release */,
799 | );
800 | defaultConfigurationIsVisible = 0;
801 | defaultConfigurationName = Release;
802 | };
803 | /* End XCConfigurationList section */
804 | };
805 | rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
806 | }
807 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/CheckDevice/CheckDevice-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 0.1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/CheckDevice/CheckDevice-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_CheckDevice : NSObject
3 | @end
4 | @implementation PodsDummy_CheckDevice
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/CheckDevice/CheckDevice-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/CheckDevice/CheckDevice-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double CheckDeviceVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char CheckDeviceVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/CheckDevice/CheckDevice.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CheckDevice
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
9 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/CheckDevice/CheckDevice.modulemap:
--------------------------------------------------------------------------------
1 | framework module CheckDevice {
2 | umbrella header "CheckDevice-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/CheckDevice/CheckDevice.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CheckDevice
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
9 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## CheckDevice
5 |
6 | Copyright (c) 2020 ugurethemaydin
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy
9 | of this software and associated documentation files (the "Software"), to deal
10 | in the Software without restriction, including without limitation the rights
11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | copies of the Software, and to permit persons to whom the Software is
13 | furnished to do so, subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be included in
16 | all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | THE SOFTWARE.
25 |
26 | Generated by CocoaPods - https://cocoapods.org
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | Copyright (c) 2020 ugurethemaydin <ugur@metromedya.com>
18 |
19 | Permission is hereby granted, free of charge, to any person obtaining a copy
20 | of this software and associated documentation files (the "Software"), to deal
21 | in the Software without restriction, including without limitation the rights
22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23 | copies of the Software, and to permit persons to whom the Software is
24 | furnished to do so, subject to the following conditions:
25 |
26 | The above copyright notice and this permission notice shall be included in
27 | all copies or substantial portions of the Software.
28 |
29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
35 | THE SOFTWARE.
36 |
37 | License
38 | MIT
39 | Title
40 | CheckDevice
41 | Type
42 | PSGroupSpecifier
43 |
44 |
45 | FooterText
46 | Generated by CocoaPods - https://cocoapods.org
47 | Title
48 |
49 | Type
50 | PSGroupSpecifier
51 |
52 |
53 | StringsTable
54 | Acknowledgements
55 | Title
56 | Acknowledgements
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_CheckDevice_Example : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_CheckDevice_Example
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example-frameworks.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -e
3 | set -u
4 | set -o pipefail
5 |
6 | function on_error {
7 | echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
8 | }
9 | trap 'on_error $LINENO' ERR
10 |
11 | if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
12 | # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
13 | # frameworks to, so exit 0 (signalling the script phase was successful).
14 | exit 0
15 | fi
16 |
17 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
18 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
19 |
20 | COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
21 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
22 | BCSYMBOLMAP_DIR="BCSymbolMaps"
23 |
24 |
25 | # This protects against multiple targets copying the same framework dependency at the same time. The solution
26 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
27 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
28 |
29 | # Copies and strips a vendored framework
30 | install_framework()
31 | {
32 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
33 | local source="${BUILT_PRODUCTS_DIR}/$1"
34 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
35 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
36 | elif [ -r "$1" ]; then
37 | local source="$1"
38 | fi
39 |
40 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
41 |
42 | if [ -L "${source}" ]; then
43 | echo "Symlinked..."
44 | source="$(readlink "${source}")"
45 | fi
46 |
47 | if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then
48 | # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied
49 | find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do
50 | echo "Installing $f"
51 | install_bcsymbolmap "$f" "$destination"
52 | rm "$f"
53 | done
54 | rmdir "${source}/${BCSYMBOLMAP_DIR}"
55 | fi
56 |
57 | # Use filter instead of exclude so missing patterns don't throw errors.
58 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
59 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
60 |
61 | local basename
62 | basename="$(basename -s .framework "$1")"
63 | binary="${destination}/${basename}.framework/${basename}"
64 |
65 | if ! [ -r "$binary" ]; then
66 | binary="${destination}/${basename}"
67 | elif [ -L "${binary}" ]; then
68 | echo "Destination binary is symlinked..."
69 | dirname="$(dirname "${binary}")"
70 | binary="${dirname}/$(readlink "${binary}")"
71 | fi
72 |
73 | # Strip invalid architectures so "fat" simulator / device frameworks work on device
74 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
75 | strip_invalid_archs "$binary"
76 | fi
77 |
78 | # Resign the code if required by the build settings to avoid unstable apps
79 | code_sign_if_enabled "${destination}/$(basename "$1")"
80 |
81 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
82 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
83 | local swift_runtime_libs
84 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
85 | for lib in $swift_runtime_libs; do
86 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
87 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
88 | code_sign_if_enabled "${destination}/${lib}"
89 | done
90 | fi
91 | }
92 | # Copies and strips a vendored dSYM
93 | install_dsym() {
94 | local source="$1"
95 | warn_missing_arch=${2:-true}
96 | if [ -r "$source" ]; then
97 | # Copy the dSYM into the targets temp dir.
98 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
99 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
100 |
101 | local basename
102 | basename="$(basename -s .dSYM "$source")"
103 | binary_name="$(ls "$source/Contents/Resources/DWARF")"
104 | binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
105 |
106 | # Strip invalid architectures from the dSYM.
107 | if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
108 | strip_invalid_archs "$binary" "$warn_missing_arch"
109 | fi
110 | if [[ $STRIP_BINARY_RETVAL == 0 ]]; then
111 | # Move the stripped file into its final destination.
112 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
113 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
114 | else
115 | # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
116 | touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
117 | fi
118 | fi
119 | }
120 |
121 | # Used as a return value for each invocation of `strip_invalid_archs` function.
122 | STRIP_BINARY_RETVAL=0
123 |
124 | # Strip invalid architectures
125 | strip_invalid_archs() {
126 | binary="$1"
127 | warn_missing_arch=${2:-true}
128 | # Get architectures for current target binary
129 | binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
130 | # Intersect them with the architectures we are building for
131 | intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
132 | # If there are no archs supported by this binary then warn the user
133 | if [[ -z "$intersected_archs" ]]; then
134 | if [[ "$warn_missing_arch" == "true" ]]; then
135 | echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
136 | fi
137 | STRIP_BINARY_RETVAL=1
138 | return
139 | fi
140 | stripped=""
141 | for arch in $binary_archs; do
142 | if ! [[ "${ARCHS}" == *"$arch"* ]]; then
143 | # Strip non-valid architectures in-place
144 | lipo -remove "$arch" -output "$binary" "$binary"
145 | stripped="$stripped $arch"
146 | fi
147 | done
148 | if [[ "$stripped" ]]; then
149 | echo "Stripped $binary of architectures:$stripped"
150 | fi
151 | STRIP_BINARY_RETVAL=0
152 | }
153 |
154 | # Copies the bcsymbolmap files of a vendored framework
155 | install_bcsymbolmap() {
156 | local bcsymbolmap_path="$1"
157 | local destination="${BUILT_PRODUCTS_DIR}"
158 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
159 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
160 | }
161 |
162 | # Signs a framework with the provided identity
163 | code_sign_if_enabled() {
164 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
165 | # Use the current code_sign_identity
166 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
167 | local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
168 |
169 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
170 | code_sign_cmd="$code_sign_cmd &"
171 | fi
172 | echo "$code_sign_cmd"
173 | eval "$code_sign_cmd"
174 | fi
175 | }
176 |
177 | if [[ "$CONFIGURATION" == "Debug" ]]; then
178 | install_framework "${BUILT_PRODUCTS_DIR}/CheckDevice/CheckDevice.framework"
179 | fi
180 | if [[ "$CONFIGURATION" == "Release" ]]; then
181 | install_framework "${BUILT_PRODUCTS_DIR}/CheckDevice/CheckDevice.framework"
182 | fi
183 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
184 | wait
185 | fi
186 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_CheckDevice_ExampleVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_CheckDevice_ExampleVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CheckDevice"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CheckDevice/CheckDevice.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | OTHER_LDFLAGS = $(inherited) -framework "CheckDevice"
8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
9 | PODS_BUILD_DIR = ${BUILD_DIR}
10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
12 | PODS_ROOT = ${SRCROOT}/Pods
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_CheckDevice_Example {
2 | umbrella header "Pods-CheckDevice_Example-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Example/Pods-CheckDevice_Example.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CheckDevice"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CheckDevice/CheckDevice.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | OTHER_LDFLAGS = $(inherited) -framework "CheckDevice"
8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
9 | PODS_BUILD_DIR = ${BUILD_DIR}
10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
12 | PODS_ROOT = ${SRCROOT}/Pods
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 | Generated by CocoaPods - https://cocoapods.org
4 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | Generated by CocoaPods - https://cocoapods.org
18 | Title
19 |
20 | Type
21 | PSGroupSpecifier
22 |
23 |
24 | StringsTable
25 | Acknowledgements
26 | Title
27 | Acknowledgements
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_CheckDevice_Tests : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_CheckDevice_Tests
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_CheckDevice_TestsVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_CheckDevice_TestsVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CheckDevice"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CheckDevice/CheckDevice.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "CheckDevice"
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
9 | PODS_ROOT = ${SRCROOT}/Pods
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
12 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_CheckDevice_Tests {
2 | umbrella header "Pods-CheckDevice_Tests-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-CheckDevice_Tests/Pods-CheckDevice_Tests.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CheckDevice"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CheckDevice/CheckDevice.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "CheckDevice"
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
9 | PODS_ROOT = ${SRCROOT}/Pods
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
12 |
--------------------------------------------------------------------------------
/Example/Tests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Example/Tests/Tests.swift:
--------------------------------------------------------------------------------
1 | import XCTest
2 | import CheckDevice
3 |
4 | class Tests: XCTestCase {
5 |
6 | override func setUp() {
7 | super.setUp()
8 | // Put setup code here. This method is called before the invocation of each test method in the class.
9 | }
10 |
11 | override func tearDown() {
12 | // Put teardown code here. This method is called after the invocation of each test method in the class.
13 | super.tearDown()
14 | }
15 |
16 | func testExample() {
17 | // This is an example of a functional test case.
18 | XCTAssert(true, "Pass")
19 | }
20 |
21 | func testPerformanceExample() {
22 | // This is an example of a performance test case.
23 | self.measure() {
24 | // Put the code you want to measure the time of here.
25 | }
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/Example/build/XCBuildData/9a7faf5b57248b982fb530cac744c279-desc.xcbuild:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ugurethemaydin/CheckDevice/537377852502f7cc394e4d55ae65fc5da7708e6d/Example/build/XCBuildData/9a7faf5b57248b982fb530cac744c279-desc.xcbuild
--------------------------------------------------------------------------------
/Example/build/XCBuildData/BuildDescriptionCacheIndex-ab4c0b184ae8a7b5b67c2e973c6d2ff3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ugurethemaydin/CheckDevice/537377852502f7cc394e4d55ae65fc5da7708e6d/Example/build/XCBuildData/BuildDescriptionCacheIndex-ab4c0b184ae8a7b5b67c2e973c6d2ff3
--------------------------------------------------------------------------------
/Example/build/XCBuildData/BuildDescriptionCacheIndex-b92acb858bc1c828544f5c762fdc3a57:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ugurethemaydin/CheckDevice/537377852502f7cc394e4d55ae65fc5da7708e6d/Example/build/XCBuildData/BuildDescriptionCacheIndex-b92acb858bc1c828544f5c762fdc3a57
--------------------------------------------------------------------------------
/Example/build/XCBuildData/b7fb037623170d1c167ba533eff70c5d-desc.xcbuild:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ugurethemaydin/CheckDevice/537377852502f7cc394e4d55ae65fc5da7708e6d/Example/build/XCBuildData/b7fb037623170d1c167ba533eff70c5d-desc.xcbuild
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Uğur Ethem AYDIN
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Package.swift:
--------------------------------------------------------------------------------
1 | // swift-tools-version:5.3
2 | // The swift-tools-version declares the minimum version of Swift required to build this package.
3 |
4 | import PackageDescription
5 |
6 | let package = Package(
7 | name: "CheckDevice",
8 |
9 | products: [
10 | // Products define the executables and libraries a package produces, and make them visible to other packages.
11 | .library(
12 | name: "CheckDevice",
13 | targets: ["CheckDevice"]),
14 | ],
15 | dependencies: [
16 | // Dependencies declare other packages that this package depends on.
17 | // .package(url: /* package url */, from: "1.0.0"),
18 | ],
19 | targets: [
20 | // Targets are the basic building blocks of a package. A target can define a module or a test suite.
21 | // Targets can depend on other targets in this package, and on products in packages this package depends on.
22 | .target(
23 | name: "CheckDevice",
24 | dependencies: []),
25 | .testTarget(
26 | name: "CheckDeviceTests",
27 | dependencies: ["CheckDevice"]),
28 | ]
29 | )
30 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # CheckDevice✔️
2 | [](https://twitter.com/intent/tweet?text=How%20to%20detect%20ios%20current%20screen%20size%20or%20device%20type.Just%20use%20this%20repo%20:%20%20%20%20&url=https://github.com/ugurethemaydin/CheckDevice&hashtags=cocoapods,repo,CheckDevice,developers,swift,ios,device,github,deviceDetect)
3 |
4 | 
5 |
6 | 
7 |
8 | [](https://cocoapods.org/pods/CheckDevice)
9 | [](https://cocoapods.org/pods/CheckDevice)
10 | [](https://cocoapods.org/pods/CheckDevice)
11 |
12 |
13 |
14 | [](https://travis-ci.org/ugurethemaydin/CheckDevice)
15 |
16 | #### **How to detect iOS device models and screen size?**
17 | ###### **CheckDevice is detected the current device model and screen sizes.**
18 |
19 | ```swift
20 | CheckDevice.size()
21 | ```
22 |
23 |
24 | ## Simplify and justify
25 |
26 | You can also use
27 |
28 | ```swift
29 | CheckDevice.isPhone()
30 | ```
31 |
32 | to check the device type iPhone.
33 |
34 |
35 |
36 |
37 | ## CocoaPods or Swift Package Manager (SPM)
38 |
39 | **CheckDevice** is support cocoaPods and SPM.
40 | ##
41 | ### CocoaPods
42 | [CocoaPods](http://cocoapods.org/) is a dependency manager for Xcode projects. To use CheckDevice with CocoaPods simply add the following lines to your PodFile:
43 |
44 | ```swift
45 | pod 'CheckDevice'
46 | ```
47 |
48 | And then run: `$ pod install`
49 |
50 | ##
51 | ### Swift Package Manager
52 | #### The [Swift Package Manager](https://swift.org/package-manager/) automates the distribution of Swift code. To use CheckDevice with SPM, add a dependency to your `Package.swift` file:
53 |
54 |
55 |
56 | ```swift
57 | let package = Package(
58 | dependencies: [
59 | .package(url: "https://github.com/ugurethemaydin/CheckDevice.git", ...)
60 | ]
61 | )
62 | ```
63 |
64 |
65 | #
66 | ### Carthage
67 |
68 | ###### [Carthage](https://github.com/Carthage/Carthage) is unsupported.
69 |
70 |
71 |
72 | #
73 | ### Usage
74 |
75 | Detect a current device and write log:
76 |
77 | ```swift
78 | CheckDevice.current()
79 | ```
80 |
81 | ## iOS
82 | ### Device version
83 | ```swift
84 | func myFunc() {
85 | /*** Display the device version ***/
86 | switch CheckDevice.version() {
87 | /*** iPhone ***/
88 | case .iPhone4: print("It's an iPhone 4")
89 | case .iPhone4S: print("It's an iPhone 4S")
90 | case .iPhone5: print("It's an iPhone 5")
91 | case .iPhone5C: print("It's an iPhone 5C")
92 | case .iPhone5S: print("It's an iPhone 5S")
93 | case .iPhone6: print("It's an iPhone 6")
94 | case .iPhone6S: print("It's an iPhone 6S")
95 | case .iPhone6Plus: print("It's an iPhone 6 Plus")
96 | case .iPhone6SPlus: print("It's an iPhone 6 S Plus")
97 | case .iPhoneSE: print("It's an iPhone SE")
98 | case .iPhone7: print("It's an iPhone 7")
99 | case .iPhone7Plus: print("It's an iPhone 7 Plus")
100 | case .iPhone8: print("It's an iPhone 8")
101 | case .iPhone8Plus: print("It's an iPhone 8 Plus")
102 | case .iPhoneX: print("It's an iPhone X")
103 | case .iPhoneXS: print("It's an iPhone Xs")
104 | case .iPhoneXS_Max: print("It's an iPhone Xs Max")
105 | case .iPhoneXR: print("It's an iPhone Xr")
106 | case .iPhone11: print("It's an iPhone 11")
107 | case .iPhone11Pro: print("It's an iPhone 11")
108 | case .iPhone11Pro_Max: print("It's an iPhone 11 Pro Max")
109 | case .iPhone11Pro_Max: print("It's an iPhone 11 Pro Max")
110 | case .iPhoneSE2: print("It's an iPhone SE 2 Gen")
111 | case .iPhone12Mini: print("It's an iPhone 12 Mini")
112 | case .iPhone12: print("It's an iPhone 12")
113 | case .iPhone12Pro: print("It's an iPhone 12 Pro")
114 | case .iPhone12ProMax: print("It's an iPhone 12 Pro Max")
115 |
116 |
117 | /*** iPad ***/
118 | case .iPad1: print("It's an iPad 1")
119 | case .iPad2: print("It's an iPad 2")
120 | case .iPad3: print("It's an iPad 3")
121 | case .iPad4: print("It's an iPad 4")
122 | case .iPad5: print("It's an iPad 5")
123 | case .iPad6: print("It's an iPad 6")
124 | case .iPad7: print("It's an iPad 7")
125 |
126 | /*** iPadAir ***/
127 | case .iPadAir: print("It's an iPad Air")
128 | case .iPadAir2: print("It's an iPad Air 2")
129 |
130 |
131 | /*** iPadMini ***/
132 | case .iPadMini: print("It's an iPad Mini")
133 | case .iPadMini2: print("It's an iPad Mini 2")
134 | case .iPadMini3: print("It's an iPad Mini 3")
135 | case .iPadMini4: print("It's an iPad Mini 4")
136 |
137 |
138 | /*** iPadPro ***/
139 | case .iPadPro9_7Inch: print("It's an iPad Pro 9.7 Inch")
140 | case .iPadPro10_5Inch: print("It's an iPad Pro 10.5 Inch")
141 | case .iPadPro12_9Inch: print("It's an iPad Pro 12.9 Inch")
142 |
143 | /*** iPod ***/
144 | case .iPodTouch1Gen: print("It's a iPod touch generation 1")
145 | case .iPodTouch2Gen: print("It's a iPod touch generation 2")
146 | case .iPodTouch3Gen: print("It's a iPod touch generation 3")
147 | case .iPodTouch4Gen: print("It's a iPod touch generation 4")
148 | case .iPodTouch5Gen: print("It's a iPod touch generation 5")
149 | case .iPodTouch6Gen: print("It's a iPod touch generation 6")
150 | case .iPodTouch7Gen: print("It's a iPod touch generation 7")
151 |
152 |
153 | /*** Watch ***/
154 | case .WatchOriginal38mm: print("It's a Apple Watch Original 38MM")
155 | case .WatchOriginal42mm: print("It's a Apple Watch Original 42MM")
156 |
157 | /*** All watch alternative included... Some examples ***/
158 | case .Watch1Gen38mm: print("It's a Apple Watch 1 38MM")
159 | case .Watch2Gen42mm: print("It's a Apple Watch 2 42MM")
160 | case .Watch4Gen40mm: print("It's a Apple Watch 4 38MM")
161 | case .Watch6Gen40mm: print("It's a Apple Watch 6 40MM")
162 | case .WatchSE44mm: print("It's a Apple Watch SE 44MM")
163 |
164 |
165 |
166 | /*** Simulator ***/
167 | case .Simulator: print("It's a Simulator")
168 |
169 | /*** Unknown ***/
170 | default: print("It's an unknown device")
171 | }
172 | }
173 | ```
174 |
175 | ## Device screen size
176 | ```swift
177 | func myFunc() {
178 | /*** Display the device screen size ***/
179 | switch CheckDevice.size() {
180 | case .screen3_5Inch: print("It's a 3.5 inch screen")
181 | case .screen4Inch: print("It's a 4 inch screen")
182 | case .screen4_7Inch: print("It's a 4.7 inch screen")
183 | case .screen5_4Inch: print("It's a 5.4 inch screen")
184 | case .screen5_5Inch: print("It's a 5.5 inch screen")
185 | case .screen5_8Inch: print("It's a 5.8 inch screen")
186 | case .screen6_1Inch: print("It's a 6.1 inch screen")
187 | case .screen6_5Inch: print("It's a 6.5 inch screen")
188 | case .screen6_7Inch: print("It's a 6.7 inch screen")
189 | case .screen7_9Inch: print("It's a 7.9 inch screen")
190 | case .screen9_7Inch: print("It's a 9.7 inch screen")
191 | case .screen10_5Inch: print("It's a 10.5 inch screen")
192 | case .screen12_9Inch: print("It's a 12.9 inch screen")
193 | default: print("Unknown size")
194 | }
195 | }
196 | ```
197 |
198 | ## Device type
199 | ```swift
200 | func myFunc() {
201 | /*** Display the device type ***/
202 | switch CheckDevice.type() {
203 | case .iPod: print("It's an iPod")
204 | case .iPhone: print("It's an iPhone")
205 | case .iPad: print("It's an iPad")
206 | case .Watch: print("It's an Apple Watch")
207 | case .Simulator: print("It's a Simulated device")
208 | default: print("Unknown device type")
209 | }
210 | }
211 |
212 | ```
213 |
214 | or
215 |
216 | ```swift
217 | func myFunc() {
218 | /*** Display the device type ***/
219 | if (CheckDevice.isPad()){
220 | print("It's an iPad")
221 | }
222 | else if (CheckDevice.isPhone()){
223 | print("It's an iPhone")
224 | }
225 | else if (CheckDevice.isPod()){
226 | print("It's an iPod")
227 | }
228 | else if (CheckDevice.isWatch()){
229 | print("It's an Apple Watch")
230 | }
231 | else if (CheckDevice.isSimulator()){
232 | print("It's a Simulated device")
233 | }
234 | }
235 |
236 | ```
237 |
238 | ## Mac
239 | ### Mac version
240 | ```swift
241 | func myFunc() {
242 | /*** Display the mac version ***/
243 | switch CheckDevice.type() {
244 | case .iMac: print("It's an iMac")
245 | case .macBook: print("It's a MacBook")
246 | case .macBookAir: print("It's a MacBook Air")
247 | case .macBookPro: print("It's a MacBook Pro")
248 | default: print("Unknown device type")
249 | }
250 | }
251 | ```
252 |
253 | ## Mac screen size
254 | ```swift
255 | func myFunc() {
256 | /*** Display the mac screen size ***/
257 | switch CheckDevice.size() {
258 | case .screen11Inch: print("It's a 11 inch screen")
259 | case .screen12Inch: print("It's a 12 inch screen")
260 | case .screen13Inch: print("It's a 13 inch screen")
261 | case .screen15Inch: print("It's a 15 inch screen")
262 | case .screen17Inch: print("It's a 17 inch screen")
263 | case .screen21_5Inch: print("It's a 21.5 inch screen")
264 | case .screen27Inch: print("It's a 27 inch screen")
265 | default: print("Unknown size")
266 | }
267 | }
268 | ```
269 |
270 | ## Helpers
271 | ```swift
272 | func myFunc() {
273 | /*** Helpers ***/
274 | if CheckDevice.size() == Size.screen4Inch {
275 | print("It's a 4 inch screen")
276 | }
277 |
278 | if CheckDevice.size() > Size.screen4_7Inch {
279 | print("Your device screen is larger than 4.7 inch")
280 | }
281 |
282 | if CheckDevice.size() < Size.screen4_7Inch {
283 | print("Your device screen is smaller than 4.7 inch")
284 | }
285 |
286 | if CheckDevice.size() == Size.screen27Inch {
287 | print("It's a 27 inch screen")
288 | }
289 |
290 | if CheckDevice.size() > Size.screen15Inch {
291 | print("Your mac screen is larger than 15 inch")
292 | }
293 |
294 | if CheckDevice.size() < Size.screen15Inch {
295 | print("Your mac screen is smaller than 15 inch")
296 | }
297 |
298 | if CheckDevice.isRetina() {
299 | print("It's a retina display")
300 | }
301 |
302 | }
303 | ```
304 |
305 | #
306 | ## Author
307 |
308 | Uğur Ethem AYDIN, ugur@metromedya.com
309 | [@ugurethemaydin](http://twitter.com/ugurethemaydin)
310 |
311 | ## License
312 |
313 | CheckDevice is available under the [MIT](https://choosealicense.com/licenses/mit/) license. See the LICENSE file for more info.
314 |
--------------------------------------------------------------------------------
/Sources/CheckDevice/Battery.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Battery.swift
3 | // CheckDevice
4 | //
5 | // Created by Uğur Ethem AYDIN on 18.11.2020.
6 | //
7 |
8 | import UIKit
9 |
10 | public struct Battery {
11 | /// Return battery state
12 | public var state: UIDevice.BatteryState {
13 | enableBatteryMonitoringIfNecessary()
14 | return UIDevice.current.batteryState
15 | }
16 |
17 | /// Battery level from 0.0 to 1.0. Will enable monitoring if not enabled.
18 | public var level: Float {
19 | enableBatteryMonitoringIfNecessary()
20 | return UIDevice.current.batteryLevel
21 | }
22 |
23 | private func enableBatteryMonitoringIfNecessary() {
24 | guard !UIDevice.current.isBatteryMonitoringEnabled else { return }
25 | UIDevice.current.isBatteryMonitoringEnabled = true
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/Sources/CheckDevice/CheckDevice.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CheckDevice.swift
3 | // CheckDevice
4 | //
5 | // Created by Uğur Ethem AYDIN @ugurethemaydin on 8.11.2020.
6 | // Copyright © 2020
7 | //
8 | import UIKit
9 |
10 | open class CheckDevice {
11 | static fileprivate func getVersionCode() -> String {
12 | var systemInfo = utsname()
13 | uname(&systemInfo)
14 |
15 | let versionCode: String = String(validatingUTF8: NSString(bytes: &systemInfo.machine, length: Int(_SYS_NAMELEN), encoding: String.Encoding.ascii.rawValue)!.utf8String!)!
16 |
17 | return versionCode
18 | }
19 |
20 | static fileprivate func getVersion(code: String) -> Version {
21 | switch code {
22 | /*** iPhone ***/
23 | //old version
24 | case "iPhone1,1" : return .iPhoneOriginal
25 | case "iPhone1,2" , "iPhone2,1" : return .iPhone3G
26 | case "iPhone3,1", "iPhone3,2", "iPhone3,3": return .iPhone4
27 | case "iPhone4,1", "iPhone4,2", "iPhone4,3": return .iPhone4S
28 | case "iPhone5,1", "iPhone5,2": return .iPhone5
29 | case "iPhone5,3", "iPhone5,4": return .iPhone5C
30 | case "iPhone6,1", "iPhone6,2": return .iPhone5S
31 | case "iPhone7,2": return .iPhone6
32 | case "iPhone7,1": return .iPhone6Plus
33 |
34 | //new version
35 | case "iPhone8,1": return .iPhone6S
36 | case "iPhone8,2": return .iPhone6SPlus
37 | case "iPhone8,3", "iPhone8,4": return .iPhoneSE
38 | case "iPhone9,1", "iPhone9,3": return .iPhone7
39 | case "iPhone9,2", "iPhone9,4": return .iPhone7Plus
40 | case "iPhone10,1", "iPhone10,4": return .iPhone8
41 | case "iPhone10,2", "iPhone10,5": return .iPhone8Plus
42 | case "iPhone10,3", "iPhone10,6": return .iPhoneX
43 | case "iPhone11,2": return .iPhoneXS
44 | case "iPhone11,4", "iPhone11,6": return .iPhoneXS_Max
45 | case "iPhone11,8": return .iPhoneXR
46 | case "iPhone12,1": return .iPhone11
47 | case "iPhone12,3": return .iPhone11Pro
48 | case "iPhone12,5": return .iPhone11Pro_Max
49 | case "iPhone12,8": return .iPhoneSE2
50 | case "iPhone13,1": return .iPhone12Mini
51 | case "iPhone13,2": return .iPhone12
52 | case "iPhone13,3": return .iPhone12Pro
53 | case "iPhone13,4": return .iPhone12ProMax
54 |
55 |
56 |
57 | /*** iPad ***/
58 | case "iPad1,1", "iPad1,2": return .iPad1
59 | case "iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4": return .iPad2
60 | case "iPad3,1", "iPad3,2", "iPad3,3": return .iPad3
61 | case "iPad3,4", "iPad3,5", "iPad3,6": return .iPad4
62 | case "iPad6,11", "iPad6,12": return .iPad5
63 | case "iPad7,5", "iPad7,6": return .iPad6
64 | case "iPad7,11", "iPad7,12": return .iPad7
65 |
66 | /*** iPadAir ***/
67 | case "iPad4,1", "iPad4,2", "iPad4,3": return .iPadAir
68 | case "iPad5,3", "iPad5,4": return .iPadAir2
69 | case "iPad11,3", "iPad11,4": return .iPadAir3
70 | case "iPad13,1", "iPad13,2": return .iPadAir4
71 |
72 | /*** iPadMini ***/
73 | case "iPad2,5", "iPad2,6", "iPad2,7": return .iPadMini
74 | case "iPad4,4", "iPad4,5", "iPad4,6": return .iPadMini2
75 | case "iPad4,7", "iPad4,8", "iPad4,9": return .iPadMini3
76 | case "iPad5,1", "iPad5,2": return .iPadMini4
77 | case "iPad11,1", "iPad11,2": return .iPadMini5
78 |
79 | /*** iPadPro ***/
80 | case "iPad6,3", "iPad6,4": return .iPadPro9_7Inch
81 | case "iPad6,7", "iPad6,8": return .iPadPro12_9Inch
82 | case "iPad7,1", "iPad7,2": return .iPadPro12_9Inch2
83 | case "iPad7,3", "iPad7,4": return .iPadPro10_5Inch
84 | case "iPad8,1", "iPad8,2", "iPad8,3", "iPad8,4": return .iPadPro11_0Inch
85 | case "iPad8,9", "iPad8,10": return .iPadPro11_0Inch4
86 | case "iPad8,5", "iPad8,6", "iPad8,7", "iPad8,8": return .iPadPro12_9Inch3
87 | case "iPad8,11", "iPad8,12": return .iPadPro12_9Inch4
88 |
89 | /*** iPod ***/
90 | case "iPod1,1": return .iPodTouch1Gen
91 | case "iPod2,1": return .iPodTouch2Gen
92 | case "iPod3,1": return .iPodTouch3Gen
93 | case "iPod4,1": return .iPodTouch4Gen
94 | case "iPod5,1": return .iPodTouch5Gen
95 | case "iPod7,1": return .iPodTouch6Gen
96 | case "iPod9,1": return .iPodTouch7Gen
97 |
98 |
99 | /*** Watch ***/
100 | case "Watch1,1": return .WatchOriginal38mm
101 | case "Watch1,2": return .WatchOriginal42mm
102 | case "Watch2,6": return .Watch1Gen38mm
103 | case "Watch2,7": return .Watch1Gen42mm
104 | case "Watch2,3": return .Watch2Gen38mm
105 | case "Watch2,4": return .Watch2Gen42mm
106 | case "Watch3,1", "Watch3,3": return .Watch3Gen38mm
107 | case "Watch3,2", "Watch3,4": return .Watch3Gen42mm
108 | case "Watch4,1", "Watch4,3": return .Watch4Gen40mm
109 | case "Watch4,2", "Watch4,4": return .Watch4Gen44mm
110 | case "Watch5,1", "Watch5,3": return .Watch5Gen40mm
111 | case "Watch5,2", "Watch5,4": return .Watch5Gen44mm
112 | case "Watch6,1", "Watch6,3": return .Watch6Gen40mm
113 | case "Watch6,2", "Watch6,4": return .Watch6Gen44mm
114 | case "Watch5,9", "Watch5,11": return .WatchSE40mm
115 | case "Watch5,10", "Watch5,12": return .WatchSE44mm
116 |
117 | /*** Simulator ***/
118 | case "i386", "x86_64": return .simulator
119 |
120 | default: return .unknown
121 | }
122 | }
123 |
124 | static fileprivate func getType(code: String) -> Type {
125 | let versionCode = getVersionCode()
126 |
127 | if versionCode.contains("iPhone") {
128 | return .iPhone
129 | } else if versionCode.contains("iPad") {
130 | return .iPad
131 | } else if versionCode.contains("iPod") {
132 | return .iPod
133 | } else if versionCode.contains("Watch") {
134 | return .Watch
135 | } else if versionCode == "i386" || versionCode == "x86_64" {
136 | return .simulator
137 | } else {
138 | return .unknown
139 | }
140 | }
141 | //v1.1
142 | static public var battery : Battery {
143 | return Battery()
144 | }
145 | static public func version() -> Version {
146 | return getVersion(code: getVersionCode())
147 | }
148 |
149 | static public func size() -> Size {
150 | let w: Double = Double(UIScreen.main.bounds.width)
151 | let h: Double = Double(UIScreen.main.bounds.height)
152 | let screenHeight: Double = max(w, h)
153 |
154 |
155 | switch screenHeight {
156 | case 480:
157 | return .screen3_5Inch
158 | case 568:
159 | return .screen4Inch
160 | case 667:
161 | return UIScreen.main.scale == 3.0 ? .screen5_5Inch : .screen4_7Inch
162 | case 736:
163 | return .screen5_5Inch
164 | case 780:
165 | return .screen5_4Inch
166 | case 812:
167 | if #available(iOS 11.0, *) {
168 | return UIApplication.shared.windows.first?.safeAreaLayoutGuide.layoutFrame.minY != 44 ? .screen5_4Inch : .screen5_8Inch
169 | } else {
170 | return .screen5_8Inch
171 | }
172 | case 844 :
173 | return .screen6_1Inch
174 | case 896:
175 | return UIScreen.main.scale == 3.0 ? .screen6_5Inch : .screen6_1Inch
176 | // switch version() {
177 | // case .iPhoneXS_Max:
178 | // return .screen6_5Inch .screen6_5Inch
179 | // default:
180 | // return .screen6_1Inch
181 | // }
182 | case 926:
183 | return .screen6_7Inch
184 | case 1024:
185 | switch version() {
186 | case .iPadMini,.iPadMini2,.iPadMini3,.iPadMini4:
187 | return .screen7_9Inch
188 | case .iPadPro10_5Inch:
189 | return .screen10_5Inch
190 | default:
191 | return .screen9_7Inch
192 | }
193 | case 1080:
194 | return .screen10_2Inch
195 | case 1112:
196 | switch version() {
197 | case .iPad7:
198 | return .screen10_2Inch
199 | default:
200 | return .screen10_5Inch
201 | }
202 | case 1180:
203 | return .screen10_9Inch
204 | case 1194:
205 | return .screen11Inch
206 | case 1366:
207 | return .screen12_9Inch
208 | default:
209 | return .unknownSize
210 | }
211 | }
212 |
213 | static public func type() -> Type {
214 | return getType(code: getVersionCode())
215 | }
216 |
217 | @available(*, deprecated, message: "use == operator instead")
218 | static public func isEqualToScreenSize(_ size: Size) -> Bool {
219 | return size == self.size() ? true : false;
220 | }
221 |
222 | @available(*, deprecated, message: "use > operator instead")
223 | static public func isLargerThanScreenSize(_ size: Size) -> Bool {
224 | return size.rawValue < self.size().rawValue ? true : false;
225 | }
226 |
227 | @available(*, deprecated, message: "use < operator instead")
228 | static public func isSmallerThanScreenSize(_ size: Size) -> Bool {
229 | return size.rawValue > self.size().rawValue ? true : false;
230 | }
231 |
232 | static public func isRetina() -> Bool {
233 | return UIScreen.main.scale > 1.0
234 | }
235 |
236 | static public func isWatch() -> Bool {
237 | return type() == .Watch
238 | }
239 | static public func isPad() -> Bool {
240 | return type() == .iPad
241 | }
242 |
243 | static public func isPhone() -> Bool {
244 | return type() == .iPhone
245 | }
246 |
247 | static public func isPod() -> Bool {
248 | return type() == .iPod
249 | }
250 |
251 | static public func isSimulator() -> Bool {
252 | return type() == .simulator
253 | }
254 | //v1.1
255 | static public var isLandscape: Bool {
256 | return ( UIApplication.shared.statusBarOrientation == .landscapeLeft
257 | || UIApplication.shared.statusBarOrientation == .landscapeRight )
258 | }
259 |
260 | static public var isPortrait: Bool {
261 | return !CheckDevice.isLandscape
262 | }
263 |
264 | }
265 |
266 |
267 |
--------------------------------------------------------------------------------
/Sources/CheckDevice/Size.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Size.swift
3 | // CheckDevice
4 | //
5 | // Created by Uğur Ethem AYDIN @ugurethemaydin on 8.11.2020.
6 | // Copyright © 2020
7 | //
8 |
9 |
10 | public enum Size: Int, Comparable {
11 | case unknownSize = 0
12 | #if os(iOS)
13 | /// iPhone Original, 3G, 3GS, 4, 4s, iPod Touch 4th gen.
14 | case screen3_5Inch
15 |
16 | /// iPhone 5, 5s, 5c, SE, iPod Touch 5-6th gen.
17 | case screen4Inch
18 |
19 | /// iPhone 6, 6s, 7, 8, SE2Gen
20 | case screen4_7Inch
21 |
22 | /// iPhone 12Mini
23 | case screen5_4Inch
24 |
25 | /// iPhone 6+, 6s+, 7+, 8+
26 | case screen5_5Inch
27 |
28 | /// iPhone X, Xs, 11 Pro
29 | case screen5_8Inch
30 |
31 | /// iPhone XR, 11 , 12 , 12Pro
32 | case screen6_1Inch
33 |
34 | /// iPhone Xs Max, 11 Pro Max
35 | case screen6_5Inch
36 |
37 | /// iPhone 12 Pro MAX
38 | case screen6_7Inch
39 |
40 | /// iPad Mini
41 | case screen7_9Inch
42 |
43 | /// iPad
44 | case screen9_7Inch
45 |
46 | /// iPad (10.2-inch)
47 | case screen10_2Inch
48 |
49 | /// iPad Pro (10.5-inch)
50 | case screen10_5Inch
51 |
52 | /// iPad Air 4 Gen (10.9-inch)
53 | case screen10_9Inch
54 |
55 | /// iPad Pro (11-inch)
56 | case screen11Inch
57 |
58 | /// iPad Pro (12.9-inch)
59 | case screen12_9Inch
60 |
61 | #elseif os(OSX)
62 | case screen11Inch
63 | case screen12Inch
64 | case screen13Inch
65 | case screen15Inch
66 | case screen17Inch
67 | case screen20Inch
68 | case screen21_5Inch
69 | case screen24Inch
70 | case screen27Inch
71 | #endif
72 | }
73 |
74 | public func <(lhs: Size, rhs: Size) -> Bool {
75 | return lhs.rawValue < rhs.rawValue
76 | }
77 |
78 | public func ==(lhs: Size, rhs: Size) -> Bool {
79 | return lhs.rawValue == rhs.rawValue
80 | }
81 |
--------------------------------------------------------------------------------
/Sources/CheckDevice/Type.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Type.swift
3 | // CheckDevice
4 | //
5 | // Created by Uğur Ethem AYDIN @ugurethemaydin on 8.11.2020.
6 | // Copyright © 2020
7 | //
8 |
9 |
10 | public enum Type: String {
11 | #if os(iOS)
12 | case iPhone
13 | case iPad
14 | case iPod
15 | case simulator
16 | #elseif os(OSX)
17 | case iMac
18 | case macMini
19 | case macPro
20 | case macBook
21 | case macBookAir
22 | case macBookPro
23 | case xserve
24 | #endif
25 | case Watch
26 | case unknown
27 | }
28 |
--------------------------------------------------------------------------------
/Sources/CheckDevice/Version.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Version.swift
3 | // CheckDevice
4 | //
5 | // Created by Uğur Ethem AYDIN @ugurethemaydin on 8.11.2020.
6 | // Copyright © 2020
7 | //
8 |
9 |
10 | public enum Version: String {
11 | /*** iPhone ***/
12 | case iPhoneOriginal
13 | case iPhone3G
14 | case iPhone4
15 | case iPhone4S
16 | case iPhone5
17 | case iPhone5C
18 | case iPhone5S
19 | case iPhone6
20 | case iPhone6Plus
21 | case iPhone6S
22 | case iPhone6SPlus
23 | case iPhoneSE
24 | case iPhone7
25 | case iPhone7Plus
26 | case iPhone8
27 | case iPhone8Plus
28 | case iPhoneX
29 | case iPhoneXS
30 | case iPhoneXS_Max
31 | case iPhoneXR
32 | case iPhone11
33 | case iPhone11Pro
34 | case iPhone11Pro_Max
35 | case iPhoneSE2
36 | case iPhone12Mini
37 | case iPhone12
38 | case iPhone12Pro
39 | case iPhone12ProMax
40 |
41 | /*** iPad ***/
42 | case iPad1
43 | case iPad2
44 | case iPad3
45 | case iPad4
46 | case iPad5
47 | case iPad6
48 | case iPad7
49 | case iPad8
50 |
51 | /*** iPad Air ***/
52 | case iPadAir
53 | case iPadAir2
54 | case iPadAir3
55 | case iPadAir4
56 |
57 | /*** iPadMini ***/
58 |
59 | case iPadMini
60 | case iPadMini2
61 | case iPadMini3
62 | case iPadMini4
63 | case iPadMini5
64 |
65 | /*** iPadPro ***/
66 | case iPadPro9_7Inch
67 | case iPadPro12_9Inch
68 | case iPadPro10_5Inch
69 | case iPadPro12_9Inch2
70 | case iPadPro11_0Inch
71 | case iPadPro11_0Inch4
72 | case iPadPro12_9Inch3
73 | case iPadPro12_9Inch4
74 |
75 | /*** iPod ***/
76 | case iPodTouch1Gen
77 | case iPodTouch2Gen
78 | case iPodTouch3Gen
79 | case iPodTouch4Gen
80 | case iPodTouch5Gen
81 | case iPodTouch6Gen
82 | case iPodTouch7Gen
83 |
84 |
85 | /*** Watch ***/
86 |
87 | case WatchOriginal38mm
88 | case WatchOriginal42mm
89 | case Watch1Gen38mm
90 | case Watch1Gen42mm
91 | case Watch2Gen38mm
92 | case Watch2Gen42mm
93 | case Watch3Gen38mm
94 | case Watch3Gen42mm
95 | case Watch4Gen40mm
96 | case Watch4Gen44mm
97 | case Watch5Gen40mm
98 | case Watch5Gen44mm
99 | case Watch6Gen40mm
100 | case Watch6Gen44mm
101 | case WatchSE40mm
102 | case WatchSE44mm
103 |
104 |
105 | /*** simulator ***/
106 | case simulator
107 |
108 | /*** unknown ***/
109 | case unknown
110 | }
111 |
--------------------------------------------------------------------------------
/Tests/CheckDeviceTests/CheckDeviceTests.swift:
--------------------------------------------------------------------------------
1 | import XCTest
2 | @testable import CheckDevice
3 |
4 | final class CheckDeviceTests: XCTestCase {
5 | func testExample() {
6 | // This is an example of a functional test case.
7 | // Use XCTAssert and related functions to verify your tests produce the correct
8 | // results.
9 | XCTAssertEqual(CheckDevice().text, "Hello, World!")
10 | }
11 |
12 | static var allTests = [
13 | ("testExample", testExample),
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/Tests/CheckDeviceTests/XCTestManifests.swift:
--------------------------------------------------------------------------------
1 | import XCTest
2 |
3 | #if !canImport(ObjectiveC)
4 | public func allTests() -> [XCTestCaseEntry] {
5 | return [
6 | testCase(CheckDeviceTests.allTests),
7 | ]
8 | }
9 | #endif
10 |
--------------------------------------------------------------------------------
/Tests/LinuxMain.swift:
--------------------------------------------------------------------------------
1 | import XCTest
2 |
3 | import CheckDeviceTests
4 |
5 | var tests = [XCTestCaseEntry]()
6 | tests += CheckDeviceTests.allTests()
7 | XCTMain(tests)
8 |
--------------------------------------------------------------------------------
/checkDevice.sketch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ugurethemaydin/CheckDevice/537377852502f7cc394e4d55ae65fc5da7708e6d/checkDevice.sketch
--------------------------------------------------------------------------------
/header.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ugurethemaydin/CheckDevice/537377852502f7cc394e4d55ae65fc5da7708e6d/header.jpg
--------------------------------------------------------------------------------