A CodeFlow blog

about live coding and more…

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

Last tweets

Jun 8, 2018
@JLJumpertz
✅ Wow, @celedev CodeFlow looks really good in dark mode on macOS 10.14 Mojave! 😃
Still a work in progress, but it took me only a few hours to reach this point, while keeping it compatible with macOS 10.11+ 😎
CodeFlow = live-code native iOS apps in Lua celedev.com
Jun 8, 2018
May 17, 2018
@JLJumpertz
🎉🥂Time-Flow, an iOS app created with @celedev CodeFlow by @alf147 is on the AppStore!
The approval process took less than 24 hours. 😎
#LuaLang #livecoding #iOS
itunes.apple.com/us/app/time-fl…
May 17, 2018
Apr 2, 2018
Minor CodeFlow update today: v1.2.3 fixes an issue with Xcode 9.3. Check for update or download it directly from celedev.com/en/download/
Apr 2, 2018
Feb 12, 2018
New CodeFlow version 1.2.2 today: it solves an error that could occur when calling certain kinds of Swift closures or ObjC blocks from Lua.
Thanks @alf147 for reporting the issue! 😀
Check for update in CodeFlow, or download version 1.2.2 from celedev.com/en/download/.
Feb 12, 2018
Feb 8, 2018
The LuaPanda 🐼sample application has also been updated for CodeFlow 1.2.1.
To get it from GitHub: github.com/celedev/LuaPan…
Feb 8, 2018
Feb 8, 2018
CodeFlow 1.2.1 is now available for upgrade. This is a bugfix release recommended to all users. 😎
Check for update in the appplication,
or download it from celedev.com/en/download/,
or simply read about the changes here: celedev.com/en/download/co…
Feb 8, 2018
Feb 2, 2018
@JLJumpertz
Live iOS app development strikes back!
Version 1.2 of CodeFlow is out, with lots of improved features, for a unique interactive native app development experience. 😀
- download celedev.com/en/download/
- changelog celedev.com/en/download/co…
(by @celedev)
Feb 2, 2018
Dec 7, 2017
🛠New CodeFlow SDK Bindings are available for all supported Xcode versions: 9.2, 8.3, and 7.3. 😊
celedev.com/en/download/
Dec 7, 2017
Aug 9, 2017
🛠CodeFlow SDK Bindings for Xcode 9 beta 5 are available for download. Enjoy! 😊
celedev.com/en/download/
Aug 9, 2017
Jul 11, 2017
New APIs in Xcode 9 / iOS 11 beta 3? CodeFlow supports them from day 1. 😀
🛠 Download updated OS SDK bindings from celedev.com/en/download/
Jul 11, 2017
Jul 2, 2017
CodeFlow 1.1.1 is out, and supports real-time native app development for iOS 11 and macOS 10.13.
Check for update or celedev.com/en/download/
Jul 2, 2017
Dec 5, 2016
@JLJumpertz
"Programming iOS in Lua - A bridge story"
Slides of my talk at Lua Workshop 2016 are here: slideshare.net/jljumpertz/pro…
#lualang #iosdev
Dec 5, 2016
Oct 11, 2016
Little Lua red Panda is now on GitHub! github.com/celedev/LuaPan…
A SceneKit 3D game in #LuaLang with dynamic update of all 3D assets and code
Oct 11, 2016
Oct 3, 2016
CodeFlow 1.0.3 is out!
⚡️ Live SceneKit assets, Sierra support, and more…
celedev.com/en/download/#c…
#lualang #iosdev
Oct 3, 2016
Oct 1, 2016
@aligatr
@Javi @nicklockwood same and also sad they didn't mention Redux realm.io/news/benji-enc… nor @celedev for Live Reloading & Faster iterations
Oct 1, 2016