Kitura/iOS Hello World
Simple Hello World Kitura Application (Server Side) embedded in an iOS app (Client Side). The app demonstrates starting and stopping Kitura server, and presents Kitura log on the screen.
Prerequisites
- Enable Server-Side Swift with Kitura - see http://www.kitura.io/en/starter/settingup.html
- Install Xcode Command Line Tools by running
xcode-select --install
command in the terminal - Run
make Builder/Makefile
- it will fetch theBuilder
submodule (and also theServerSide
submodule) - Create an iOS static library for
curl
package. Download curl zipped source from https://curl.haxx.se/download/, unzip it and runBuilder/Scripts/buildCurlStaticLibrary.sh <path to the unzipped curl source directory>
. For example, if you unzip curl in the current directory, incurl-7.43.0
directory, runBuilder/Scripts/buildCurlStaticLibrary.sh curl-7.43.0
.
We tested working with curl 7.43.0 version.
Build the project in Xcode
- Type
make openXcode
in the terminal, an Xcode instance with a workspace will be opened. The workspace will contain both the client-side and the server-side parts as projects. You should rerunmake openXcode
any time you change the structure ofServerSide
- add a file or add a dependency. - In the opened Xcode workspace, you can edit the code, both the client-side and server-side parts, debug and run the client-side iOS app (
ClientSide
) with the server side embedded in it.
You will see the URL of your Kitura/iOS server in the start screen of the app. Start the server by flipping the switch "STOPPED" on. Use another device (any OS) on the same Wi-Fi network. Point a browser in the other device to the displayed URL, you should get "Hello World!" message with a timestamp as a response. Alternatively, use the QR code displayed beside the URL of the server.
Publications
See https://developer.ibm.com/swift/2017/03/13/kitura-ios/
Quick Instructions
(macOS Sierra 10.12.4 and Xcode 8.3.2)
- Setup (run in a terminal)
xcode-select --install
sudo gem install xcodeproj
git clone https://github.com/IBM-Swift/Kitura-HelloWorld-iOS.git
cd Kitura-HelloWorld-iOS
make Builder/Makefile
curl -O https://curl.haxx.se/download/curl-7.43.0.tar.bz2
bzip2 -d curl-7.43.0.tar.bz2; tar xopf curl-7.43.0.tar; rm -r curl-7.43.0.tar
bash ./Builder/Scripts/buildCurlStaticLibrary.sh curl-7.43.0
For 64Bit (example, iPhone 5s or newer, iPad Air or newer, iPad Mini 2 or newer, iPad Pro or newer)
make openXcode
For 32Bit (example, iPhone 5, 5c, iPad 4)
make openXcode32
- Open
EndToEnd.xcworkspace
- Change scheme to "ClientSide"
- Load on iPhone or iPhone simulator
- On the running app, turn on the toggle switch above the QR code
- On another device, connect to the listed URL
Update - Quick Instructions
git pull
to get the latest version of Kitura- Remove the
Builder
directory - run
make openXcode
ormake openXcode32