Building framework with prior version of swift 1.2 - ios

I am developing a swift framework (in xcode 6 - swift 1.2) and recently updated to xcode 7
Xcode 7 introduce swift 2.0 and when trying to use my framework on apps being developed on xcode 7 i get errors on using prior version of xcode
I need to maintain the framework also for the use of developers using xcode 6
Is there a way to build a framework on xcode 7 as if it is build in xcode 6?

No, there is no way to build framework on Xcode 7 as if it was Xcode 6. Either continue your development using Xcode 6, or upgrade to 7 and release a new version of your framework that requires 7.

Related

Apple requiring all app updates to built with iOS 12 SDK by March 2019 Question

I'm currently using Xcode 9 but I have downloaded and "installed" the iOS device support files for 12.
Am I good to go for the March iOS 12 deadline?
Is satisfying the requirement as simple as submitting a new build when needed with my current setup or is more work required?
You need to migrate to Xcode 10 to get the iOS 12 SDK support files. Your app must be build with this iOS 12 sdk support. This is not the same as pulling iOS 12 device support into Xcode 9 from Xcode 10.x versions. Currently, going directly to 10.1 is the best move. Fortunately, Swift 3 and 4 are currently supported in Xcode 10.1. So if you are still on Swift 3 you will not have to also migrate your swift version.
Xcode 10.2 (currently in beta) will add support for swift 5. Migrating from Xcode 10.1 to 10.2 will require you to be on Swift 4.2 as a minimum version, with Swift 5 being recommended.
After the deadline, any app submissions will need to be built with Xcode 10 or better, or else they will be rejected.

Building frameworks for iOS 8 and above in XCode 8

I have recently updated to Xcode 8. Previously I was using Xcode 7 with Swift 2.2.
I have a framework that I built in with deployment target iOS 9.3. Now that I have moved to Xcode 8 I cannot use this framework.
Is there a way I can build a framework that will work for iOS sdks 8 and above?
I want to set the minimum deployment target of my app to iOS 8+.
Also
Alamofire for Swift 3 has been updated and I have updated my pod file.
Will I be able to run the app in iOS versions above 8?
Any help will be appreciated.
Yes it is possible to build frameworks for iOS 8 with Xcode 8. But if you try to support iOS 8 you could also use Swift 3, put If you use other frameworks like Alamofire, you have to be careful, because the latest version of Alamofire (4.x) requires a minimum iOS target version of iOS 9. So you have to use Alamofire (3.x). With Alamofire 3.5 you have to use Swift 2.3
So first you have to decide what's more important for you:
iOS 8 support: So you have to switch to Swift 2.3 and Alamofire 3.x
Swift 3 support: So you have to drop iOS 8 support, because Alamofire 4.x requires iOS 9
As you know that Xcode 8 supports only Swift 2.2 and Swift 3. Your framework is built on top of Swift 2.2. So there is no way that you can run or build the project in Xcode 8, you will get an error like "The project has an older version of Swift, Please build it with newer version of Xcode".
You can use Xcode 8 and you can set minimum deployment target to iOS 8. But you can't use any of the new Swift 3 features in there, I mean you can use it but it will not execute in iOS 8. For that you have to write code with class or API availability checking for each snippet you write.
If you use new version of Alamofire there is no chance that you can use it in iOS 8.0. You need an older version of it. Because Alamofire new version is Swift 3 and have minimum deployment target of iOS 10 I think.
So it is better to convert your project into Swift 3 or to Swift 2.3. That is the best way to solve this situation. Otherwise you will see more lot of problems eventually.

Upgrading a Swift 1.1/1.2 project from Xcode 6 to Swift 2 project on Xcode 7

I have a project that I've been working on with my friend on Swift 1.1/1.2.
Unfortunately, when I upgraded my Xcode to the latest version, I noticed that the app will no longer compile and there are lots of errors.
Is there a way for Xcode 7 to compile for Swift 1.2?
If not, how do I get the old version of Xcode which does not use Swift 2?
Is Swift 2 app backward compatible with Swift 1 apps?
Can Swift 1.2 app run on iOS 9?
Are most developers using the Swift 2 now or not?
In Xcode start with Edit->Convert->To Latest Swift Syntax...
You may still have errors that you will have to resolve manually. Read the Xcode Release Notes to see what changed in Swift 2.

Xcode 6 throws error when trying to open a project previously opened in Xcode 7 Beta

Developed an incomplete iPhone + Watch app in Xcode 7 Beta. Tested on iOS 9 + Watch 2.0. Now need to open this project in Xcode 6 to release.
Getting the following errors:
Target specifies product type 'com.apple.product-type.watchkit2-extension', but there's no such product type for the 'macosx' platform
Error: There is no SDK with the name or path '/Users/a1/Desktop/GangstaDoc/watchos'
Anybody else have this issue? Any fixes?
The Xcode 6.4 stable release version maybe don't has support to 'Watch 2.0.'. Try open its current project in Xcode 7 beta and disable use of the Watch 2, so then open again on Xcode 6.
Other option is copying the source code manually and put in its new project on Xcode 6.
Observation:
When the version of Xcode 7 will be released for public, then the feature of 'Watch 2.0' will be compatible.
Xcode 6 doesn't support building watchOS 2 apps, so you won't be able to build with Xcode 6. It also doesn't support building iOS 9 apps.
You will only be able to build this project with Xcode 7.

Titanium & Xcode 5 is it still possible to distribute an iOS 6 app?

Switched from Xcode 4.6 to Xcode 5 with titanium. Publishing new apps all go well.
No I opened an old project (Titanium SDK 3.1) and I would like to publish it to the app store for an update with the iOS 6 SDK.
How can this be done...
Thanks in advice for your answers/solution,
Erwin
You can't easily set the SDK to iOS 6, but as long as you set the deployment target to iOS 6 the app will run on iOS 6.
From the release notes of Titanium 3.1.3:
iOS 7 and Release 3.1.3 require the use of Xcode 5.0 and later. You
will still be able to compile iOS 6 apps with Xcode 5. Additionally,
Xcode 5.0 requires Mac OS X 10.8.4 or later.
Just make sure you do not use any methods or classes that are only available on iOS 7.

Resources