In order to develop a complex Raspberry Pi project. The best way to go is getting XCode handshaking with Rasberry Pi. That is amazing for guys who use a MAC. We're able take advantage of XCode, make development more productivity, convenient and more fun.
Category: Swift
Set up Swift environment on Raspberry Pi (part 2/2)
Hello guys, In this post, I will talk through on installing Swift environment for programming on Raspberry Pi. The Swift version will be set up is Swift 4.1.1. Do you feel excited? Read the full story here.
Set up Swift environment on Raspberry Pi (part 1/2)
Do you think about writing a program in Swift on Raspberry. Why not? Let's make it fun. I have spent the weekend to try out. My target was set up the environment for Swift programming on my Raspberry Pi 3B+.
Compile and run Apple’s SwiftNIO
Last month, I wrote a post about How to setup SwiftNIO for iOS and tvOS. Basically, I manually create all the targets in a new project, set up everything from scratch. It takes time and I wonder there is a better way? I go back to the start point, try to compile the original Swift-NIO project, finally I see how it works.
Setup Swift-NIO for iOS, tvOS
I look over Swift NIO, and I see it kind of potential. Written on the top of POSIX socket. Simple, lightweight. Some parts of its core are written in C or reuse C library. It even reuses the NGNIX's HTTP parser in its core. I have found out that this parser is used widely in some well-known software and open sources. Some instances are NodeJs's parser, IBM-Swift's Kitura-net,...
Keep the watch app away from Release Build
WatchOS app is an extension, it doesn't stand alone. It basically needs a host app. The WatchOS project usually is a sub-project which eventually its product will be attached to the main app. But XCode doesn’t give us an option to keep the extension out for Release Build. I’m going to write a tutorial to handle this situation.
Swift’s guard keyword. Why do We use it?
In Swift, both "if" and "guard" keywords can handle unwrapping optional type. "if" keyword is enough to handle, why is "guard" available?