You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -12,26 +13,66 @@ Template for creating a new iOS library.
12
13
### Create a New Library From Template
13
14
14
15
* Create a new repo from this template library
15
-
*Update the LICENSE file with your name or project's name
16
+
*Customize GitHub repo settings
16
17
* Rename the Xcode project using ([stackoverflow/60984691/3777116](https://stackoverflow.com/a/60984691/3777116))
17
-
* Update references to LibraryTemplate
18
-
* Re-configure CI
19
-
* Update Swift Package Manager and CocoaPods specs
20
-
* Update Demo project Swift Package source
21
-
* Update README and CHANGELOG
22
-
* In Xcode settings, set:
18
+
* Rename folders under the *Sources/* directory
19
+
* Re-configure Xcode project with new filepaths
20
+
* Confirm project is compiling and tests are green :white_check_mark:
21
+
* Compilation error gotchas: Ensure *Tests* files are in the *Test* target; ensure *.h* file is *Public* under *Build Phases > Headers*
22
+
* Update Xcode settings, updating:
23
23
* iOS minimum
24
-
* In specs, set:
25
-
* Cocoapods podspec details, including iOS min
26
-
* Swift Package Manager spec iOS version `ios=` TODO
27
-
* Customize the file header by modifying LibraryTemplate.xcodeproj/xcshareddata/IDETemplateMacros.plist (e.g. add ___FULLUSERNAME___ to include name in headers)
28
-
* Fill out README and CHANGELOG
24
+
* Bundle identifier
25
+
* Rename CocoaPods *.podpsec* file
26
+
* Update references to `LibraryTemplate` in the following configs:
27
+
* CI (`.github/workflows/build.yml`)
28
+
* Swift Package Manager manifest (*Package.swift* file)
29
+
* CocoaPods podspec
30
+
* Review spec details closely and replace all details, including but not limited to:
31
+
* iOS minimum
32
+
* Git source
33
+
* Update Demo project
34
+
* Rename Xcode project
35
+
* Update Swift package source
36
+
* Update Podfile
37
+
* Test that SPM integration and CocoaPods integration work
38
+
* Update documentation
39
+
* Set CODEOWNERS (*.github/CODEOWNERS*)
40
+
* Customize the file header by modifying *X.xcodeproj/xcshareddata/IDETemplateMacros.plist* (e.g. add `___FULLUSERNAME___` to include name in headers)
41
+
* Update the LICENSE file with your name and the current year
42
+
* Fill out README
43
+
* Update title, description, and badge links
44
+
* To determine Swift version, run `/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift --version`
Now you're all set to develop your library, tests and demo project!
52
+
53
+
### How This Repo Was Originally Created
54
+
55
+
In case you'd rather create your setup from scratch:
56
+
57
+
* Create new Xcode project `LibraryTemplate` (using Xcode 13.0 at time of writing)
58
+
* Select *Framework for project type
59
+
* Select *Swift* for language
60
+
* Check *Include Tests* and de-select **Include Docs**
61
+
* Update library Xcode settings
62
+
* Select iOS Minimum (set to 14.0 at time of writing)
63
+
* Remove Team
64
+
* Move Xcode files to root of repo and re-add files back to Xcode
65
+
* Create custom file header under *X.xcodeproj/xcshareddata/IDETemplateMacros.plist*
66
+
* Create Swift Package Manager manifest
67
+
* Create CocoaPods podspec
68
+
* Create Demo project and validate both specs integrate
69
+
* Setup CI
29
70
30
71
## Installation
31
72
32
73
### Swift Package Manager
33
74
34
-
Point to the [latest release](https://github.com/hkellaway/LibraryTemplate/releases) or to the `main` branch for the latest.
75
+
Point to the [most recent release](https://github.com/hkellaway/ios-library-template/releases) or to the `main` branch for the very latest.
35
76
36
77
### CocoaPods
37
78
@@ -49,4 +90,4 @@ LibraryTemplate was created by [Harlan Kellaway](http://github.com/hkellaway).
49
90
50
91
## License
51
92
52
-
LibraryTemplate is available under the MIT license. See the [LICENSE](https://raw.githubusercontent.com/hkellaway/LibraryTemplate/main/LICENSE) file for more info.
93
+
LibraryTemplate is available under the MIT license. See the [LICENSE](https://raw.githubusercontent.com/hkellaway/ios-library-template/main/LICENSE) file for more info.
0 commit comments