├── LICENSE
└── README.md
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Mattr
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 all
13 | 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 THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # iOS Tweak Development for Windows :iphone::memo::four::computer:
2 | A simple guide on how to setup and configure your windows environment for developing Cydia tweaks.
3 |
4 | ---
5 |
6 | ## Get Cygwin
7 |
8 | 32-bit version: https://cygwin.com/setup-x86.exe
9 | 64-bit version: https://cygwin.com/setup-x86_64.exe
10 |
11 |
12 | ## Installing Initial Cygwin Package
13 | **Select Packages** and search for **lynx** and under **Web** will be *"lynx: A text-based Web Browser"*
14 |
15 | Click on **lynx** once, and click **next**, let it download and install.
16 |
17 | *Create icon on Desktop* as we will need to run **Cygwin as Administrator**.
18 |
19 |
20 | ## Installing Additional Cygwin Packages
21 | After installing *lynx*, we can now install other packages much easier.
22 |
23 |
24 | ### Install apt-cyg
25 |
26 | **Open Cygwin Terminal as Administrator**
27 |
28 | Put the following code into Cygwin.
29 |
30 | lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
31 | install apt-cyg /bin
32 |
33 | Check out apt-cyg on [Github](https://github.com/transcode-open/apt-cyg)
34 |
35 |
36 | ### Installing Development Tools
37 | Just copy and paste this whole block of text into **Cygwin** and let it download and install all of the Development-related tools.
38 |
39 | apt-cyg install ca-certificates
40 | apt-cyg install git
41 | apt-cyg install make
42 | apt-cyg install openssh
43 | apt-cyg install perl
44 | apt-cyg install python
45 | apt-cyg install wget
46 | apt-cyg install unzip
47 |
48 |
49 | ## Setting up $THEOS Directory
50 | The default theos directory used throughout the rest of this guide
51 |
52 | export THEOS=/opt/theos
53 |
54 | ## Installing Theos
55 |
56 | git clone --recursive https://github.com/theos/theos.git $THEOS/
57 |
58 |
59 | ## Installing iOSToolchain4Win
60 |
61 | mkdir -p $THEOS/toolchain/windows
62 |
63 | ### 32-Bit System
64 | Only supports up to **iOS 8.4 SDK** with armv7 *(no support for arm64)*.
65 |
66 | git clone -b master https://github.com/coolstar/iOSToolchain4Win.git $THEOS/toolchain/windows/iphone
67 |
68 | ### 64-Bit System
69 | Supports up to **iOS 9.3 SDK** with armv7 and arm64. *(possibly iOS 10 SDK)*
70 |
71 | git clone -b x86_64 https://github.com/coolstar/iOSToolchain4Win.git $THEOS/toolchain/windows/iphone
72 |
73 |
74 | ## Obtaining SDKs
75 | Grab the necessary SDKs you need for development and download them.
76 |
77 | ### Creating SDK directory
78 |
79 | mkdir $THEOS/sdks
80 | cd $THEOS/sdks
81 |
82 | ### Installing SDK
83 | *Replace* **X.X** *with the* **iOS version** *you wish to download*
84 |
85 | ~~wget https://sdks.website/dl/iPhoneOSX.X.sdk.tbz2~~
86 |
87 | wget http://resources.airnativeextensions.com/ios/iPhoneOSX.X.sdk.zip
88 |
89 | Check out ~~[sdks.website](https://sdks.website)~~ [airnativeextensions.com](http://resources.airnativeextensions.com/ios/) for available SDKs.
90 |
91 | ### Extracting SDK
92 | *Replace* **X.X** *with the* **iOS version** *you wish to extract*
93 |
94 | ~~tar xvf iPhoneOSX.X.sdk.zip~~
95 |
96 | unzip iPhoneOSX.X.sdk.zip
97 |
98 |
99 | ## Installing Headers
100 | Download Headers used to hook into iOS.
101 |
102 | git clone https://github.com/theos/headers.git $THEOS/temp
103 | mv $THEOS/temp/.git $THEOS/include/.git
104 | rm -rf $THEOS/temp
105 |
106 | git clone https://github.com/coolstar/iOS-9.3-SpringBoard-Headers.git $THEOS/temp
107 | mv $THEOS/temp/.git $THEOS/include/.git
108 | rm -rf $THEOS/temp
109 |
110 | `/temp` is used to circumvent "non-empty directory" error.
111 |
112 |
113 | ## Remotely Connect to your iDevice
114 | These commands put the export lines into your .bash_profile (Default: `C:\cygwin\home\%user%\.bash_profile`).
115 |
116 | echo 'export THEOS=/opt/theos' >> ~/.bash_profile
117 | echo 'export THEOS_DEVICE_IP=XXX.XXX.XXX.XXX THEOS_DEVICE_PORT=22' >> ~/.bash_profile
118 |
119 | Replace **XXX.XXX.XXX.XXX** with your **Device's IP**
120 |
121 |
122 | ## Projects Directory
123 |
124 | mkdir /opt/projects
125 | cd /opt/projects
126 |
127 |
128 | ## New Instance Creator
129 | Templates for creating projects (such as tweaks)
130 |
131 | $THEOS/bin/nic.pl
132 |
133 | Select **iphone/tweak**, **11.** if you have used this guide.
134 |
135 | ## Begin Coding :page_facing_up:
136 | I personally use:
137 | * [Visual Studio Code](https://www.visualstudio.com/products/code-vs)
138 | * [Visual Studio Enterprise](https://www.visualstudio.com/products/visual-studio-enterprise-vs) or
139 | * [Atom](https://atom.io/)
140 |
141 | ---
142 |
143 | :books:
144 | https://coolstar.org/theos.pdf
145 | https://cygwin.com/
146 | https://github.com/coolstar/iOSToolchain4Win/
147 | https://github.com/theos/theos/
148 | https://github.com/theos/theos/wiki/Installation
149 | https://github.com/transcode-open/apt-cyg/
150 | https://iphonedevwiki.net/index.php/Theos/Setup
151 | https://sdks.website/
152 | https://sharedinstance.net/2013/12/build-on-windows/
153 |
154 | ---
155 |
156 | :money_with_wings:
157 | [Donate via PayPal](https://paypal.me/matthewtrigg/5aud)
158 |
159 |
--------------------------------------------------------------------------------