Skip to content

Commit c5e0b7b

Browse files
committed
Refinements from usability testing
1 parent e06849d commit c5e0b7b

File tree

8 files changed

+78
-80
lines changed

8 files changed

+78
-80
lines changed

.github/CODEOWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/Sources/ @hkellaway
2+
/Demo/ @hkellaway

CHANGELOG.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,22 @@
22
All notable changes to this project will be documented in this file.
33
This project adheres to [Semantic Versioning](http://semver.org/).
44

5-
- `0.1.x` Releases - [0.1.0-beta](#010-beta)
5+
- `0.1.x` Releases - [0.1.0](#010)
66

77
---
8-
## [0.1.0-beta](https://github.com/hkellaway/LibraryTemplate/releases/tag/0.1.0-beta)
9-
Released on 2021-10-22.
8+
## [0.1.0](https://github.com/hkellaway/LibraryTemplate/releases/tag/0.1.0)
9+
Released on 2021-10-26.
1010

1111
#### Added
1212
- Library template Xcode project
1313
- Demo Xcode project
14-
- CI workflow
14+
- CI workflow
15+
16+
#### Fixed
17+
- N/A
18+
19+
#### Updated
20+
- N/A
21+
22+
#### Removed
23+
- N/A

IDETemplateMacros.plist

Lines changed: 0 additions & 33 deletions
This file was deleted.

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2021 TODO
3+
Copyright (c) 2021 [Repo Owner]
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

LibraryTemplate.podspec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
Pod::Spec.new do |s|
22

33
s.name = "LibraryTemplate"
4-
s.version = "0.1.0-beta"
4+
s.version = "0.1.0"
55
s.summary = "Template for creating a new iOS library"
66
s.description = "Template for creating a new iOS library."
77
s.homepage = "TODO"
8-
s.license = { :type => "MIT", :file => "LICENSE" }
98
s.author = { "TODO" => "TODO" }
9+
s.license = { :type => "MIT", :file => "LICENSE" }
1010
s.source = { :git => "https://github.com/hkellaway/ios-library-template.git", :tag => s.version.to_s }
1111

12-
s.platforms = { :ios => "8.0", :osx => "10.9", :tvos => "9.0", :watchos => "2.0" }
12+
s.platforms = { :ios => "8.0" }
1313
s.requires_arc = true
1414

1515
s.source_files = 'Sources/LibraryTemplate/*.{swift}'

LibraryTemplate.xcodeproj/project.pbxproj

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@
273273
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
274274
GCC_WARN_UNUSED_FUNCTION = YES;
275275
GCC_WARN_UNUSED_VARIABLE = YES;
276-
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
276+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
277277
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
278278
MTL_FAST_MATH = YES;
279279
ONLY_ACTIVE_ARCH = YES;
@@ -331,7 +331,7 @@
331331
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
332332
GCC_WARN_UNUSED_FUNCTION = YES;
333333
GCC_WARN_UNUSED_VARIABLE = YES;
334-
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
334+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
335335
MTL_ENABLE_DEBUG_INFO = NO;
336336
MTL_FAST_MATH = YES;
337337
SDKROOT = iphoneos;
@@ -357,7 +357,6 @@
357357
GENERATE_INFOPLIST_FILE = YES;
358358
INFOPLIST_KEY_NSHumanReadableCopyright = "";
359359
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
360-
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
361360
LD_RUNPATH_SEARCH_PATHS = (
362361
"$(inherited)",
363362
"@executable_path/Frameworks",
@@ -389,7 +388,6 @@
389388
GENERATE_INFOPLIST_FILE = YES;
390389
INFOPLIST_KEY_NSHumanReadableCopyright = "";
391390
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
392-
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
393391
LD_RUNPATH_SEARCH_PATHS = (
394392
"$(inherited)",
395393
"@executable_path/Frameworks",

ORIGINAL_SETUP.md

Lines changed: 0 additions & 19 deletions
This file was deleted.

README.md

Lines changed: 57 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
Template for creating a new iOS library.
44

5-
[![Swift](https://img.shields.io/badge/Swift-5.3-orange.svg)](https://swift.org/about/)
6-
[![SPM](https://img.shields.io/badge/SPM-compatible-brightgreen.svg)](https://swift.org/package-manager/)
5+
[![Swift](https://img.shields.io/badge/Swift-5.5-orange.svg)](https://swift.org/about/)
6+
[![Swift Package Manager supported](https://img.shields.io/badge/SPM-supported-green.svg)](https://swift.org/package-manager/)
7+
[![CocoaPods supported](https://img.shields.io/badge/pod-supported-green.svg)](https://cocoapods.org/about)
78
[![License](https://img.shields.io/badge/License-MIT-lightgray.svg)](https://raw.githubusercontent.com/hkellaway/ios-library-template/main/LICENSE)
89
[![Build](https://github.com/hkellaway/ios-library-template/actions/workflows/build.yml/badge.svg)](https://github.com/hkellaway/ios-library-template/actions/workflows/build.yml)
910

@@ -12,26 +13,66 @@ Template for creating a new iOS library.
1213
### Create a New Library From Template
1314

1415
* 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
1617
* 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:
2323
* 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`
45+
* Remove instructions
46+
* Customize *Usage*, *Installation*, *Credits*, *License*
47+
* Fill out CHANGELOG
48+
* Update GitHub repo details
49+
* Ensure CI is green :white_check_mark:
50+
51+
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
2970

3071
## Installation
3172

3273
### Swift Package Manager
3374

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.
3576

3677
### CocoaPods
3778

@@ -49,4 +90,4 @@ LibraryTemplate was created by [Harlan Kellaway](http://github.com/hkellaway).
4990

5091
## License
5192

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

Comments
 (0)