Skip to content

Commit c28c89e

Browse files
authored
Add "Legacy templates" section to NIC documentation (#73)
1 parent 7c13fcc commit c28c89e

File tree

1 file changed

+39
-34
lines changed

1 file changed

+39
-34
lines changed

docs/NIC.md

+39-34
Original file line numberDiff line numberDiff line change
@@ -14,31 +14,23 @@ Most commonly, NIC is used interactively like so:
1414
~$ $THEOS/bin/nic.pl
1515
NIC 2.0 - New Instance Creator
1616
------------------------------
17-
[1.] iphone/activator_event
18-
[2.] iphone/activator_listener
19-
[3.] iphone/application
20-
[4.] iphone/application_swift
21-
[5.] iphone/application_swiftui
22-
[6.] iphone/control_center_module-11up
23-
[7.] iphone/cydget
24-
[8.] iphone/flipswitch_switch
25-
[9.] iphone/framework
26-
[10.] iphone/library
27-
[11.] iphone/notification_center_widget
28-
[12.] iphone/notification_center_widget-7up
29-
[13.] iphone/null
30-
[14.] iphone/preference_bundle
31-
[15.] iphone/preference_bundle_swift
32-
[16.] iphone/safari_extension
33-
[17.] iphone/theme
34-
[18.] iphone/tool
35-
[19.] iphone/tool_swift
36-
[20.] iphone/tweak
37-
[21.] iphone/tweak_swift
38-
[22.] iphone/tweak_with_simple_preferences
39-
[23.] iphone/xpc_service
40-
[24.] iphone/xpc_service_modern
41-
Choose a Template (required): 20
17+
[1.] iphone/application_modern
18+
[2.] iphone/application_swift_modern
19+
[3.] iphone/application_swiftui
20+
[4.] iphone/control_center_module-11up
21+
[5.] iphone/framework
22+
[6.] iphone/library
23+
[7.] iphone/null
24+
[8.] iphone/preference_bundle
25+
[9.] iphone/preference_bundle_swift
26+
[10.] iphone/theme
27+
[11.] iphone/tool
28+
[12.] iphone/tool_swift
29+
[13.] iphone/tweak
30+
[14.] iphone/tweak_swift
31+
[15.] iphone/tweak_with_simple_preferences
32+
[16.] iphone/xpc_service_modern
33+
Choose a Template (required): 13
4234
Project Name (required): Example
4335
Package Name [com.yourcompany.example]: dev.theos.example
4436
Author/Maintainer Name [Craig Federighi]: Craig Federighi <[email protected]>
@@ -66,18 +58,12 @@ The following command line arguments are supported. Note that providing argument
6658
* **`-u` `--user`** *string*. The author value to use.
6759

6860
## Included templates
69-
* **activator_event**: an [event](https://theapplewiki.com/wiki/Dev:Libactivator#Sending_Events_.28via_LAEvent.29) for Activator.
70-
* **activator_listener**: a [listener](https://theapplewiki.com/wiki/Dev:Libactivator#Observing_Events_.28via_LAListener.29) for Activator.
71-
* **application**: a standard iOS app (for unsandboxed jailbreak use).
72-
* **application_swift**: a standard, Swift-based iOS app (for unsandboxed jailbreak use).
61+
* **application_modern**: a standard iOS app (for unsandboxed jailbreak use).
62+
* **application_swift_modern**: a standard, Swift-based iOS app (for unsandboxed jailbreak use).
7363
* **application_swiftui**: a standard, SwiftUI-based iOS app (for unsandboxed jailbreak use).
7464
* **control_center_module-11up**: a custom control center module for iOS 11+ deployed via [CCSupport](https://github.com/opa334/CCSupport/wiki).
75-
* **cydget**: a [Cydget](https://cydia.saurik.com/info/cydget/) lock screen plugin.
76-
* **flipswitch_switch**: a switch for [Flipswitch](https://github.com/A3Tweaks/Flipswitch).
7765
* **framework**: a framework to be used by other developers.
7866
* **library**: a linkable library (e.g. /usr/lib/libblah.dylib).
79-
* **notification_center_widget**: an iOS 5 – 6 Notification Center Today widget.
80-
* **notification_center_widget-7up**: an iOS 7 – 9 Notification Center Today widget.
8167
* **null**: a blank project with no code. Facilitates creation of a custom stage for non-code-based packages.
8268
* **preference_bundle**: a [PreferenceLoader](https://theapplewiki.com/wiki/Dev:PreferenceLoader) preference bundle subproject.
8369
* **preference_bundle_swift**: a Swift-based [PreferenceLoader](https://theapplewiki.com/wiki/Dev:PreferenceLoader) preference bundle subproject.
@@ -87,11 +73,30 @@ The following command line arguments are supported. Note that providing argument
8773
* **tweak**: a Cydia Substrate-based Objective-C tweak.
8874
* **tweak_swift**: an Orion-based Swift tweak.
8975
* **tweak_with_simple_preferences**: a Cydia Substrate-based tweak with a basic preference bundle.
90-
* **xpc_service**: a C-based [XPC](https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingXPCServices.html) service.
9176
* **xpc_service_modern**: an Objective-C-based [XPC](https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingXPCServices.html) service.
9277

9378
This is just the list of templates Theos comes with. Far more is possible with Theos than you can find in the list above, and these templates serve only as starting points to develop a working product without having to deal with various bits of boilerplate.
9479

80+
## Legacy templates
81+
Theos additionally provides templates for projects which target legacy operating systems and configurations.
82+
These templates are not installed by default. You can install these legacy templates as a module using the following command:
83+
84+
```bash
85+
git clone 'https://github.com/theos/templates-legacy.git' "${THEOS}/mod/templates-legacy"
86+
```
87+
88+
The templates included in this legacy templates module:
89+
90+
* **activator_event**: an [event](https://theapplewiki.com/wiki/Dev:Libactivator#Sending_Events_.28via_LAEvent.29) for Activator.
91+
* **activator_listener**: a [listener](https://theapplewiki.com/wiki/Dev:Libactivator#Observing_Events_.28via_LAListener.29) for Activator.
92+
* **application**: a standard iOS app (for unsandboxed jailbreak use).
93+
* **application_swift**: a standard, Swift-based iOS app (for unsandboxed jailbreak use).
94+
* **cydget**: a [Cydget](https://cydia.saurik.com/info/cydget/) lock screen plugin.
95+
* **flipswitch_switch**: a switch for [Flipswitch](https://github.com/A3Tweaks/Flipswitch).
96+
* **notification_center_widget**: an iOS 5 – 6 Notification Center Today widget.
97+
* **notification_center_widget-7up**: an iOS 7 – 9 Notification Center Today widget.
98+
* **xpc_service**: a C-based [XPC](https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingXPCServices.html) service.
99+
95100
## .nicrc
96101
NIC reads configuration data from `~/.nicrc`. This file uses a simple key-value format, `key = "value"`. Values must be enclosed in quotes, even if it is a number.
97102

0 commit comments

Comments
 (0)