What's the state of developing iOS apps in Linux?
There's a misunderstanding here.
Swift the programming language is open source.
It doesn't mean that iOS or OS X frameworks, like Cocoa, UIKit, etc, are available in Linux - Apple didn't announce that.
When you make an app for iOS using Swift, you have to import UIKit and other libraries - those are the iOS parts.
Swift is just the language - you can already make an iOS app with Ruby, Objective-C, JavaScript, etc, using these same libraries.
What type of apps can we create within Linux using Swift (Open Source)
Swift is a programming language, not to be confused with a software library, such as UIKit, or an Integrated Development Environment (IDE), such as Xcode or Microsoft Visual Studio.
To put it succinctly, I think in the near future we can only expect to write in Swift the kind of applications we are able to write in C and C++ on Linux. The downside of Swift: it's tricky to integrate with C and C++ code. See, e.g., http://www.swiftprogrammer.info/swift_call_cpp.html and http://www.swiftprogrammer.info/callback_void.html. The advantage: it's simpler to use than C and C++.
Now that Swift is open sourced, can I write and compile iOS apps on a computer that isn't a Mac?
There's a huge difference between the Swift language being available on other platforms such as Linux and being able to create OS X or iOS apps. OS X and iOS require many specific frameworks that will never be part of the basic open sourced language.
The open source Swift will let you write general programs in the Swift language.
The creation of iOS and OS X apps still requires a much larger infrastructure and toolset only available on a Mac.
tl;dr; - No. You still need a Mac to write iOS and OS X apps with Swift.
Build an iOS app without owning a mac?
Let me tell you step by step few years back I was in same situation.
So We have two Phases
- iPhone/iPad (iOS) app development
- iPhone/iPad (iOS) app development and Publish to iTunes Store
1. iPhone/iPad (iOS) app development
So If you just want to develop iOS apps you don't want to pay anything,
You just need Mac + XCode IDE
- Get Mac Mini or Mac Machine
- Create Developer Account on Apple its free
- After login developer account you can download Xcode IDE's .dmg file
- That's all.
Now you just install Xcode and start developing iOS apps and test/debug with Simulator..
2. iPhone/iPad (iOS) app development and Publish to iTunes Store
for publishing your app on iTunes store you need to pay (example $99 / year) .
So For complete iOS Development Setup you need
- Get Mac Mini or Mac Machine
- Create Developer Account on Apple its free
- After login developer account you can download Xcode IDE's .dmg file
- pay $99 for publish apps on iTunes
- create your certificates for development/distribution on your apple account
- download all certificate on mac machine and install into XCode using Keychain tool
- Get at least one iOS Device
- Register you device on your apple account
- Now you can develop iOS app, test on Real Device and also publish on iTunes Store
Can I port a cocoa app made in swift to Windows and Linux?
Apple has said that Swift will be open sourced "later this year" and ported to Linux, but they haven't said any such thing about Windows.
Related Topics
Error in Xcode 6 - View Controller Does Not Have an Outlet Named (Subview)
Flutter on iOS: Fatal Error: Module 'Cloud_Firestore' Not Found
How Reliable Is Kvo with Uikit
How to Use Unsafemutablepointer in Swift 3
How to Set an Nscalendarunitminute Repeatinterval on iOS 10 Usernotifications
iOS Swift: How to Change the Font Style of a Certain Word in a String
App Updates, Nsurl, and Documents Directory
Location Access - App Is Not Asking for User Permission to Access Location - iOS 11
Tracking Mkmapview Centercoordinate While Panning
Receive Accelerometer Updates in Background Using Coremotion Framework
How to Make Offline Database for My App
Multiline Uibutton and Autolayout
Exit Application When Click Button - iOS
Swift Optional Chaining Doesn't Work in Closure