├── .gitignore
├── .swiftpm
└── xcode
│ └── package.xcworkspace
│ └── contents.xcworkspacedata
├── .travis.yml
├── Example
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Local Podspecs
│ │ └── StackyText.podspec.json
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── Target Support Files
│ │ ├── Pods-StackyText_Example
│ │ ├── Pods-StackyText_Example-Info.plist
│ │ ├── Pods-StackyText_Example-acknowledgements.markdown
│ │ ├── Pods-StackyText_Example-acknowledgements.plist
│ │ ├── Pods-StackyText_Example-dummy.m
│ │ ├── Pods-StackyText_Example-frameworks.sh
│ │ ├── Pods-StackyText_Example-umbrella.h
│ │ ├── Pods-StackyText_Example.debug.xcconfig
│ │ ├── Pods-StackyText_Example.modulemap
│ │ └── Pods-StackyText_Example.release.xcconfig
│ │ ├── Pods-StackyText_Tests
│ │ ├── Pods-StackyText_Tests-Info.plist
│ │ ├── Pods-StackyText_Tests-acknowledgements.markdown
│ │ ├── Pods-StackyText_Tests-acknowledgements.plist
│ │ ├── Pods-StackyText_Tests-dummy.m
│ │ ├── Pods-StackyText_Tests-umbrella.h
│ │ ├── Pods-StackyText_Tests.debug.xcconfig
│ │ ├── Pods-StackyText_Tests.modulemap
│ │ └── Pods-StackyText_Tests.release.xcconfig
│ │ └── StackyText
│ │ ├── StackyText-Info.plist
│ │ ├── StackyText-dummy.m
│ │ ├── StackyText-prefix.pch
│ │ ├── StackyText-umbrella.h
│ │ ├── StackyText.debug.xcconfig
│ │ ├── StackyText.modulemap
│ │ └── StackyText.release.xcconfig
├── StackyText.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── StackyText-Example.xcscheme
├── StackyText.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── StackyText
│ ├── AppDelegate.swift
│ ├── Base.lproj
│ │ ├── LaunchScreen.xib
│ │ └── Main.storyboard
│ ├── Images.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Info.plist
│ ├── NotoSansKR-Black.otf
│ ├── NotoSansKR-Bold.otf
│ ├── NotoSansKR-Light.otf
│ ├── NotoSansKR-Medium.otf
│ ├── NotoSansKR-Regular.otf
│ ├── NotoSansKR-Thin.otf
│ └── ViewController.swift
└── Tests
│ ├── Info.plist
│ └── Tests.swift
├── LICENSE
├── Package.swift
├── README.md
├── Sources
└── StackyText
│ ├── Assets
│ └── .gitkeep
│ └── Classes
│ ├── .gitkeep
│ └── StackyText.swift
├── StackyText.podspec
├── Tests
└── StackyTextTests
│ └── StackyTextTests.swift
└── _Pods.xcodeproj
/.gitignore:
--------------------------------------------------------------------------------
1 | # macOS
2 | .DS_Store
3 |
4 | # Xcode
5 | build/
6 | *.pbxuser
7 | !default.pbxuser
8 | *.mode1v3
9 | !default.mode1v3
10 | *.mode2v3
11 | !default.mode2v3
12 | *.perspectivev3
13 | !default.perspectivev3
14 | xcuserdata/
15 | *.xccheckout
16 | *.moved-aside
17 | DerivedData
18 | *.hmap
19 | *.ipa
20 |
21 | # Bundler
22 | .bundle
23 |
24 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
25 | # Carthage/Checkouts
26 |
27 | Carthage/Build
28 |
29 | # We recommend against adding the Pods directory to your .gitignore. However
30 | # you should judge for yourself, the pros and cons are mentioned at:
31 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
32 | #
33 | # Note: if you ignore the Pods directory, make sure to uncomment
34 | # `pod install` in .travis.yml
35 | #
36 | # Pods/
37 |
--------------------------------------------------------------------------------
/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | # references:
2 | # * https://www.objc.io/issues/6-build-tools/travis-ci/
3 | # * https://github.com/supermarin/xcpretty#usage
4 |
5 | osx_image: xcode7.3
6 | language: objective-c
7 | # cache: cocoapods
8 | # podfile: Example/Podfile
9 | # before_install:
10 | # - gem install cocoapods # Since Travis is not always on latest version
11 | # - pod install --project-directory=Example
12 | script:
13 | - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/StackyText.xcworkspace -scheme StackyText-Example -sdk iphonesimulator9.3 ONLY_ACTIVE_ARCH=NO | xcpretty
14 | - pod lib lint
15 |
--------------------------------------------------------------------------------
/Example/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | platform :ios, '10.0'
4 |
5 | target 'StackyText_Example' do
6 | pod 'StackyText', :path => '../'
7 |
8 | target 'StackyText_Tests' do
9 | inherit! :search_paths
10 |
11 |
12 | end
13 | end
14 |
--------------------------------------------------------------------------------
/Example/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - StackyText (0.1.0)
3 |
4 | DEPENDENCIES:
5 | - StackyText (from `../`)
6 |
7 | EXTERNAL SOURCES:
8 | StackyText:
9 | :path: "../"
10 |
11 | SPEC CHECKSUMS:
12 | StackyText: 51a9c1804bc92501de95495a7927060d373ed706
13 |
14 | PODFILE CHECKSUM: e16b611dccb59191141d2c802aa5d1da87d2a20b
15 |
16 | COCOAPODS: 1.11.2
17 |
--------------------------------------------------------------------------------
/Example/Pods/Local Podspecs/StackyText.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "StackyText",
3 | "version": "0.1.0",
4 | "summary": "A short description of StackyText.",
5 | "description": "TODO: Add long description of the pod here.",
6 | "homepage": "https://github.com/yim2627/StackyText",
7 | "license": {
8 | "type": "MIT",
9 | "file": "LICENSE"
10 | },
11 | "authors": {
12 | "yim2627": "yim2627@gmail.com"
13 | },
14 | "source": {
15 | "git": "https://github.com/yim2627/StackyText.git",
16 | "tag": "0.1.0"
17 | },
18 | "platforms": {
19 | "ios": "10.0"
20 | },
21 | "source_files": "StackyText/Classes/**/*"
22 | }
23 |
--------------------------------------------------------------------------------
/Example/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - StackyText (0.1.0)
3 |
4 | DEPENDENCIES:
5 | - StackyText (from `../`)
6 |
7 | EXTERNAL SOURCES:
8 | StackyText:
9 | :path: "../"
10 |
11 | SPEC CHECKSUMS:
12 | StackyText: 51a9c1804bc92501de95495a7927060d373ed706
13 |
14 | PODFILE CHECKSUM: e16b611dccb59191141d2c802aa5d1da87d2a20b
15 |
16 | COCOAPODS: 1.11.2
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 | 338C3F46F57BD37DE35EC8AAABAFACD2 /* Pods-StackyText_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CC5876E6F6EBCD0E6E763C38D797AA4 /* Pods-StackyText_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
11 | 36616C35412A8618DF337DEF7BD8115D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
12 | 3FE867C6E430E8E94D4486B03661346A /* StackyText-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 13AB70E3EBD11605C88B968386313148 /* StackyText-dummy.m */; };
13 | 5E639569F46CDD4DE50C70AE9E0515C1 /* Pods-StackyText_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3153B2D85EF3BFF0418E3E980B6B004C /* Pods-StackyText_Tests-dummy.m */; };
14 | 60F67A13009E9F0DA0FBB86D794DD2CE /* Pods-StackyText_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EC1CC6E8B55050B51A61ECFAC9514BB /* Pods-StackyText_Example-dummy.m */; };
15 | 825C0CFAEC486A259816B2B39B0FD060 /* StackyText-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 69F519A9BE6D0A269468B61FA9E049C5 /* StackyText-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
16 | 8C38BB2206DDAA77C66C2A0872D23164 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
17 | 8D2A8DFEE12AFEBD1199F92D74579410 /* Pods-StackyText_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 04D38E69021474B7BC0B78D1DD9F695E /* Pods-StackyText_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
18 | 9D0DEC865F5F5822AF6FEB15AF9856A2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
19 | B5A8641FF8EA71FDDC5E5E99AA1D9280 /* StackyText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 934718BF7DF0E0680975E1C2D55F4DFF /* StackyText.swift */; };
20 | /* End PBXBuildFile section */
21 |
22 | /* Begin PBXContainerItemProxy section */
23 | 3B205CBBE3F95E9660B2D383B20B7FF1 /* PBXContainerItemProxy */ = {
24 | isa = PBXContainerItemProxy;
25 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
26 | proxyType = 1;
27 | remoteGlobalIDString = 792FB8B4E4C56DC5EB80A8CA1DC2FEAF;
28 | remoteInfo = "Pods-StackyText_Example";
29 | };
30 | BE22A9325E24EA8F1CC5C13A15E9DA71 /* PBXContainerItemProxy */ = {
31 | isa = PBXContainerItemProxy;
32 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
33 | proxyType = 1;
34 | remoteGlobalIDString = 9D0889BA19EB2A1338B5CEF22D2B8D5D;
35 | remoteInfo = StackyText;
36 | };
37 | /* End PBXContainerItemProxy section */
38 |
39 | /* Begin PBXFileReference section */
40 | 028A72DE95019F639947C9B6DF8DA43D /* Pods-StackyText_Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-StackyText_Tests"; path = Pods_StackyText_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
41 | 04D38E69021474B7BC0B78D1DD9F695E /* Pods-StackyText_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-StackyText_Example-umbrella.h"; sourceTree = ""; };
42 | 11FAE7AC5D3CE585598CB22BF958F068 /* Pods-StackyText_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-StackyText_Example-acknowledgements.markdown"; sourceTree = ""; };
43 | 13AB70E3EBD11605C88B968386313148 /* StackyText-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "StackyText-dummy.m"; sourceTree = ""; };
44 | 3153B2D85EF3BFF0418E3E980B6B004C /* Pods-StackyText_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-StackyText_Tests-dummy.m"; sourceTree = ""; };
45 | 3C602475E51FE3BB02AAB386A5A7F18D /* Pods-StackyText_Example */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-StackyText_Example"; path = Pods_StackyText_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
46 | 3D924DC546639F00A474C875D2294A38 /* Pods-StackyText_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StackyText_Example.release.xcconfig"; sourceTree = ""; };
47 | 480C9A4033E1BF96C4ADACACDA8A2EC8 /* StackyText.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = StackyText.release.xcconfig; sourceTree = ""; };
48 | 54F7A67450AB981A3B32C90A59414A5B /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; };
49 | 5CC5876E6F6EBCD0E6E763C38D797AA4 /* Pods-StackyText_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-StackyText_Tests-umbrella.h"; sourceTree = ""; };
50 | 65C694D706093278070DC3CD8D983B0F /* Pods-StackyText_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StackyText_Example-Info.plist"; sourceTree = ""; };
51 | 68579C8E5AB12803A797C76C1BD22C5C /* StackyText.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = StackyText.modulemap; sourceTree = ""; };
52 | 69F519A9BE6D0A269468B61FA9E049C5 /* StackyText-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "StackyText-umbrella.h"; sourceTree = ""; };
53 | 6E9A16F41BEEE96DE8703EDC11740144 /* StackyText-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "StackyText-Info.plist"; sourceTree = ""; };
54 | 6FB141FD785952C32B9E78D7FF28EBC7 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; };
55 | 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; };
56 | 73E6FB9A91499B435D74C8A2A46D0503 /* Pods-StackyText_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StackyText_Tests.release.xcconfig"; sourceTree = ""; };
57 | 769558030D2BF27A3DD384D360EEBDCB /* Pods-StackyText_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StackyText_Example.debug.xcconfig"; sourceTree = ""; };
58 | 7D5FBE9356041946F23334B80B9A1462 /* Pods-StackyText_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StackyText_Tests-acknowledgements.plist"; sourceTree = ""; };
59 | 7EC1CC6E8B55050B51A61ECFAC9514BB /* Pods-StackyText_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-StackyText_Example-dummy.m"; sourceTree = ""; };
60 | 837D8E6A1DF691C6DA9178BC799A8F19 /* StackyText-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "StackyText-prefix.pch"; sourceTree = ""; };
61 | 8C85C4F0AED4ACD3544D4E2F76184984 /* Pods-StackyText_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StackyText_Tests.debug.xcconfig"; sourceTree = ""; };
62 | 934718BF7DF0E0680975E1C2D55F4DFF /* StackyText.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StackyText.swift; path = Sources/StackyText/Classes/StackyText.swift; sourceTree = ""; };
63 | 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; };
64 | B7472379EA566BF51EA88C4DA00E37B0 /* Pods-StackyText_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StackyText_Tests-Info.plist"; sourceTree = ""; };
65 | BF189DE154D331C868433A2436F844CD /* Pods-StackyText_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-StackyText_Tests-acknowledgements.markdown"; sourceTree = ""; };
66 | C0B7C4F4D2F0E90364D3259451014AD4 /* StackyText.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = StackyText.debug.xcconfig; sourceTree = ""; };
67 | C9E44D81396F780936946D2E9526479E /* StackyText.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = StackyText.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
68 | E4C4107B560E6ED61393649937AC3754 /* Pods-StackyText_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-StackyText_Example.modulemap"; sourceTree = ""; };
69 | E80BBEC52A6E9D28244546B145EBCB0B /* Pods-StackyText_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StackyText_Example-acknowledgements.plist"; sourceTree = ""; };
70 | ECB0845E1FA05A4C205FFECA782004FC /* Pods-StackyText_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-StackyText_Tests.modulemap"; sourceTree = ""; };
71 | FB791C2C52CB31A783F23016621A269A /* Pods-StackyText_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-StackyText_Example-frameworks.sh"; sourceTree = ""; };
72 | FC03FD86C6A8287B61C472B1138ED593 /* StackyText */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = StackyText; path = StackyText.framework; sourceTree = BUILT_PRODUCTS_DIR; };
73 | /* End PBXFileReference section */
74 |
75 | /* Begin PBXFrameworksBuildPhase section */
76 | D21FA57FFF4D49A6734601C31781FCD0 /* Frameworks */ = {
77 | isa = PBXFrameworksBuildPhase;
78 | buildActionMask = 2147483647;
79 | files = (
80 | 8C38BB2206DDAA77C66C2A0872D23164 /* Foundation.framework in Frameworks */,
81 | );
82 | runOnlyForDeploymentPostprocessing = 0;
83 | };
84 | E6208B4406FDB647F52DB78A462A5B90 /* Frameworks */ = {
85 | isa = PBXFrameworksBuildPhase;
86 | buildActionMask = 2147483647;
87 | files = (
88 | 9D0DEC865F5F5822AF6FEB15AF9856A2 /* Foundation.framework in Frameworks */,
89 | );
90 | runOnlyForDeploymentPostprocessing = 0;
91 | };
92 | FE83DBF806E6E237D16C759E711C7C5E /* Frameworks */ = {
93 | isa = PBXFrameworksBuildPhase;
94 | buildActionMask = 2147483647;
95 | files = (
96 | 36616C35412A8618DF337DEF7BD8115D /* Foundation.framework in Frameworks */,
97 | );
98 | runOnlyForDeploymentPostprocessing = 0;
99 | };
100 | /* End PBXFrameworksBuildPhase section */
101 |
102 | /* Begin PBXGroup section */
103 | 03F935324B5E5ED1FA70D7AF74FD38EA /* Pods-StackyText_Tests */ = {
104 | isa = PBXGroup;
105 | children = (
106 | ECB0845E1FA05A4C205FFECA782004FC /* Pods-StackyText_Tests.modulemap */,
107 | BF189DE154D331C868433A2436F844CD /* Pods-StackyText_Tests-acknowledgements.markdown */,
108 | 7D5FBE9356041946F23334B80B9A1462 /* Pods-StackyText_Tests-acknowledgements.plist */,
109 | 3153B2D85EF3BFF0418E3E980B6B004C /* Pods-StackyText_Tests-dummy.m */,
110 | B7472379EA566BF51EA88C4DA00E37B0 /* Pods-StackyText_Tests-Info.plist */,
111 | 5CC5876E6F6EBCD0E6E763C38D797AA4 /* Pods-StackyText_Tests-umbrella.h */,
112 | 8C85C4F0AED4ACD3544D4E2F76184984 /* Pods-StackyText_Tests.debug.xcconfig */,
113 | 73E6FB9A91499B435D74C8A2A46D0503 /* Pods-StackyText_Tests.release.xcconfig */,
114 | );
115 | name = "Pods-StackyText_Tests";
116 | path = "Target Support Files/Pods-StackyText_Tests";
117 | sourceTree = "";
118 | };
119 | 127D8C85A390AB546F72F855671C3750 /* StackyText */ = {
120 | isa = PBXGroup;
121 | children = (
122 | 934718BF7DF0E0680975E1C2D55F4DFF /* StackyText.swift */,
123 | A875772A0CF2FADDED5E187101AF34D6 /* Pod */,
124 | 68B09CD1179EE37CF97A6CE91653746D /* Support Files */,
125 | );
126 | name = StackyText;
127 | path = ../..;
128 | sourceTree = "";
129 | };
130 | 2140CD2E05C61BFC8CFCEB508DB49D40 /* Pods-StackyText_Example */ = {
131 | isa = PBXGroup;
132 | children = (
133 | E4C4107B560E6ED61393649937AC3754 /* Pods-StackyText_Example.modulemap */,
134 | 11FAE7AC5D3CE585598CB22BF958F068 /* Pods-StackyText_Example-acknowledgements.markdown */,
135 | E80BBEC52A6E9D28244546B145EBCB0B /* Pods-StackyText_Example-acknowledgements.plist */,
136 | 7EC1CC6E8B55050B51A61ECFAC9514BB /* Pods-StackyText_Example-dummy.m */,
137 | FB791C2C52CB31A783F23016621A269A /* Pods-StackyText_Example-frameworks.sh */,
138 | 65C694D706093278070DC3CD8D983B0F /* Pods-StackyText_Example-Info.plist */,
139 | 04D38E69021474B7BC0B78D1DD9F695E /* Pods-StackyText_Example-umbrella.h */,
140 | 769558030D2BF27A3DD384D360EEBDCB /* Pods-StackyText_Example.debug.xcconfig */,
141 | 3D924DC546639F00A474C875D2294A38 /* Pods-StackyText_Example.release.xcconfig */,
142 | );
143 | name = "Pods-StackyText_Example";
144 | path = "Target Support Files/Pods-StackyText_Example";
145 | sourceTree = "";
146 | };
147 | 48DE8D1A89E7EC062A439A0DC926A6F4 /* Targets Support Files */ = {
148 | isa = PBXGroup;
149 | children = (
150 | 2140CD2E05C61BFC8CFCEB508DB49D40 /* Pods-StackyText_Example */,
151 | 03F935324B5E5ED1FA70D7AF74FD38EA /* Pods-StackyText_Tests */,
152 | );
153 | name = "Targets Support Files";
154 | sourceTree = "";
155 | };
156 | 54C9004E98FA3F419E0FE185CD6414DD /* Products */ = {
157 | isa = PBXGroup;
158 | children = (
159 | 3C602475E51FE3BB02AAB386A5A7F18D /* Pods-StackyText_Example */,
160 | 028A72DE95019F639947C9B6DF8DA43D /* Pods-StackyText_Tests */,
161 | FC03FD86C6A8287B61C472B1138ED593 /* StackyText */,
162 | );
163 | name = Products;
164 | sourceTree = "";
165 | };
166 | 578452D2E740E91742655AC8F1636D1F /* iOS */ = {
167 | isa = PBXGroup;
168 | children = (
169 | 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */,
170 | );
171 | name = iOS;
172 | sourceTree = "";
173 | };
174 | 68B09CD1179EE37CF97A6CE91653746D /* Support Files */ = {
175 | isa = PBXGroup;
176 | children = (
177 | 68579C8E5AB12803A797C76C1BD22C5C /* StackyText.modulemap */,
178 | 13AB70E3EBD11605C88B968386313148 /* StackyText-dummy.m */,
179 | 6E9A16F41BEEE96DE8703EDC11740144 /* StackyText-Info.plist */,
180 | 837D8E6A1DF691C6DA9178BC799A8F19 /* StackyText-prefix.pch */,
181 | 69F519A9BE6D0A269468B61FA9E049C5 /* StackyText-umbrella.h */,
182 | C0B7C4F4D2F0E90364D3259451014AD4 /* StackyText.debug.xcconfig */,
183 | 480C9A4033E1BF96C4ADACACDA8A2EC8 /* StackyText.release.xcconfig */,
184 | );
185 | name = "Support Files";
186 | path = "Example/Pods/Target Support Files/StackyText";
187 | sourceTree = "";
188 | };
189 | 7F8B3E3EB29FC944E3D5B99E66453D27 /* Development Pods */ = {
190 | isa = PBXGroup;
191 | children = (
192 | 127D8C85A390AB546F72F855671C3750 /* StackyText */,
193 | );
194 | name = "Development Pods";
195 | sourceTree = "";
196 | };
197 | A875772A0CF2FADDED5E187101AF34D6 /* Pod */ = {
198 | isa = PBXGroup;
199 | children = (
200 | 6FB141FD785952C32B9E78D7FF28EBC7 /* LICENSE */,
201 | 54F7A67450AB981A3B32C90A59414A5B /* README.md */,
202 | C9E44D81396F780936946D2E9526479E /* StackyText.podspec */,
203 | );
204 | name = Pod;
205 | sourceTree = "";
206 | };
207 | CF1408CF629C7361332E53B88F7BD30C = {
208 | isa = PBXGroup;
209 | children = (
210 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
211 | 7F8B3E3EB29FC944E3D5B99E66453D27 /* Development Pods */,
212 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
213 | 54C9004E98FA3F419E0FE185CD6414DD /* Products */,
214 | 48DE8D1A89E7EC062A439A0DC926A6F4 /* Targets Support Files */,
215 | );
216 | sourceTree = "";
217 | };
218 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
219 | isa = PBXGroup;
220 | children = (
221 | 578452D2E740E91742655AC8F1636D1F /* iOS */,
222 | );
223 | name = Frameworks;
224 | sourceTree = "";
225 | };
226 | /* End PBXGroup section */
227 |
228 | /* Begin PBXHeadersBuildPhase section */
229 | 5EAB9C873A8F20693E1A4068F5385BD1 /* Headers */ = {
230 | isa = PBXHeadersBuildPhase;
231 | buildActionMask = 2147483647;
232 | files = (
233 | 8D2A8DFEE12AFEBD1199F92D74579410 /* Pods-StackyText_Example-umbrella.h in Headers */,
234 | );
235 | runOnlyForDeploymentPostprocessing = 0;
236 | };
237 | 95AB7845B1E569A9B2780D3033B59209 /* Headers */ = {
238 | isa = PBXHeadersBuildPhase;
239 | buildActionMask = 2147483647;
240 | files = (
241 | 338C3F46F57BD37DE35EC8AAABAFACD2 /* Pods-StackyText_Tests-umbrella.h in Headers */,
242 | );
243 | runOnlyForDeploymentPostprocessing = 0;
244 | };
245 | A574EB82A0AAC4FCB768690F759978F2 /* Headers */ = {
246 | isa = PBXHeadersBuildPhase;
247 | buildActionMask = 2147483647;
248 | files = (
249 | 825C0CFAEC486A259816B2B39B0FD060 /* StackyText-umbrella.h in Headers */,
250 | );
251 | runOnlyForDeploymentPostprocessing = 0;
252 | };
253 | /* End PBXHeadersBuildPhase section */
254 |
255 | /* Begin PBXNativeTarget section */
256 | 792FB8B4E4C56DC5EB80A8CA1DC2FEAF /* Pods-StackyText_Example */ = {
257 | isa = PBXNativeTarget;
258 | buildConfigurationList = B5EB0B00167D47ECE315B4135092D7D7 /* Build configuration list for PBXNativeTarget "Pods-StackyText_Example" */;
259 | buildPhases = (
260 | 5EAB9C873A8F20693E1A4068F5385BD1 /* Headers */,
261 | 760FB15B844889EA454431F50483E06C /* Sources */,
262 | E6208B4406FDB647F52DB78A462A5B90 /* Frameworks */,
263 | BB1D73B4118842DEBDE036B61FD7CD36 /* Resources */,
264 | );
265 | buildRules = (
266 | );
267 | dependencies = (
268 | B9CF8F1873345D0F5C570901574EE4AB /* PBXTargetDependency */,
269 | );
270 | name = "Pods-StackyText_Example";
271 | productName = Pods_StackyText_Example;
272 | productReference = 3C602475E51FE3BB02AAB386A5A7F18D /* Pods-StackyText_Example */;
273 | productType = "com.apple.product-type.framework";
274 | };
275 | 9D0889BA19EB2A1338B5CEF22D2B8D5D /* StackyText */ = {
276 | isa = PBXNativeTarget;
277 | buildConfigurationList = 4ADBB2721ED7300279297C5FB52E4486 /* Build configuration list for PBXNativeTarget "StackyText" */;
278 | buildPhases = (
279 | A574EB82A0AAC4FCB768690F759978F2 /* Headers */,
280 | 7EAF3389CE3C530DDC694A880A972420 /* Sources */,
281 | FE83DBF806E6E237D16C759E711C7C5E /* Frameworks */,
282 | 367F7937B21F4249261E5332191D91A5 /* Resources */,
283 | );
284 | buildRules = (
285 | );
286 | dependencies = (
287 | );
288 | name = StackyText;
289 | productName = StackyText;
290 | productReference = FC03FD86C6A8287B61C472B1138ED593 /* StackyText */;
291 | productType = "com.apple.product-type.framework";
292 | };
293 | F207ACCEC2C9DFBC3C2EA936F48649F3 /* Pods-StackyText_Tests */ = {
294 | isa = PBXNativeTarget;
295 | buildConfigurationList = B78336081B287F76F263B74BD68DE413 /* Build configuration list for PBXNativeTarget "Pods-StackyText_Tests" */;
296 | buildPhases = (
297 | 95AB7845B1E569A9B2780D3033B59209 /* Headers */,
298 | 57BAA084877A69D3E2796DF1B5ED8745 /* Sources */,
299 | D21FA57FFF4D49A6734601C31781FCD0 /* Frameworks */,
300 | 3F70304BDE6E1E420CA7B4065095C550 /* Resources */,
301 | );
302 | buildRules = (
303 | );
304 | dependencies = (
305 | 2D39373A0E532BE6C258DE45A0F217E4 /* PBXTargetDependency */,
306 | );
307 | name = "Pods-StackyText_Tests";
308 | productName = Pods_StackyText_Tests;
309 | productReference = 028A72DE95019F639947C9B6DF8DA43D /* Pods-StackyText_Tests */;
310 | productType = "com.apple.product-type.framework";
311 | };
312 | /* End PBXNativeTarget section */
313 |
314 | /* Begin PBXProject section */
315 | BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
316 | isa = PBXProject;
317 | attributes = {
318 | LastSwiftUpdateCheck = 1240;
319 | LastUpgradeCheck = 1240;
320 | };
321 | buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
322 | compatibilityVersion = "Xcode 3.2";
323 | developmentRegion = en;
324 | hasScannedForEncodings = 0;
325 | knownRegions = (
326 | Base,
327 | en,
328 | );
329 | mainGroup = CF1408CF629C7361332E53B88F7BD30C;
330 | productRefGroup = 54C9004E98FA3F419E0FE185CD6414DD /* Products */;
331 | projectDirPath = "";
332 | projectRoot = "";
333 | targets = (
334 | 792FB8B4E4C56DC5EB80A8CA1DC2FEAF /* Pods-StackyText_Example */,
335 | F207ACCEC2C9DFBC3C2EA936F48649F3 /* Pods-StackyText_Tests */,
336 | 9D0889BA19EB2A1338B5CEF22D2B8D5D /* StackyText */,
337 | );
338 | };
339 | /* End PBXProject section */
340 |
341 | /* Begin PBXResourcesBuildPhase section */
342 | 367F7937B21F4249261E5332191D91A5 /* Resources */ = {
343 | isa = PBXResourcesBuildPhase;
344 | buildActionMask = 2147483647;
345 | files = (
346 | );
347 | runOnlyForDeploymentPostprocessing = 0;
348 | };
349 | 3F70304BDE6E1E420CA7B4065095C550 /* Resources */ = {
350 | isa = PBXResourcesBuildPhase;
351 | buildActionMask = 2147483647;
352 | files = (
353 | );
354 | runOnlyForDeploymentPostprocessing = 0;
355 | };
356 | BB1D73B4118842DEBDE036B61FD7CD36 /* Resources */ = {
357 | isa = PBXResourcesBuildPhase;
358 | buildActionMask = 2147483647;
359 | files = (
360 | );
361 | runOnlyForDeploymentPostprocessing = 0;
362 | };
363 | /* End PBXResourcesBuildPhase section */
364 |
365 | /* Begin PBXSourcesBuildPhase section */
366 | 57BAA084877A69D3E2796DF1B5ED8745 /* Sources */ = {
367 | isa = PBXSourcesBuildPhase;
368 | buildActionMask = 2147483647;
369 | files = (
370 | 5E639569F46CDD4DE50C70AE9E0515C1 /* Pods-StackyText_Tests-dummy.m in Sources */,
371 | );
372 | runOnlyForDeploymentPostprocessing = 0;
373 | };
374 | 760FB15B844889EA454431F50483E06C /* Sources */ = {
375 | isa = PBXSourcesBuildPhase;
376 | buildActionMask = 2147483647;
377 | files = (
378 | 60F67A13009E9F0DA0FBB86D794DD2CE /* Pods-StackyText_Example-dummy.m in Sources */,
379 | );
380 | runOnlyForDeploymentPostprocessing = 0;
381 | };
382 | 7EAF3389CE3C530DDC694A880A972420 /* Sources */ = {
383 | isa = PBXSourcesBuildPhase;
384 | buildActionMask = 2147483647;
385 | files = (
386 | B5A8641FF8EA71FDDC5E5E99AA1D9280 /* StackyText.swift in Sources */,
387 | 3FE867C6E430E8E94D4486B03661346A /* StackyText-dummy.m in Sources */,
388 | );
389 | runOnlyForDeploymentPostprocessing = 0;
390 | };
391 | /* End PBXSourcesBuildPhase section */
392 |
393 | /* Begin PBXTargetDependency section */
394 | 2D39373A0E532BE6C258DE45A0F217E4 /* PBXTargetDependency */ = {
395 | isa = PBXTargetDependency;
396 | name = "Pods-StackyText_Example";
397 | target = 792FB8B4E4C56DC5EB80A8CA1DC2FEAF /* Pods-StackyText_Example */;
398 | targetProxy = 3B205CBBE3F95E9660B2D383B20B7FF1 /* PBXContainerItemProxy */;
399 | };
400 | B9CF8F1873345D0F5C570901574EE4AB /* PBXTargetDependency */ = {
401 | isa = PBXTargetDependency;
402 | name = StackyText;
403 | target = 9D0889BA19EB2A1338B5CEF22D2B8D5D /* StackyText */;
404 | targetProxy = BE22A9325E24EA8F1CC5C13A15E9DA71 /* PBXContainerItemProxy */;
405 | };
406 | /* End PBXTargetDependency section */
407 |
408 | /* Begin XCBuildConfiguration section */
409 | 35D6B81DFA494605298FB6E31165F00F /* Release */ = {
410 | isa = XCBuildConfiguration;
411 | baseConfigurationReference = 3D924DC546639F00A474C875D2294A38 /* Pods-StackyText_Example.release.xcconfig */;
412 | buildSettings = {
413 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
414 | CLANG_ENABLE_OBJC_WEAK = NO;
415 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
416 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
417 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
418 | CURRENT_PROJECT_VERSION = 1;
419 | DEFINES_MODULE = YES;
420 | DYLIB_COMPATIBILITY_VERSION = 1;
421 | DYLIB_CURRENT_VERSION = 1;
422 | DYLIB_INSTALL_NAME_BASE = "@rpath";
423 | INFOPLIST_FILE = "Target Support Files/Pods-StackyText_Example/Pods-StackyText_Example-Info.plist";
424 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
425 | IPHONEOS_DEPLOYMENT_TARGET = 10.0;
426 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
427 | MACH_O_TYPE = staticlib;
428 | MODULEMAP_FILE = "Target Support Files/Pods-StackyText_Example/Pods-StackyText_Example.modulemap";
429 | OTHER_LDFLAGS = "";
430 | OTHER_LIBTOOLFLAGS = "";
431 | PODS_ROOT = "$(SRCROOT)";
432 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
433 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
434 | SDKROOT = iphoneos;
435 | SKIP_INSTALL = YES;
436 | TARGETED_DEVICE_FAMILY = "1,2";
437 | VALIDATE_PRODUCT = YES;
438 | VERSIONING_SYSTEM = "apple-generic";
439 | VERSION_INFO_PREFIX = "";
440 | };
441 | name = Release;
442 | };
443 | 4525AFF75BB2ADD9B178329EC06C80AA /* Release */ = {
444 | isa = XCBuildConfiguration;
445 | baseConfigurationReference = 480C9A4033E1BF96C4ADACACDA8A2EC8 /* StackyText.release.xcconfig */;
446 | buildSettings = {
447 | CLANG_ENABLE_OBJC_WEAK = NO;
448 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
449 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
450 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
451 | CURRENT_PROJECT_VERSION = 1;
452 | DEFINES_MODULE = YES;
453 | DYLIB_COMPATIBILITY_VERSION = 1;
454 | DYLIB_CURRENT_VERSION = 1;
455 | DYLIB_INSTALL_NAME_BASE = "@rpath";
456 | GCC_PREFIX_HEADER = "Target Support Files/StackyText/StackyText-prefix.pch";
457 | INFOPLIST_FILE = "Target Support Files/StackyText/StackyText-Info.plist";
458 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
459 | IPHONEOS_DEPLOYMENT_TARGET = 10.0;
460 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
461 | MODULEMAP_FILE = "Target Support Files/StackyText/StackyText.modulemap";
462 | PRODUCT_MODULE_NAME = StackyText;
463 | PRODUCT_NAME = StackyText;
464 | SDKROOT = iphoneos;
465 | SKIP_INSTALL = YES;
466 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
467 | SWIFT_VERSION = 4.0;
468 | TARGETED_DEVICE_FAMILY = "1,2";
469 | VALIDATE_PRODUCT = YES;
470 | VERSIONING_SYSTEM = "apple-generic";
471 | VERSION_INFO_PREFIX = "";
472 | };
473 | name = Release;
474 | };
475 | 7EE7A78859F657F6BEFC651185B43192 /* Release */ = {
476 | isa = XCBuildConfiguration;
477 | buildSettings = {
478 | ALWAYS_SEARCH_USER_PATHS = NO;
479 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
480 | CLANG_ANALYZER_NONNULL = YES;
481 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
482 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
483 | CLANG_CXX_LIBRARY = "libc++";
484 | CLANG_ENABLE_MODULES = YES;
485 | CLANG_ENABLE_OBJC_ARC = YES;
486 | CLANG_ENABLE_OBJC_WEAK = YES;
487 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
488 | CLANG_WARN_BOOL_CONVERSION = YES;
489 | CLANG_WARN_COMMA = YES;
490 | CLANG_WARN_CONSTANT_CONVERSION = YES;
491 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
492 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
493 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
494 | CLANG_WARN_EMPTY_BODY = YES;
495 | CLANG_WARN_ENUM_CONVERSION = YES;
496 | CLANG_WARN_INFINITE_RECURSION = YES;
497 | CLANG_WARN_INT_CONVERSION = YES;
498 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
499 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
500 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
501 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
502 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
503 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
504 | CLANG_WARN_STRICT_PROTOTYPES = YES;
505 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
506 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
507 | CLANG_WARN_UNREACHABLE_CODE = YES;
508 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
509 | COPY_PHASE_STRIP = NO;
510 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
511 | ENABLE_NS_ASSERTIONS = NO;
512 | ENABLE_STRICT_OBJC_MSGSEND = YES;
513 | GCC_C_LANGUAGE_STANDARD = gnu11;
514 | GCC_NO_COMMON_BLOCKS = YES;
515 | GCC_PREPROCESSOR_DEFINITIONS = (
516 | "POD_CONFIGURATION_RELEASE=1",
517 | "$(inherited)",
518 | );
519 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
520 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
521 | GCC_WARN_UNDECLARED_SELECTOR = YES;
522 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
523 | GCC_WARN_UNUSED_FUNCTION = YES;
524 | GCC_WARN_UNUSED_VARIABLE = YES;
525 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
526 | MTL_ENABLE_DEBUG_INFO = NO;
527 | MTL_FAST_MATH = YES;
528 | PRODUCT_NAME = "$(TARGET_NAME)";
529 | STRIP_INSTALLED_PRODUCT = NO;
530 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
531 | SWIFT_VERSION = 5.0;
532 | SYMROOT = "${SRCROOT}/../build";
533 | };
534 | name = Release;
535 | };
536 | 89E0FC9EDFD343915DA1E29830ECC684 /* Debug */ = {
537 | isa = XCBuildConfiguration;
538 | baseConfigurationReference = 8C85C4F0AED4ACD3544D4E2F76184984 /* Pods-StackyText_Tests.debug.xcconfig */;
539 | buildSettings = {
540 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
541 | CLANG_ENABLE_OBJC_WEAK = NO;
542 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
543 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
544 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
545 | CURRENT_PROJECT_VERSION = 1;
546 | DEFINES_MODULE = YES;
547 | DYLIB_COMPATIBILITY_VERSION = 1;
548 | DYLIB_CURRENT_VERSION = 1;
549 | DYLIB_INSTALL_NAME_BASE = "@rpath";
550 | INFOPLIST_FILE = "Target Support Files/Pods-StackyText_Tests/Pods-StackyText_Tests-Info.plist";
551 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
552 | IPHONEOS_DEPLOYMENT_TARGET = 10.0;
553 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
554 | MACH_O_TYPE = staticlib;
555 | MODULEMAP_FILE = "Target Support Files/Pods-StackyText_Tests/Pods-StackyText_Tests.modulemap";
556 | OTHER_LDFLAGS = "";
557 | OTHER_LIBTOOLFLAGS = "";
558 | PODS_ROOT = "$(SRCROOT)";
559 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
560 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
561 | SDKROOT = iphoneos;
562 | SKIP_INSTALL = YES;
563 | TARGETED_DEVICE_FAMILY = "1,2";
564 | VERSIONING_SYSTEM = "apple-generic";
565 | VERSION_INFO_PREFIX = "";
566 | };
567 | name = Debug;
568 | };
569 | 8B2A0D133BA361232BA00F58A73B970F /* Debug */ = {
570 | isa = XCBuildConfiguration;
571 | baseConfigurationReference = 769558030D2BF27A3DD384D360EEBDCB /* Pods-StackyText_Example.debug.xcconfig */;
572 | buildSettings = {
573 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
574 | CLANG_ENABLE_OBJC_WEAK = NO;
575 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
576 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
577 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
578 | CURRENT_PROJECT_VERSION = 1;
579 | DEFINES_MODULE = YES;
580 | DYLIB_COMPATIBILITY_VERSION = 1;
581 | DYLIB_CURRENT_VERSION = 1;
582 | DYLIB_INSTALL_NAME_BASE = "@rpath";
583 | INFOPLIST_FILE = "Target Support Files/Pods-StackyText_Example/Pods-StackyText_Example-Info.plist";
584 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
585 | IPHONEOS_DEPLOYMENT_TARGET = 10.0;
586 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
587 | MACH_O_TYPE = staticlib;
588 | MODULEMAP_FILE = "Target Support Files/Pods-StackyText_Example/Pods-StackyText_Example.modulemap";
589 | OTHER_LDFLAGS = "";
590 | OTHER_LIBTOOLFLAGS = "";
591 | PODS_ROOT = "$(SRCROOT)";
592 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
593 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
594 | SDKROOT = iphoneos;
595 | SKIP_INSTALL = YES;
596 | TARGETED_DEVICE_FAMILY = "1,2";
597 | VERSIONING_SYSTEM = "apple-generic";
598 | VERSION_INFO_PREFIX = "";
599 | };
600 | name = Debug;
601 | };
602 | AB5E347CE52BE2E3E20E3F5EA5BD5E78 /* Release */ = {
603 | isa = XCBuildConfiguration;
604 | baseConfigurationReference = 73E6FB9A91499B435D74C8A2A46D0503 /* Pods-StackyText_Tests.release.xcconfig */;
605 | buildSettings = {
606 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
607 | CLANG_ENABLE_OBJC_WEAK = NO;
608 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
609 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
610 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
611 | CURRENT_PROJECT_VERSION = 1;
612 | DEFINES_MODULE = YES;
613 | DYLIB_COMPATIBILITY_VERSION = 1;
614 | DYLIB_CURRENT_VERSION = 1;
615 | DYLIB_INSTALL_NAME_BASE = "@rpath";
616 | INFOPLIST_FILE = "Target Support Files/Pods-StackyText_Tests/Pods-StackyText_Tests-Info.plist";
617 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
618 | IPHONEOS_DEPLOYMENT_TARGET = 10.0;
619 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
620 | MACH_O_TYPE = staticlib;
621 | MODULEMAP_FILE = "Target Support Files/Pods-StackyText_Tests/Pods-StackyText_Tests.modulemap";
622 | OTHER_LDFLAGS = "";
623 | OTHER_LIBTOOLFLAGS = "";
624 | PODS_ROOT = "$(SRCROOT)";
625 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
626 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
627 | SDKROOT = iphoneos;
628 | SKIP_INSTALL = YES;
629 | TARGETED_DEVICE_FAMILY = "1,2";
630 | VALIDATE_PRODUCT = YES;
631 | VERSIONING_SYSTEM = "apple-generic";
632 | VERSION_INFO_PREFIX = "";
633 | };
634 | name = Release;
635 | };
636 | D299434AB35E7FD6F7921C8EF24742FF /* Debug */ = {
637 | isa = XCBuildConfiguration;
638 | buildSettings = {
639 | ALWAYS_SEARCH_USER_PATHS = NO;
640 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
641 | CLANG_ANALYZER_NONNULL = YES;
642 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
643 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
644 | CLANG_CXX_LIBRARY = "libc++";
645 | CLANG_ENABLE_MODULES = YES;
646 | CLANG_ENABLE_OBJC_ARC = YES;
647 | CLANG_ENABLE_OBJC_WEAK = YES;
648 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
649 | CLANG_WARN_BOOL_CONVERSION = YES;
650 | CLANG_WARN_COMMA = YES;
651 | CLANG_WARN_CONSTANT_CONVERSION = YES;
652 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
653 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
654 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
655 | CLANG_WARN_EMPTY_BODY = YES;
656 | CLANG_WARN_ENUM_CONVERSION = YES;
657 | CLANG_WARN_INFINITE_RECURSION = YES;
658 | CLANG_WARN_INT_CONVERSION = YES;
659 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
660 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
661 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
662 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
663 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
664 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
665 | CLANG_WARN_STRICT_PROTOTYPES = YES;
666 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
667 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
668 | CLANG_WARN_UNREACHABLE_CODE = YES;
669 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
670 | COPY_PHASE_STRIP = NO;
671 | DEBUG_INFORMATION_FORMAT = dwarf;
672 | ENABLE_STRICT_OBJC_MSGSEND = YES;
673 | ENABLE_TESTABILITY = YES;
674 | GCC_C_LANGUAGE_STANDARD = gnu11;
675 | GCC_DYNAMIC_NO_PIC = NO;
676 | GCC_NO_COMMON_BLOCKS = YES;
677 | GCC_OPTIMIZATION_LEVEL = 0;
678 | GCC_PREPROCESSOR_DEFINITIONS = (
679 | "POD_CONFIGURATION_DEBUG=1",
680 | "DEBUG=1",
681 | "$(inherited)",
682 | );
683 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
684 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
685 | GCC_WARN_UNDECLARED_SELECTOR = YES;
686 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
687 | GCC_WARN_UNUSED_FUNCTION = YES;
688 | GCC_WARN_UNUSED_VARIABLE = YES;
689 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
690 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
691 | MTL_FAST_MATH = YES;
692 | ONLY_ACTIVE_ARCH = YES;
693 | PRODUCT_NAME = "$(TARGET_NAME)";
694 | STRIP_INSTALLED_PRODUCT = NO;
695 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
696 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
697 | SWIFT_VERSION = 5.0;
698 | SYMROOT = "${SRCROOT}/../build";
699 | };
700 | name = Debug;
701 | };
702 | FDF3CBE72658AE2AAA106076DB2FE2C3 /* Debug */ = {
703 | isa = XCBuildConfiguration;
704 | baseConfigurationReference = C0B7C4F4D2F0E90364D3259451014AD4 /* StackyText.debug.xcconfig */;
705 | buildSettings = {
706 | CLANG_ENABLE_OBJC_WEAK = NO;
707 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
708 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
709 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
710 | CURRENT_PROJECT_VERSION = 1;
711 | DEFINES_MODULE = YES;
712 | DYLIB_COMPATIBILITY_VERSION = 1;
713 | DYLIB_CURRENT_VERSION = 1;
714 | DYLIB_INSTALL_NAME_BASE = "@rpath";
715 | GCC_PREFIX_HEADER = "Target Support Files/StackyText/StackyText-prefix.pch";
716 | INFOPLIST_FILE = "Target Support Files/StackyText/StackyText-Info.plist";
717 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
718 | IPHONEOS_DEPLOYMENT_TARGET = 10.0;
719 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
720 | MODULEMAP_FILE = "Target Support Files/StackyText/StackyText.modulemap";
721 | PRODUCT_MODULE_NAME = StackyText;
722 | PRODUCT_NAME = StackyText;
723 | SDKROOT = iphoneos;
724 | SKIP_INSTALL = YES;
725 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
726 | SWIFT_VERSION = 4.0;
727 | TARGETED_DEVICE_FAMILY = "1,2";
728 | VERSIONING_SYSTEM = "apple-generic";
729 | VERSION_INFO_PREFIX = "";
730 | };
731 | name = Debug;
732 | };
733 | /* End XCBuildConfiguration section */
734 |
735 | /* Begin XCConfigurationList section */
736 | 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
737 | isa = XCConfigurationList;
738 | buildConfigurations = (
739 | D299434AB35E7FD6F7921C8EF24742FF /* Debug */,
740 | 7EE7A78859F657F6BEFC651185B43192 /* Release */,
741 | );
742 | defaultConfigurationIsVisible = 0;
743 | defaultConfigurationName = Release;
744 | };
745 | 4ADBB2721ED7300279297C5FB52E4486 /* Build configuration list for PBXNativeTarget "StackyText" */ = {
746 | isa = XCConfigurationList;
747 | buildConfigurations = (
748 | FDF3CBE72658AE2AAA106076DB2FE2C3 /* Debug */,
749 | 4525AFF75BB2ADD9B178329EC06C80AA /* Release */,
750 | );
751 | defaultConfigurationIsVisible = 0;
752 | defaultConfigurationName = Release;
753 | };
754 | B5EB0B00167D47ECE315B4135092D7D7 /* Build configuration list for PBXNativeTarget "Pods-StackyText_Example" */ = {
755 | isa = XCConfigurationList;
756 | buildConfigurations = (
757 | 8B2A0D133BA361232BA00F58A73B970F /* Debug */,
758 | 35D6B81DFA494605298FB6E31165F00F /* Release */,
759 | );
760 | defaultConfigurationIsVisible = 0;
761 | defaultConfigurationName = Release;
762 | };
763 | B78336081B287F76F263B74BD68DE413 /* Build configuration list for PBXNativeTarget "Pods-StackyText_Tests" */ = {
764 | isa = XCConfigurationList;
765 | buildConfigurations = (
766 | 89E0FC9EDFD343915DA1E29830ECC684 /* Debug */,
767 | AB5E347CE52BE2E3E20E3F5EA5BD5E78 /* Release */,
768 | );
769 | defaultConfigurationIsVisible = 0;
770 | defaultConfigurationName = Release;
771 | };
772 | /* End XCConfigurationList section */
773 | };
774 | rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
775 | }
776 |
--------------------------------------------------------------------------------
/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/Pods-StackyText_Example/Pods-StackyText_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-StackyText_Example/Pods-StackyText_Example-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## StackyText
5 |
6 | Copyright (c) 2022 yim2627
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-StackyText_Example/Pods-StackyText_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) 2022 yim2627 <yim2627@gmail.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 | StackyText
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-StackyText_Example/Pods-StackyText_Example-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_StackyText_Example : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_StackyText_Example
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-StackyText_Example/Pods-StackyText_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 | mkdir -p "${DWARF_DSYM_FOLDER_PATH}"
117 | touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
118 | fi
119 | fi
120 | }
121 |
122 | # Used as a return value for each invocation of `strip_invalid_archs` function.
123 | STRIP_BINARY_RETVAL=0
124 |
125 | # Strip invalid architectures
126 | strip_invalid_archs() {
127 | binary="$1"
128 | warn_missing_arch=${2:-true}
129 | # Get architectures for current target binary
130 | binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
131 | # Intersect them with the architectures we are building for
132 | intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
133 | # If there are no archs supported by this binary then warn the user
134 | if [[ -z "$intersected_archs" ]]; then
135 | if [[ "$warn_missing_arch" == "true" ]]; then
136 | echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
137 | fi
138 | STRIP_BINARY_RETVAL=1
139 | return
140 | fi
141 | stripped=""
142 | for arch in $binary_archs; do
143 | if ! [[ "${ARCHS}" == *"$arch"* ]]; then
144 | # Strip non-valid architectures in-place
145 | lipo -remove "$arch" -output "$binary" "$binary"
146 | stripped="$stripped $arch"
147 | fi
148 | done
149 | if [[ "$stripped" ]]; then
150 | echo "Stripped $binary of architectures:$stripped"
151 | fi
152 | STRIP_BINARY_RETVAL=0
153 | }
154 |
155 | # Copies the bcsymbolmap files of a vendored framework
156 | install_bcsymbolmap() {
157 | local bcsymbolmap_path="$1"
158 | local destination="${BUILT_PRODUCTS_DIR}"
159 | 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}""
160 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
161 | }
162 |
163 | # Signs a framework with the provided identity
164 | code_sign_if_enabled() {
165 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
166 | # Use the current code_sign_identity
167 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
168 | local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
169 |
170 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
171 | code_sign_cmd="$code_sign_cmd &"
172 | fi
173 | echo "$code_sign_cmd"
174 | eval "$code_sign_cmd"
175 | fi
176 | }
177 |
178 | if [[ "$CONFIGURATION" == "Debug" ]]; then
179 | install_framework "${BUILT_PRODUCTS_DIR}/StackyText/StackyText.framework"
180 | fi
181 | if [[ "$CONFIGURATION" == "Release" ]]; then
182 | install_framework "${BUILT_PRODUCTS_DIR}/StackyText/StackyText.framework"
183 | fi
184 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
185 | wait
186 | fi
187 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-StackyText_Example/Pods-StackyText_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_StackyText_ExampleVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_StackyText_ExampleVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-StackyText_Example/Pods-StackyText_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}/StackyText"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/StackyText/StackyText.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
8 | OTHER_LDFLAGS = $(inherited) -framework "StackyText"
9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
10 | PODS_BUILD_DIR = ${BUILD_DIR}
11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
13 | PODS_ROOT = ${SRCROOT}/Pods
14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-StackyText_Example/Pods-StackyText_Example.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_StackyText_Example {
2 | umbrella header "Pods-StackyText_Example-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-StackyText_Example/Pods-StackyText_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}/StackyText"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/StackyText/StackyText.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
8 | OTHER_LDFLAGS = $(inherited) -framework "StackyText"
9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
10 | PODS_BUILD_DIR = ${BUILD_DIR}
11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
13 | PODS_ROOT = ${SRCROOT}/Pods
14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-StackyText_Tests/Pods-StackyText_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-StackyText_Tests/Pods-StackyText_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-StackyText_Tests/Pods-StackyText_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-StackyText_Tests/Pods-StackyText_Tests-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_StackyText_Tests : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_StackyText_Tests
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-StackyText_Tests/Pods-StackyText_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_StackyText_TestsVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_StackyText_TestsVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-StackyText_Tests/Pods-StackyText_Tests.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/StackyText"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/StackyText/StackyText.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "StackyText"
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-StackyText_Tests/Pods-StackyText_Tests.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_StackyText_Tests {
2 | umbrella header "Pods-StackyText_Tests-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-StackyText_Tests/Pods-StackyText_Tests.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/StackyText"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/StackyText/StackyText.framework/Headers"
5 | OTHER_LDFLAGS = $(inherited) -framework "StackyText"
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/StackyText/StackyText-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/StackyText/StackyText-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_StackyText : NSObject
3 | @end
4 | @implementation PodsDummy_StackyText
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/StackyText/StackyText-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/StackyText/StackyText-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 StackyTextVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char StackyTextVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/StackyText/StackyText.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/StackyText
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/StackyText/StackyText.modulemap:
--------------------------------------------------------------------------------
1 | framework module StackyText {
2 | umbrella header "StackyText-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/StackyText/StackyText.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/StackyText
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/Example/StackyText.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 3A6EA46F3D51DBA9DE8252BB /* Pods_StackyText_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 809558F41433308B046E685E /* Pods_StackyText_Tests.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 | A6490F3E286979A30070E9D3 /* NotoSansKR-Black.otf in Resources */ = {isa = PBXBuildFile; fileRef = A6490F3A286978CF0070E9D3 /* NotoSansKR-Black.otf */; };
18 | A6490F3F286979A50070E9D3 /* NotoSansKR-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = A6490F3C286978CF0070E9D3 /* NotoSansKR-Bold.otf */; };
19 | A6490F40286979A60070E9D3 /* NotoSansKR-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = A6490F39286978CF0070E9D3 /* NotoSansKR-Light.otf */; };
20 | A6490F41286979A80070E9D3 /* NotoSansKR-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = A6490F3B286978CF0070E9D3 /* NotoSansKR-Medium.otf */; };
21 | A6490F42286979AA0070E9D3 /* NotoSansKR-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = A6490F3D286978CF0070E9D3 /* NotoSansKR-Regular.otf */; };
22 | A6490F43286979AC0070E9D3 /* NotoSansKR-Thin.otf in Resources */ = {isa = PBXBuildFile; fileRef = A6490F38286978CE0070E9D3 /* NotoSansKR-Thin.otf */; };
23 | BB38F3F0CD9CBD632634CE97 /* Pods_StackyText_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E0F050F3557678E3FA79A06 /* Pods_StackyText_Example.framework */; };
24 | /* End PBXBuildFile section */
25 |
26 | /* Begin PBXContainerItemProxy section */
27 | 607FACE61AFB9204008FA782 /* PBXContainerItemProxy */ = {
28 | isa = PBXContainerItemProxy;
29 | containerPortal = 607FACC81AFB9204008FA782 /* Project object */;
30 | proxyType = 1;
31 | remoteGlobalIDString = 607FACCF1AFB9204008FA782;
32 | remoteInfo = StackyText;
33 | };
34 | /* End PBXContainerItemProxy section */
35 |
36 | /* Begin PBXFileReference section */
37 | 0DBA70D1FC0E86D5E616A9C8 /* Pods-StackyText_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-StackyText_Example.debug.xcconfig"; path = "Target Support Files/Pods-StackyText_Example/Pods-StackyText_Example.debug.xcconfig"; sourceTree = ""; };
38 | 0F4736700FF9BA4F6F6BBE79 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; };
39 | 260C7C233691742C6CD20FB6 /* StackyText.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = StackyText.podspec; path = ../StackyText.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
40 | 3BFF31E8999EACA725B8AFA4 /* Pods-StackyText_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-StackyText_Tests.debug.xcconfig"; path = "Target Support Files/Pods-StackyText_Tests/Pods-StackyText_Tests.debug.xcconfig"; sourceTree = ""; };
41 | 3E0F050F3557678E3FA79A06 /* Pods_StackyText_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_StackyText_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
42 | 607FACD01AFB9204008FA782 /* StackyText_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StackyText_Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
43 | 607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
44 | 607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
45 | 607FACD71AFB9204008FA782 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
46 | 607FACDA1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
47 | 607FACDC1AFB9204008FA782 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
48 | 607FACDF1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
49 | 607FACE51AFB9204008FA782 /* StackyText_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StackyText_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
50 | 607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
51 | 607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = ""; };
52 | 7022E2AD2A2EA3368D3B1BDF /* Pods-StackyText_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-StackyText_Tests.release.xcconfig"; path = "Target Support Files/Pods-StackyText_Tests/Pods-StackyText_Tests.release.xcconfig"; sourceTree = ""; };
53 | 809558F41433308B046E685E /* Pods_StackyText_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_StackyText_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
54 | A6490F38286978CE0070E9D3 /* NotoSansKR-Thin.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "NotoSansKR-Thin.otf"; sourceTree = ""; };
55 | A6490F39286978CF0070E9D3 /* NotoSansKR-Light.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "NotoSansKR-Light.otf"; sourceTree = ""; };
56 | A6490F3A286978CF0070E9D3 /* NotoSansKR-Black.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "NotoSansKR-Black.otf"; sourceTree = ""; };
57 | A6490F3B286978CF0070E9D3 /* NotoSansKR-Medium.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "NotoSansKR-Medium.otf"; sourceTree = ""; };
58 | A6490F3C286978CF0070E9D3 /* NotoSansKR-Bold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "NotoSansKR-Bold.otf"; sourceTree = ""; };
59 | A6490F3D286978CF0070E9D3 /* NotoSansKR-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "NotoSansKR-Regular.otf"; sourceTree = ""; };
60 | D74C2A1A186D672A3CAA59FB /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; };
61 | F2919BE822904A72F2A866AF /* Pods-StackyText_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-StackyText_Example.release.xcconfig"; path = "Target Support Files/Pods-StackyText_Example/Pods-StackyText_Example.release.xcconfig"; sourceTree = ""; };
62 | /* End PBXFileReference section */
63 |
64 | /* Begin PBXFrameworksBuildPhase section */
65 | 607FACCD1AFB9204008FA782 /* Frameworks */ = {
66 | isa = PBXFrameworksBuildPhase;
67 | buildActionMask = 2147483647;
68 | files = (
69 | BB38F3F0CD9CBD632634CE97 /* Pods_StackyText_Example.framework in Frameworks */,
70 | );
71 | runOnlyForDeploymentPostprocessing = 0;
72 | };
73 | 607FACE21AFB9204008FA782 /* Frameworks */ = {
74 | isa = PBXFrameworksBuildPhase;
75 | buildActionMask = 2147483647;
76 | files = (
77 | 3A6EA46F3D51DBA9DE8252BB /* Pods_StackyText_Tests.framework in Frameworks */,
78 | );
79 | runOnlyForDeploymentPostprocessing = 0;
80 | };
81 | /* End PBXFrameworksBuildPhase section */
82 |
83 | /* Begin PBXGroup section */
84 | 607FACC71AFB9204008FA782 = {
85 | isa = PBXGroup;
86 | children = (
87 | 607FACF51AFB993E008FA782 /* Podspec Metadata */,
88 | 607FACD21AFB9204008FA782 /* Example for StackyText */,
89 | 607FACE81AFB9204008FA782 /* Tests */,
90 | 607FACD11AFB9204008FA782 /* Products */,
91 | C281AA0A39DC4D24B3153DA5 /* Pods */,
92 | 885544AA55F783AA444C6B4A /* Frameworks */,
93 | );
94 | sourceTree = "";
95 | };
96 | 607FACD11AFB9204008FA782 /* Products */ = {
97 | isa = PBXGroup;
98 | children = (
99 | 607FACD01AFB9204008FA782 /* StackyText_Example.app */,
100 | 607FACE51AFB9204008FA782 /* StackyText_Tests.xctest */,
101 | );
102 | name = Products;
103 | sourceTree = "";
104 | };
105 | 607FACD21AFB9204008FA782 /* Example for StackyText */ = {
106 | isa = PBXGroup;
107 | children = (
108 | 607FACD51AFB9204008FA782 /* AppDelegate.swift */,
109 | 607FACD71AFB9204008FA782 /* ViewController.swift */,
110 | 607FACD91AFB9204008FA782 /* Main.storyboard */,
111 | 607FACDC1AFB9204008FA782 /* Images.xcassets */,
112 | 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */,
113 | 607FACD31AFB9204008FA782 /* Supporting Files */,
114 | );
115 | name = "Example for StackyText";
116 | path = StackyText;
117 | sourceTree = "";
118 | };
119 | 607FACD31AFB9204008FA782 /* Supporting Files */ = {
120 | isa = PBXGroup;
121 | children = (
122 | A6490F3A286978CF0070E9D3 /* NotoSansKR-Black.otf */,
123 | A6490F3C286978CF0070E9D3 /* NotoSansKR-Bold.otf */,
124 | A6490F39286978CF0070E9D3 /* NotoSansKR-Light.otf */,
125 | A6490F3B286978CF0070E9D3 /* NotoSansKR-Medium.otf */,
126 | A6490F3D286978CF0070E9D3 /* NotoSansKR-Regular.otf */,
127 | A6490F38286978CE0070E9D3 /* NotoSansKR-Thin.otf */,
128 | 607FACD41AFB9204008FA782 /* Info.plist */,
129 | );
130 | name = "Supporting Files";
131 | sourceTree = "";
132 | };
133 | 607FACE81AFB9204008FA782 /* Tests */ = {
134 | isa = PBXGroup;
135 | children = (
136 | 607FACEB1AFB9204008FA782 /* Tests.swift */,
137 | 607FACE91AFB9204008FA782 /* Supporting Files */,
138 | );
139 | path = Tests;
140 | sourceTree = "";
141 | };
142 | 607FACE91AFB9204008FA782 /* Supporting Files */ = {
143 | isa = PBXGroup;
144 | children = (
145 | 607FACEA1AFB9204008FA782 /* Info.plist */,
146 | );
147 | name = "Supporting Files";
148 | sourceTree = "";
149 | };
150 | 607FACF51AFB993E008FA782 /* Podspec Metadata */ = {
151 | isa = PBXGroup;
152 | children = (
153 | 260C7C233691742C6CD20FB6 /* StackyText.podspec */,
154 | 0F4736700FF9BA4F6F6BBE79 /* README.md */,
155 | D74C2A1A186D672A3CAA59FB /* LICENSE */,
156 | );
157 | name = "Podspec Metadata";
158 | sourceTree = "";
159 | };
160 | 885544AA55F783AA444C6B4A /* Frameworks */ = {
161 | isa = PBXGroup;
162 | children = (
163 | 3E0F050F3557678E3FA79A06 /* Pods_StackyText_Example.framework */,
164 | 809558F41433308B046E685E /* Pods_StackyText_Tests.framework */,
165 | );
166 | name = Frameworks;
167 | sourceTree = "";
168 | };
169 | C281AA0A39DC4D24B3153DA5 /* Pods */ = {
170 | isa = PBXGroup;
171 | children = (
172 | 0DBA70D1FC0E86D5E616A9C8 /* Pods-StackyText_Example.debug.xcconfig */,
173 | F2919BE822904A72F2A866AF /* Pods-StackyText_Example.release.xcconfig */,
174 | 3BFF31E8999EACA725B8AFA4 /* Pods-StackyText_Tests.debug.xcconfig */,
175 | 7022E2AD2A2EA3368D3B1BDF /* Pods-StackyText_Tests.release.xcconfig */,
176 | );
177 | path = Pods;
178 | sourceTree = "";
179 | };
180 | /* End PBXGroup section */
181 |
182 | /* Begin PBXNativeTarget section */
183 | 607FACCF1AFB9204008FA782 /* StackyText_Example */ = {
184 | isa = PBXNativeTarget;
185 | buildConfigurationList = 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "StackyText_Example" */;
186 | buildPhases = (
187 | 7124FDD1001EBFC8D1BC3996 /* [CP] Check Pods Manifest.lock */,
188 | 607FACCC1AFB9204008FA782 /* Sources */,
189 | 607FACCD1AFB9204008FA782 /* Frameworks */,
190 | 607FACCE1AFB9204008FA782 /* Resources */,
191 | 3C660D0648762FE3EEE7A256 /* [CP] Embed Pods Frameworks */,
192 | );
193 | buildRules = (
194 | );
195 | dependencies = (
196 | );
197 | name = StackyText_Example;
198 | packageProductDependencies = (
199 | );
200 | productName = StackyText;
201 | productReference = 607FACD01AFB9204008FA782 /* StackyText_Example.app */;
202 | productType = "com.apple.product-type.application";
203 | };
204 | 607FACE41AFB9204008FA782 /* StackyText_Tests */ = {
205 | isa = PBXNativeTarget;
206 | buildConfigurationList = 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "StackyText_Tests" */;
207 | buildPhases = (
208 | FDF0F85A37A9FABD134C3BE4 /* [CP] Check Pods Manifest.lock */,
209 | 607FACE11AFB9204008FA782 /* Sources */,
210 | 607FACE21AFB9204008FA782 /* Frameworks */,
211 | 607FACE31AFB9204008FA782 /* Resources */,
212 | );
213 | buildRules = (
214 | );
215 | dependencies = (
216 | 607FACE71AFB9204008FA782 /* PBXTargetDependency */,
217 | );
218 | name = StackyText_Tests;
219 | productName = Tests;
220 | productReference = 607FACE51AFB9204008FA782 /* StackyText_Tests.xctest */;
221 | productType = "com.apple.product-type.bundle.unit-test";
222 | };
223 | /* End PBXNativeTarget section */
224 |
225 | /* Begin PBXProject section */
226 | 607FACC81AFB9204008FA782 /* Project object */ = {
227 | isa = PBXProject;
228 | attributes = {
229 | LastSwiftUpdateCheck = 0830;
230 | LastUpgradeCheck = 0830;
231 | ORGANIZATIONNAME = CocoaPods;
232 | TargetAttributes = {
233 | 607FACCF1AFB9204008FA782 = {
234 | CreatedOnToolsVersion = 6.3.1;
235 | LastSwiftMigration = 0900;
236 | };
237 | 607FACE41AFB9204008FA782 = {
238 | CreatedOnToolsVersion = 6.3.1;
239 | LastSwiftMigration = 0900;
240 | TestTargetID = 607FACCF1AFB9204008FA782;
241 | };
242 | };
243 | };
244 | buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "StackyText" */;
245 | compatibilityVersion = "Xcode 3.2";
246 | developmentRegion = English;
247 | hasScannedForEncodings = 0;
248 | knownRegions = (
249 | English,
250 | en,
251 | Base,
252 | );
253 | mainGroup = 607FACC71AFB9204008FA782;
254 | packageReferences = (
255 | );
256 | productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
257 | projectDirPath = "";
258 | projectRoot = "";
259 | targets = (
260 | 607FACCF1AFB9204008FA782 /* StackyText_Example */,
261 | 607FACE41AFB9204008FA782 /* StackyText_Tests */,
262 | );
263 | };
264 | /* End PBXProject section */
265 |
266 | /* Begin PBXResourcesBuildPhase section */
267 | 607FACCE1AFB9204008FA782 /* Resources */ = {
268 | isa = PBXResourcesBuildPhase;
269 | buildActionMask = 2147483647;
270 | files = (
271 | A6490F43286979AC0070E9D3 /* NotoSansKR-Thin.otf in Resources */,
272 | A6490F40286979A60070E9D3 /* NotoSansKR-Light.otf in Resources */,
273 | 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */,
274 | A6490F41286979A80070E9D3 /* NotoSansKR-Medium.otf in Resources */,
275 | 607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */,
276 | 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */,
277 | A6490F3E286979A30070E9D3 /* NotoSansKR-Black.otf in Resources */,
278 | A6490F42286979AA0070E9D3 /* NotoSansKR-Regular.otf in Resources */,
279 | A6490F3F286979A50070E9D3 /* NotoSansKR-Bold.otf in Resources */,
280 | );
281 | runOnlyForDeploymentPostprocessing = 0;
282 | };
283 | 607FACE31AFB9204008FA782 /* Resources */ = {
284 | isa = PBXResourcesBuildPhase;
285 | buildActionMask = 2147483647;
286 | files = (
287 | );
288 | runOnlyForDeploymentPostprocessing = 0;
289 | };
290 | /* End PBXResourcesBuildPhase section */
291 |
292 | /* Begin PBXShellScriptBuildPhase section */
293 | 3C660D0648762FE3EEE7A256 /* [CP] Embed Pods Frameworks */ = {
294 | isa = PBXShellScriptBuildPhase;
295 | buildActionMask = 2147483647;
296 | files = (
297 | );
298 | inputPaths = (
299 | "${PODS_ROOT}/Target Support Files/Pods-StackyText_Example/Pods-StackyText_Example-frameworks.sh",
300 | "${BUILT_PRODUCTS_DIR}/StackyText/StackyText.framework",
301 | );
302 | name = "[CP] Embed Pods Frameworks";
303 | outputPaths = (
304 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StackyText.framework",
305 | );
306 | runOnlyForDeploymentPostprocessing = 0;
307 | shellPath = /bin/sh;
308 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-StackyText_Example/Pods-StackyText_Example-frameworks.sh\"\n";
309 | showEnvVarsInLog = 0;
310 | };
311 | 7124FDD1001EBFC8D1BC3996 /* [CP] Check Pods Manifest.lock */ = {
312 | isa = PBXShellScriptBuildPhase;
313 | buildActionMask = 2147483647;
314 | files = (
315 | );
316 | inputFileListPaths = (
317 | );
318 | inputPaths = (
319 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
320 | "${PODS_ROOT}/Manifest.lock",
321 | );
322 | name = "[CP] Check Pods Manifest.lock";
323 | outputFileListPaths = (
324 | );
325 | outputPaths = (
326 | "$(DERIVED_FILE_DIR)/Pods-StackyText_Example-checkManifestLockResult.txt",
327 | );
328 | runOnlyForDeploymentPostprocessing = 0;
329 | shellPath = /bin/sh;
330 | 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";
331 | showEnvVarsInLog = 0;
332 | };
333 | FDF0F85A37A9FABD134C3BE4 /* [CP] Check Pods Manifest.lock */ = {
334 | isa = PBXShellScriptBuildPhase;
335 | buildActionMask = 2147483647;
336 | files = (
337 | );
338 | inputFileListPaths = (
339 | );
340 | inputPaths = (
341 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
342 | "${PODS_ROOT}/Manifest.lock",
343 | );
344 | name = "[CP] Check Pods Manifest.lock";
345 | outputFileListPaths = (
346 | );
347 | outputPaths = (
348 | "$(DERIVED_FILE_DIR)/Pods-StackyText_Tests-checkManifestLockResult.txt",
349 | );
350 | runOnlyForDeploymentPostprocessing = 0;
351 | shellPath = /bin/sh;
352 | 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";
353 | showEnvVarsInLog = 0;
354 | };
355 | /* End PBXShellScriptBuildPhase section */
356 |
357 | /* Begin PBXSourcesBuildPhase section */
358 | 607FACCC1AFB9204008FA782 /* Sources */ = {
359 | isa = PBXSourcesBuildPhase;
360 | buildActionMask = 2147483647;
361 | files = (
362 | 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */,
363 | 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */,
364 | );
365 | runOnlyForDeploymentPostprocessing = 0;
366 | };
367 | 607FACE11AFB9204008FA782 /* Sources */ = {
368 | isa = PBXSourcesBuildPhase;
369 | buildActionMask = 2147483647;
370 | files = (
371 | 607FACEC1AFB9204008FA782 /* Tests.swift in Sources */,
372 | );
373 | runOnlyForDeploymentPostprocessing = 0;
374 | };
375 | /* End PBXSourcesBuildPhase section */
376 |
377 | /* Begin PBXTargetDependency section */
378 | 607FACE71AFB9204008FA782 /* PBXTargetDependency */ = {
379 | isa = PBXTargetDependency;
380 | target = 607FACCF1AFB9204008FA782 /* StackyText_Example */;
381 | targetProxy = 607FACE61AFB9204008FA782 /* PBXContainerItemProxy */;
382 | };
383 | /* End PBXTargetDependency section */
384 |
385 | /* Begin PBXVariantGroup section */
386 | 607FACD91AFB9204008FA782 /* Main.storyboard */ = {
387 | isa = PBXVariantGroup;
388 | children = (
389 | 607FACDA1AFB9204008FA782 /* Base */,
390 | );
391 | name = Main.storyboard;
392 | sourceTree = "";
393 | };
394 | 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */ = {
395 | isa = PBXVariantGroup;
396 | children = (
397 | 607FACDF1AFB9204008FA782 /* Base */,
398 | );
399 | name = LaunchScreen.xib;
400 | sourceTree = "";
401 | };
402 | /* End PBXVariantGroup section */
403 |
404 | /* Begin XCBuildConfiguration section */
405 | 607FACED1AFB9204008FA782 /* Debug */ = {
406 | isa = XCBuildConfiguration;
407 | buildSettings = {
408 | ALWAYS_SEARCH_USER_PATHS = NO;
409 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
410 | CLANG_CXX_LIBRARY = "libc++";
411 | CLANG_ENABLE_MODULES = YES;
412 | CLANG_ENABLE_OBJC_ARC = YES;
413 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
414 | CLANG_WARN_BOOL_CONVERSION = YES;
415 | CLANG_WARN_COMMA = YES;
416 | CLANG_WARN_CONSTANT_CONVERSION = YES;
417 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
418 | CLANG_WARN_EMPTY_BODY = YES;
419 | CLANG_WARN_ENUM_CONVERSION = YES;
420 | CLANG_WARN_INFINITE_RECURSION = YES;
421 | CLANG_WARN_INT_CONVERSION = YES;
422 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
423 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
424 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
425 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
426 | CLANG_WARN_STRICT_PROTOTYPES = YES;
427 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
428 | CLANG_WARN_UNREACHABLE_CODE = YES;
429 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
430 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
431 | COPY_PHASE_STRIP = NO;
432 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
433 | ENABLE_STRICT_OBJC_MSGSEND = YES;
434 | ENABLE_TESTABILITY = YES;
435 | GCC_C_LANGUAGE_STANDARD = gnu99;
436 | GCC_DYNAMIC_NO_PIC = NO;
437 | GCC_NO_COMMON_BLOCKS = YES;
438 | GCC_OPTIMIZATION_LEVEL = 0;
439 | GCC_PREPROCESSOR_DEFINITIONS = (
440 | "DEBUG=1",
441 | "$(inherited)",
442 | );
443 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
444 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
445 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
446 | GCC_WARN_UNDECLARED_SELECTOR = YES;
447 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
448 | GCC_WARN_UNUSED_FUNCTION = YES;
449 | GCC_WARN_UNUSED_VARIABLE = YES;
450 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
451 | MTL_ENABLE_DEBUG_INFO = YES;
452 | ONLY_ACTIVE_ARCH = YES;
453 | SDKROOT = iphoneos;
454 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
455 | };
456 | name = Debug;
457 | };
458 | 607FACEE1AFB9204008FA782 /* Release */ = {
459 | isa = XCBuildConfiguration;
460 | buildSettings = {
461 | ALWAYS_SEARCH_USER_PATHS = NO;
462 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
463 | CLANG_CXX_LIBRARY = "libc++";
464 | CLANG_ENABLE_MODULES = YES;
465 | CLANG_ENABLE_OBJC_ARC = YES;
466 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
467 | CLANG_WARN_BOOL_CONVERSION = YES;
468 | CLANG_WARN_COMMA = YES;
469 | CLANG_WARN_CONSTANT_CONVERSION = YES;
470 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
471 | CLANG_WARN_EMPTY_BODY = YES;
472 | CLANG_WARN_ENUM_CONVERSION = YES;
473 | CLANG_WARN_INFINITE_RECURSION = YES;
474 | CLANG_WARN_INT_CONVERSION = YES;
475 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
476 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
477 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
478 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
479 | CLANG_WARN_STRICT_PROTOTYPES = YES;
480 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
481 | CLANG_WARN_UNREACHABLE_CODE = YES;
482 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
483 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
484 | COPY_PHASE_STRIP = NO;
485 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
486 | ENABLE_NS_ASSERTIONS = NO;
487 | ENABLE_STRICT_OBJC_MSGSEND = YES;
488 | GCC_C_LANGUAGE_STANDARD = gnu99;
489 | GCC_NO_COMMON_BLOCKS = YES;
490 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
491 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
492 | GCC_WARN_UNDECLARED_SELECTOR = YES;
493 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
494 | GCC_WARN_UNUSED_FUNCTION = YES;
495 | GCC_WARN_UNUSED_VARIABLE = YES;
496 | IPHONEOS_DEPLOYMENT_TARGET = 13.0;
497 | MTL_ENABLE_DEBUG_INFO = NO;
498 | SDKROOT = iphoneos;
499 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
500 | VALIDATE_PRODUCT = YES;
501 | };
502 | name = Release;
503 | };
504 | 607FACF01AFB9204008FA782 /* Debug */ = {
505 | isa = XCBuildConfiguration;
506 | baseConfigurationReference = 0DBA70D1FC0E86D5E616A9C8 /* Pods-StackyText_Example.debug.xcconfig */;
507 | buildSettings = {
508 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
509 | INFOPLIST_FILE = StackyText/Info.plist;
510 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
511 | MODULE_NAME = ExampleApp;
512 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
513 | PRODUCT_NAME = "$(TARGET_NAME)";
514 | SWIFT_SWIFT3_OBJC_INFERENCE = Default;
515 | SWIFT_VERSION = 4.0;
516 | };
517 | name = Debug;
518 | };
519 | 607FACF11AFB9204008FA782 /* Release */ = {
520 | isa = XCBuildConfiguration;
521 | baseConfigurationReference = F2919BE822904A72F2A866AF /* Pods-StackyText_Example.release.xcconfig */;
522 | buildSettings = {
523 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
524 | INFOPLIST_FILE = StackyText/Info.plist;
525 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
526 | MODULE_NAME = ExampleApp;
527 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
528 | PRODUCT_NAME = "$(TARGET_NAME)";
529 | SWIFT_SWIFT3_OBJC_INFERENCE = Default;
530 | SWIFT_VERSION = 4.0;
531 | };
532 | name = Release;
533 | };
534 | 607FACF31AFB9204008FA782 /* Debug */ = {
535 | isa = XCBuildConfiguration;
536 | baseConfigurationReference = 3BFF31E8999EACA725B8AFA4 /* Pods-StackyText_Tests.debug.xcconfig */;
537 | buildSettings = {
538 | FRAMEWORK_SEARCH_PATHS = (
539 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
540 | "$(inherited)",
541 | );
542 | GCC_PREPROCESSOR_DEFINITIONS = (
543 | "DEBUG=1",
544 | "$(inherited)",
545 | );
546 | INFOPLIST_FILE = Tests/Info.plist;
547 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
548 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
549 | PRODUCT_NAME = "$(TARGET_NAME)";
550 | SWIFT_SWIFT3_OBJC_INFERENCE = Default;
551 | SWIFT_VERSION = 4.0;
552 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StackyText_Example.app/StackyText_Example";
553 | };
554 | name = Debug;
555 | };
556 | 607FACF41AFB9204008FA782 /* Release */ = {
557 | isa = XCBuildConfiguration;
558 | baseConfigurationReference = 7022E2AD2A2EA3368D3B1BDF /* Pods-StackyText_Tests.release.xcconfig */;
559 | buildSettings = {
560 | FRAMEWORK_SEARCH_PATHS = (
561 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
562 | "$(inherited)",
563 | );
564 | INFOPLIST_FILE = Tests/Info.plist;
565 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
566 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
567 | PRODUCT_NAME = "$(TARGET_NAME)";
568 | SWIFT_SWIFT3_OBJC_INFERENCE = Default;
569 | SWIFT_VERSION = 4.0;
570 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StackyText_Example.app/StackyText_Example";
571 | };
572 | name = Release;
573 | };
574 | /* End XCBuildConfiguration section */
575 |
576 | /* Begin XCConfigurationList section */
577 | 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "StackyText" */ = {
578 | isa = XCConfigurationList;
579 | buildConfigurations = (
580 | 607FACED1AFB9204008FA782 /* Debug */,
581 | 607FACEE1AFB9204008FA782 /* Release */,
582 | );
583 | defaultConfigurationIsVisible = 0;
584 | defaultConfigurationName = Release;
585 | };
586 | 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "StackyText_Example" */ = {
587 | isa = XCConfigurationList;
588 | buildConfigurations = (
589 | 607FACF01AFB9204008FA782 /* Debug */,
590 | 607FACF11AFB9204008FA782 /* Release */,
591 | );
592 | defaultConfigurationIsVisible = 0;
593 | defaultConfigurationName = Release;
594 | };
595 | 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "StackyText_Tests" */ = {
596 | isa = XCConfigurationList;
597 | buildConfigurations = (
598 | 607FACF31AFB9204008FA782 /* Debug */,
599 | 607FACF41AFB9204008FA782 /* Release */,
600 | );
601 | defaultConfigurationIsVisible = 0;
602 | defaultConfigurationName = Release;
603 | };
604 | /* End XCConfigurationList section */
605 | };
606 | rootObject = 607FACC81AFB9204008FA782 /* Project object */;
607 | }
608 |
--------------------------------------------------------------------------------
/Example/StackyText.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/StackyText.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/StackyText.xcodeproj/xcshareddata/xcschemes/StackyText-Example.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
38 |
39 |
45 |
46 |
48 |
54 |
55 |
56 |
57 |
58 |
64 |
65 |
66 |
67 |
68 |
69 |
80 |
82 |
88 |
89 |
90 |
91 |
92 |
93 |
99 |
101 |
107 |
108 |
109 |
110 |
112 |
113 |
116 |
117 |
118 |
--------------------------------------------------------------------------------
/Example/StackyText.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Example/StackyText.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/StackyText/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // StackyText
4 | //
5 | // Created by yim2627 on 06/27/2022.
6 | // Copyright (c) 2022 yim2627. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 |
17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
18 | // Override point for customization after application launch.
19 | return true
20 | }
21 |
22 | func applicationWillResignActive(_ application: UIApplication) {
23 | // 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.
24 | // 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.
25 | }
26 |
27 | func applicationDidEnterBackground(_ application: UIApplication) {
28 | // 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.
29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
30 | }
31 |
32 | func applicationWillEnterForeground(_ application: UIApplication) {
33 | // 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.
34 | }
35 |
36 | func applicationDidBecomeActive(_ application: UIApplication) {
37 | // 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.
38 | }
39 |
40 | func applicationWillTerminate(_ application: UIApplication) {
41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
42 | }
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/Example/StackyText/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/StackyText/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 |
52 |
58 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
--------------------------------------------------------------------------------
/Example/StackyText/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/StackyText/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIAppFonts
6 |
7 | NotoSansKR-Black.otf
8 | NotoSansKR-Bold.otf
9 | NotoSansKR-Light.otf
10 | NotoSansKR-Medium.otf
11 | NotoSansKR-Regular.otf
12 | NotoSansKR-Thin.otf
13 |
14 | CFBundleDevelopmentRegion
15 | en
16 | CFBundleExecutable
17 | $(EXECUTABLE_NAME)
18 | CFBundleIdentifier
19 | $(PRODUCT_BUNDLE_IDENTIFIER)
20 | CFBundleInfoDictionaryVersion
21 | 6.0
22 | CFBundleName
23 | $(PRODUCT_NAME)
24 | CFBundlePackageType
25 | APPL
26 | CFBundleShortVersionString
27 | 1.0
28 | CFBundleSignature
29 | ????
30 | CFBundleVersion
31 | 1
32 | LSRequiresIPhoneOS
33 |
34 | UILaunchStoryboardName
35 | LaunchScreen
36 | UIMainStoryboardFile
37 | Main
38 | UIRequiredDeviceCapabilities
39 |
40 | armv7
41 |
42 | UISupportedInterfaceOrientations
43 |
44 | UIInterfaceOrientationPortrait
45 | UIInterfaceOrientationLandscapeLeft
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Example/StackyText/NotoSansKR-Black.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yim2627/StackyText/1fef0bbb0d1a1e81a3d9fc3b3f6cab2146b123e1/Example/StackyText/NotoSansKR-Black.otf
--------------------------------------------------------------------------------
/Example/StackyText/NotoSansKR-Bold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yim2627/StackyText/1fef0bbb0d1a1e81a3d9fc3b3f6cab2146b123e1/Example/StackyText/NotoSansKR-Bold.otf
--------------------------------------------------------------------------------
/Example/StackyText/NotoSansKR-Light.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yim2627/StackyText/1fef0bbb0d1a1e81a3d9fc3b3f6cab2146b123e1/Example/StackyText/NotoSansKR-Light.otf
--------------------------------------------------------------------------------
/Example/StackyText/NotoSansKR-Medium.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yim2627/StackyText/1fef0bbb0d1a1e81a3d9fc3b3f6cab2146b123e1/Example/StackyText/NotoSansKR-Medium.otf
--------------------------------------------------------------------------------
/Example/StackyText/NotoSansKR-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yim2627/StackyText/1fef0bbb0d1a1e81a3d9fc3b3f6cab2146b123e1/Example/StackyText/NotoSansKR-Regular.otf
--------------------------------------------------------------------------------
/Example/StackyText/NotoSansKR-Thin.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yim2627/StackyText/1fef0bbb0d1a1e81a3d9fc3b3f6cab2146b123e1/Example/StackyText/NotoSansKR-Thin.otf
--------------------------------------------------------------------------------
/Example/StackyText/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // StackyText
4 | //
5 | // Created by yim2627 on 06/27/2022.
6 | // Copyright (c) 2022 yim2627. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import StackyText
11 |
12 | class ViewController: UIViewController {
13 | @IBOutlet weak var blackLabel: UILabel!
14 | @IBOutlet weak var boldLabel: UILabel!
15 | @IBOutlet weak var lightLabel: UILabel!
16 | @IBOutlet weak var mediumLabel: UILabel!
17 | @IBOutlet weak var regularLabel: UILabel!
18 | @IBOutlet weak var thinLabel: UILabel!
19 | @IBOutlet weak var stackLabel: UILabel!
20 |
21 | override func viewDidLoad() {
22 | super.viewDidLoad()
23 | UIFont.checkFamilyFontName()
24 |
25 | blackLabel.text = "NotoSans_Black"
26 | blackLabel.textColor = .black
27 | blackLabel.font = .withFontFamilyName(name: "NotoSansKR", type: .black, dynamic: .title1)
28 |
29 | boldLabel.text = "NotoSans_Bold"
30 | boldLabel.textColor = .black
31 | boldLabel.font = .withFontFamilyName(name: "NotoSansKR", type: .bold, dynamic: .title1)
32 |
33 | lightLabel.text = "NotoSans_Light"
34 | lightLabel.textColor = .black
35 | lightLabel.font = .withFontFamilyName(name: "NotoSansKR", type: .light, dynamic: .title1)
36 |
37 | mediumLabel.text = "NotoSans_Medium"
38 | mediumLabel.textColor = .black
39 | mediumLabel.font = .withFontFamilyName(name: "NotoSansKR", type: .bold, dynamic: .title1)
40 |
41 | regularLabel.text = "NotoSans_Regular"
42 | regularLabel.textColor = .black
43 | regularLabel.font = .withFontFamilyName(name: "NotoSansKR", type: .regular, dynamic: .title1)
44 |
45 | thinLabel.text = "NotoSans_Thin"
46 | thinLabel.textColor = .black
47 | thinLabel.font = .withFontFamilyName(name: "NotoSansKR", type: .thin, dynamic: .title1)
48 |
49 | stackLabel.textColor = .black
50 | stackLabel.attributedText = NSMutableAttributedString()
51 | .text("Noto", fontName: "NotoSansKR", type: .black, dynamic: .title1)
52 | .text("Sans", fontName: "NotoSansKR", type: .thin, dynamic: .body)
53 | .colorText("K", fontName: "NotoSansKR", type: .bold, dynamic: .largeTitle, color: .systemBlue)
54 | .colorText("R", fontName: "NotoSansKR", type: .regular, dynamic: .largeTitle, color: .systemRed)
55 | }
56 | }
57 |
58 |
--------------------------------------------------------------------------------
/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 StackyText
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 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2022 yim2627
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Package.swift:
--------------------------------------------------------------------------------
1 | // swift-tools-version: 5.6
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: "StackyText",
8 | platforms: [.iOS(.v13)],
9 | products: [
10 | // Products define the executables and libraries a package produces, and make them visible to other packages.
11 | .library(
12 | name: "StackyText",
13 | targets: ["StackyText"]),
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: "StackyText",
24 | dependencies: []),
25 | .testTarget(
26 | name: "StackyTextTests",
27 | dependencies: ["StackyText"]),
28 | ],
29 | swiftLanguageVersions: [.v5]
30 | )
31 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # StackyText
2 |
3 | StackyText supports textBlock like LEGO
4 |
5 | [](https://github.com/apple/swift-package-manager)
6 | [](https://cocoapods.org/pods/StackyText)
7 | [](https://cocoapods.org/pods/StackyText)
8 | [](https://cocoapods.org/pods/StackyText)
9 |
10 | ## Example
11 |
12 | To run the example project, clone the repo, and run `pod install` from the Example directory first.
13 |
14 | ## Requirements
15 |
16 | - iOS 13 higher
17 | - Swift 5.0 higher
18 |
19 | ## Installation
20 |
21 | ### CocoaPods
22 |
23 | StackyText is available through [CocoaPods](https://cocoapods.org). To install
24 | it, simply add the following line to your Podfile:
25 |
26 | ```ruby
27 | pod 'StackyText'
28 | ```
29 |
30 | ### Swift Package Manager
31 |
32 | Enter StackyText URL in Package Dependency
33 |
34 | ```
35 | https://github.com/yim2627/StackyText
36 | ```
37 |
38 | ## Usage
39 |
40 | ### First, Import the fonts you want to use into your project and Update plist
41 |
42 | ### Make sure the fonts have been added
43 |
44 | ```swift
45 | UIFont.checkFamilyFontName()
46 | ```
47 |
48 | ### To support dynamic types
49 |
50 | ```swift
51 | adjustsFontForContentSizeCategory = true
52 | ```
53 | ### OR...
54 |
55 | 
56 |
57 | ## Normal Text
58 | ```swift
59 | let label = UILabel()
60 |
61 | label.adjustsFontForContentSizeCategory = true
62 |
63 | label.text = "NotoSans_Black"
64 | label.textColor = .black
65 | label.font = .withFontFamilyName(name: "NotoSansKR", type: .black, dynamic: .title1)
66 |
67 | // OR...
68 |
69 | label.font = withFontName("NotoSansKR-Black", dynamic: .title1)
70 | ```
71 |
72 | ## AttributedString Stacky Text
73 | ```swift
74 | let label = UILabel()
75 |
76 | label.adjustsFontForContentSizeCategory = true
77 |
78 | stackLabel.textColor = .black
79 | stackLabel.attributedText = NSMutableAttributedString()
80 | .text("Noto", fontName: "NotoSansKR", type: .black, dynamic: .title1)
81 | .text("Sans", fontName: "NotoSansKR", type: .thin, dynamic: .body)
82 | .colorText("K", fontName: "NotoSansKR", type: .bold, dynamic: .largeTitle, color: .systemBlue)
83 | .colorText("R", fontName: "NotoSansKR", type: .regular, dynamic: .largeTitle, color: .systemRed)
84 | ```
85 |
86 | ## Simulator
87 | |Normal|Dynamic Type|
88 | |:---:|:---:|
89 | |
|
|
90 |
91 |
92 | ## Author
93 |
94 | Jiseong, yim2627@gmail.com
95 |
96 | ## License
97 |
98 | StackyText is available under the MIT license. See the LICENSE file for more info.
99 |
--------------------------------------------------------------------------------
/Sources/StackyText/Assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yim2627/StackyText/1fef0bbb0d1a1e81a3d9fc3b3f6cab2146b123e1/Sources/StackyText/Assets/.gitkeep
--------------------------------------------------------------------------------
/Sources/StackyText/Classes/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yim2627/StackyText/1fef0bbb0d1a1e81a3d9fc3b3f6cab2146b123e1/Sources/StackyText/Classes/.gitkeep
--------------------------------------------------------------------------------
/Sources/StackyText/Classes/StackyText.swift:
--------------------------------------------------------------------------------
1 | // MIT LICENSE
2 |
3 | //Copyright (c) 2022 yim2627
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 |
23 |
24 | import UIKit
25 |
26 | // kind of dynamic size, style
27 |
28 | @available(iOS 13.0, *)
29 | public enum DynamicFont {
30 | case largeTitle
31 | case title1
32 | case title2
33 | case title3
34 | case headline
35 | case body
36 | case callout
37 | case subhead
38 | case footnote
39 | case caption1
40 | case caption2
41 |
42 | var size: CGFloat {
43 | switch self {
44 | case .largeTitle:
45 | return 34
46 | case .title1:
47 | return 28
48 | case .title2:
49 | return 22
50 | case .title3:
51 | return 20
52 | case .headline:
53 | return 18
54 | case .body:
55 | return 17
56 | case .callout:
57 | return 16
58 | case .subhead:
59 | return 15
60 | case .footnote:
61 | return 13
62 | case .caption1:
63 | return 12
64 | case .caption2:
65 | return 11
66 | }
67 | }
68 |
69 | var style: UIFont.TextStyle {
70 | switch self {
71 | case .largeTitle:
72 | return .largeTitle
73 | case .title1:
74 | return .title1
75 | case .title2:
76 | return .title2
77 | case .title3:
78 | return .title3
79 | case .headline:
80 | return .headline
81 | case .body:
82 | return .body
83 | case .callout:
84 | return .callout
85 | case .subhead:
86 | return .subheadline
87 | case .footnote:
88 | return .footnote
89 | case .caption1:
90 | return .caption1
91 | case .caption2:
92 | return .caption2
93 | }
94 | }
95 | }
96 |
97 | // kind of fontFamily
98 |
99 | public enum FontFamily: String {
100 | case regular = "Regular"
101 | case bold = "Bold"
102 | case medium = "Medium"
103 | case light = "Light"
104 | case semibold = "Semibold"
105 | case thin = "Thin"
106 | case black = "Black"
107 | }
108 |
109 | @available(iOS 13.0, *)
110 | public extension UIFont {
111 | // check apply font correctly
112 |
113 | class func checkFamilyFontName() {
114 | for f in familyNames {
115 | print("\(f)")
116 | for n in fontNames(forFamilyName: f) {
117 | print("==\(n)")
118 | }
119 | }
120 | }
121 |
122 | // e.g.
123 | // lable.font = .withFontName(
124 | // name: "fontFileName",
125 | // `dynamic`: dynamicFontSize(Int))
126 |
127 | // Make sure the font file is included in the project
128 | // and the font name is spelled correctly
129 |
130 | class func withFontName(name: String, dynamic: DynamicFont) -> UIFont {
131 | guard let font = UIFont(
132 | name: name,
133 | size: dynamic.size
134 | ) else {
135 | fatalError(
136 | """
137 | Failed to load the "\(name)" font.
138 | Make sure the font file is included in the project and the font name is spelled correctly.
139 | """
140 | )
141 | }
142 |
143 | return UIFontMetrics(forTextStyle: dynamic.style)
144 | .scaledFont(for: font)
145 | }
146 |
147 | // e.g.
148 | // lable.font = .withFontfFamilyName(
149 | // name: "fontFileName",
150 | // type: customType,
151 | // `dynamic`: dynamicFontSize(Int))
152 |
153 | // Make sure the font file is included in the project
154 | // and the font name is spelled correctly
155 |
156 | class func withFontFamilyName(name: String, type: FontFamily, dynamic: DynamicFont) -> UIFont {
157 | let fontName: String = "\(name)-\(type.rawValue)"
158 |
159 | guard let font = UIFont(
160 | name: fontName,
161 | size: dynamic.size
162 | ) else {
163 | fatalError(
164 | """
165 | Failed to load the "\(name)" font.
166 | Make sure the font file is included in the project and the font name is spelled correctly.
167 | """
168 | )
169 | }
170 |
171 | return UIFontMetrics(forTextStyle: dynamic.style)
172 | .scaledFont(for: font)
173 | }
174 | }
175 |
176 | @available(iOS 13.0, *)
177 | public extension NSMutableAttributedString {
178 |
179 | // e.g.
180 | // stackLabel.textColor = .black
181 | // stackLabel.attributedText = NSMutableAttributedString()
182 | // .text("Noto", fontName: "NotoSansKR", type: .black, dynamic: .title1)
183 | // .text("Sans", fontName: "NotoSansKR", type: .thin, dynamic: .body)
184 |
185 | // Make sure the font file is included in the project
186 | // and the font name is spelled correctly
187 |
188 | func text(
189 | _ string: String,
190 | fontName: String,
191 | type: FontFamily,
192 | dynamic: DynamicFont
193 | ) -> NSMutableAttributedString {
194 | let font = UIFont.withFontFamilyName(
195 | name: fontName,
196 | type: type,
197 | dynamic: dynamic
198 | )
199 |
200 | let attributes: [NSAttributedString.Key: Any] = [.font: font]
201 |
202 | self.append(NSAttributedString(
203 | string: string,
204 | attributes: attributes
205 | ))
206 |
207 | return self
208 | }
209 |
210 |
211 | // e.g.
212 | // stackLabel.textColor = .black
213 | // stackLabel.attributedText = NSMutableAttributedString()
214 | // .colorText("K", fontName: "NotoSansKR", type: .bold, dynamic: .largeTitle, color: .systemBlue)
215 | // .colorText("R", fontName: "NotoSansKR", type: .regular, dynamic: .largeTitle, color: .systemRed)
216 |
217 | // Make sure the font file is included in the project
218 | // and the font name is spelled correctly
219 |
220 | func colorText(
221 | _ string: String,
222 | fontName: String,
223 | type: FontFamily,
224 | dynamic: DynamicFont,
225 | color: UIColor
226 | ) -> NSMutableAttributedString {
227 | let font = UIFont.withFontFamilyName(
228 | name: fontName,
229 | type: type,
230 | dynamic: dynamic
231 | )
232 |
233 | let attributes: [NSAttributedString.Key: Any] = [
234 | .font: font,
235 | .foregroundColor: color
236 | ]
237 |
238 | self.append(NSAttributedString(
239 | string: string,
240 | attributes: attributes
241 | ))
242 |
243 | return self
244 | }
245 | }
246 |
--------------------------------------------------------------------------------
/StackyText.podspec:
--------------------------------------------------------------------------------
1 | #
2 | # Be sure to run `pod lib lint StackyText.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 = 'StackyText'
11 | s.version = '0.1.6'
12 | s.summary = 'StackyText supports textBlock like LEGO'
13 | s.homepage = 'https://github.com/yim2627/StackyText'
14 | s.license = { :type => 'MIT', :file => 'LICENSE' }
15 | s.author = { 'Jiseong' => 'yim2627@gmail.com' }
16 | s.source = { :git => 'https://github.com/yim2627/StackyText.git', :tag => s.version.to_s }
17 | s.source_files = 'Sources/StackyText/Classes/**/*'
18 | s.frameworks = 'UIKit'
19 | s.ios.deployment_target = '13.0'
20 | s.swift_versions = '5.0'
21 | end
22 |
--------------------------------------------------------------------------------
/Tests/StackyTextTests/StackyTextTests.swift:
--------------------------------------------------------------------------------
1 | import XCTest
2 | @testable import StackyText
3 |
4 | final class StackyTextTests: XCTestCase {
5 | func testExample() throws {
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(StackyText.text, "Hello, World!")
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/_Pods.xcodeproj:
--------------------------------------------------------------------------------
1 | Example/Pods/Pods.xcodeproj
--------------------------------------------------------------------------------