Celedev Blog Archive

Old posts that were originally published on celedev.com

Celedev CodeFlow has now been renamed Bounces.

Some posts in this section may be outdated or not relevant anymore.
Please refer to the Home page and the Documentation section for current information about Bounces.

CodeFlow 1.0.1 and WWDC 2016


The just-released CodeFlow 1.0.1 brings support for the new iOS 10, tvOS 10 and macOS 10.12 announced at WWDC 2016 this week.

[Edited Jun 23, 2016: Added quick-start video and notes explaining how to use SDK bindings libraries.]

CodeFlow 1.0.1 Now you can live-code iOS 10, tvOS 10 and macOS 10.12 in Lua

Less than one week after we released CodeFlow 1.0, a new version 1.0.1 has already landed in our download page. And it is much more than a bug-fix release. Since the WWDC keynote this Monday, we have worked non-stop to bring support in CodeFlow for Xcode 8.0 and for the new Apple's OS SDKs, so you can start live-coding and experimenting right away in Lua with the new iOS, tvOS and macOS.

Actually, things went rather well. Without diving too deeply into technical details, the good surprise was that this year's language additions brought to improve the Swiftness of the SDKs (e.g. Objective-C class-properties), were already available in the latest open-source version of the Clang compiler . So I didn't have to add them in Clang by myself, and I could quickly jump to the generation of CodeFlow Bindings Libraries for iOS 10, tvOS 10 and macOS 10.12.

And here it is. CodeFlow 1.0.1 comes with an upgraded Project Bindings Generator, compatible with Xcode 8 projects. SDK Bindings Libraries for iOS 10, tvOS 10 and macOS 10.12 are available as a separate download, because not all CodeFlow users will be interested by these.

Configuring the target SDK in a CodeFlow project

CodeFlow SDK Bindings Libraries provide interfaces between your project and a specific platform / OS SDK version. Actually selecting a given SDK Bindings Library in your project is the way you configure the project for this SDK in CodeFlow. Configuration includes automatically adding the corresponding libraries to the build phases of your app, but it also creates an association between the CodeFlow project and the appropriate Xcode version for the selected SDK.

For example, a CodeFlow project using the iOS 9.3 SDK Bindings library will open the associated Xcode project in Xcode 7.3(.1) and it will also use this Xcode version as the external resource editor for storyboards or nibs. If you select the iOS 10 SDK Bindings library in this project, it will use Xcode 8 instead (because the iOS 10 SDK is supported by Xcode 8, not by Xcode 7.3).

On the practical side, installing and using an additional SDK Bindings Library is very simple:

  1. Download the SDK Bindings Libraries for Xcode 8.0.
  2. Open the Bindings dmg image, and install the Bindings Libraries by double-clicking on them.
  3. In a CodeFlow project, select the target OS SDK by changing the SDK Bindings Library with the contextual menu (or in the main menu Program->Select SDK Library).

As you can see in this video, once you have selected one of the new SDKs (here iOS 10), then all Xcode-related actions in the CodeFlow project will use Xcode 8 (like opening the associated Xcode project or editing a storyboard resource). So you will build and run your app with Xcode 8 and you will have the possibility to use any iOS 10 API in Lua in your CodeFlow project.

Troubleshooting Xcode 8 with CodeFlow

As you can expect from a first developer beta, Xcode 8 and the new OS releases are not completely polished yet, so you shouldn't be surprised if a few bugs are present. In this case, do not hesitate to use the bug-report form in CodeFlow. This will help us to investigate these problems, and hopefully to fix them quickly.

In addition, here are a few tips that you might save you some time when using CodeFlow with Xcode 8:

  • The way to handle app signing has changed in Xcode 8. As a consequence, in Xcode 8, when you run on a device an application created with a CodeFlow project template, it seems that you need to select manually a team for signing the app, otherwise the compilation fails.
  • Storyboards in Xcode 8 have a different file format than in Xcode 7. Therefore if you test a CodeFlow app with a storyboard in iOS 10, and then revert it to iOS 9.3, you might see an error next to the storyboard source item in CodeFlow. In this case, open the storyboard in Xcode 8 and in the right panel, select the File Inspector tab, set Opens in to 'Xcode 7.x', and save. This will remove the storyboard error in CodeFlow.

Bottom line

I will come back to WWDC 2016 in a next post, because lots of interesting things were (and still are) presented during the week. Starting with Swift Playgrounds on iOS. But this is another story…

In the meanwhile, have fun live-coding the new features in iOS 10, tvOS 10 and macOS 10.12 with CodeFlow! 😃

Post a Comment


Recent posts

Blog Post
Aug 1, 2016

CodeFlow 1.0.2

CodeFlow 1.0.2 is a minor release that focuses on improving the Live Application Developer's Experience.

Aug 1, 2016
Blog Post
Jun 16, 2016

CodeFlow 1.0.1 and WWDC 2016

The just-released CodeFlow 1.0.1 brings support for the new iOS 10, tvOS 10 and macOS 10.12 announced at WWDC 2016 this week.

Jun 16, 2016
Blog Post
Jun 9, 2016

CodeFlow turns 1.0

It has been some time since the last beta of CodeFlow, version 0.9.20 was released in January this year. And all this time, we have worked very hard to improve CodeFlow, and to turn it into an effective Application Development System that we love to…

Jun 9, 2016
Blog Post
Apr 22, 2016

Live storyboards in CodeFlow

Live storyboards are a important feature of the upcoming CodeFlow 1.0. Mixing the power of Xcode storyboards with the flexibility of CodeFlow live coding, they are amazing for fast, fun and creative live app development.

Apr 22, 2016