- Opens the event framework so developers can add their own custom events.
WorkbenchViewController so developers can add their own UI states.
keepTrashedBlocks to the workbench, which controls if users can open
the trash folder. By default, it is set to
false (matching default Web
- Removes use of deprecated
characters property on Strings.
- Changes the workbench to allow changing the viewport location based on
workspace location, and sets it to first open at the top-leading corner of the
FieldCheckbox to serialize XML into capitalized values, matching Web
- Fixes turtle demo so it stops highlighting/scrolling blocks into view
if the user has edited the workspace.
- Updates i18n messages and compiled version of Web Blockly to latest
November 2017 release.
- The UI now respects the iOS 11 "safe area" so that all visible content and
touch areas are displayed within the safe area. Currently, this only affects
apps running on iPhone X, since its defined safe area doesn't fully conform
to its screen dimensions.
- Adds method to
WorkspaceView, to set the viewport to a reveal a specific
LayoutFactory to be a class instead of a protocol.
DefaultLayoutFactory and refactors its functionality into
- Fixes "if-return" block to automatically disable itself if it isn't connected
to a procedure definition block.
- Fixes Turtle demo so it is zoomable and so it no longer allows the turtle to
- Fixes bug in RTL where zooming caused the viewport to jump to a different
- Fixes bug in RTL where dragging the first block onto an empty canvas caused
the block to temporarily flash at a different location.
- Fixes WorkspaceView from adding extra canvas padding to an empty workspace.
- Updates the library to use Swift 4 syntax. This requires that developers
update to use Xcode 9.
flipRtl property to FieldImage, allowing images to be flipped in RTL
- Updates i18n messages and compiled version of Web Blockly to latest October
- Fixes bug where cancelled touches weren't being handled inside
WorkbenchViewController, which caused state problems
- Fixes bug where popovers could be overdismissed
- Allows disabled blocks to be dragged on the workspace
- Adds serialization for Block properties editable, deletable, movable, disabled,
- Fixes code generator for iOS 11 so it sends the initial codegen request on the
- Fixes names of two codelab sounds
- Fixes bug where popover delegates were being overriden, which caused undo/redo
buttons to stay disabled after popover dismissal
- Fixes bug where non-top-level variables didn't always show up in the variable
- Fixes FieldLayout from implicitly updating the layout tree on model changes,
and made it update explicitly.
- Fixes ViewBuilder bug where it would recycle views prior to calling a delegate
method that inspected view hierarchy
- Fixes WorkspaceViewController bug where the didRemoveBlockView() delegate method
wasn't being fired
- Fixes bug where the same variable block can be created multiple times
- Fixes Obj-C compilation error where WebKit protocol can't be found
- Fixes bug where dismissing a popover could dismiss
- Fixes trash can folder so it always appear above the undo/redo controls.
This version packs our biggest UI update thus far! Many changes were made to make
Blockly iOS look and feel more modern. These changes include:
- Custom popovers for entering a number and for picking an angle
- A fresh coat of paint to the UI that uses Material Design colors
- Automatic vertical alignment of fields and inputs
- Rounded block corners
- More consistent sizing and spacing for all blocks
- Changing block dragging so that it appears above all other layers
- Better visibility when highlighting connections between blocks
- Improved style configuration. More style options have been added to
- Other minor UI fixes to improve usability
We're happy to announce that we've reached version 1.0 of Blockly iOS!
With this milestone, the project is at a point where all core components of Blockly
have been implemented on iOS. The API is relatively stable, and major performance
and memory issues from previous versions have been addressed.
Developers new to Blockly iOS should check out our
It walks you through the process of creating an iOS app with Blockly.
- Updates Cocoapods podspec file to specify AEXML 4.1.0 to accomodate Swift 3.1.
- For both
the callbacks for
onError now include a
- Updates Cocoapods podspec file to specify Swift 3.1.
- Adds workaround for whole-module-optimization compiler bug in Xcode 8.3/Swift 3.1.
- Fixes compile errors/warnings related to Swift 3.1 (when using Xcode 8.3+).
Adds support for events and undo-redo functionality.
The library is now localized to support all languages available in Blockly
Web (except for those unsupported by iOS itself).
Allows native "extensions" to be run on Block objects, upon instantiation.
Mutators and extensions can now be defined inside JSON Block definitions.
LayoutConfig options for coloring field labels (
WorkbenchViewController has been changed to expose a
instance, via the
blockFactory property. Clients should use this instance when
creating new blocks inside the workbench, instead of using a separate instance.
WorkbenchViewController needs to use this block factory when re-creating blocks
or else it will not operate correctly (eg. for performing undo-redo actions).
- Adds variables and procedures
- Adds support for mutators (along with a default mutator for an if-else block)
- Changes Block and Field objects so that multiple listeners can listen for their changes
instead of just a single delegate.
- Fixes bugs with the turtle demo.
- Fixes FieldInputView being uneditable in the iPhone 7/7+ simulator.
- Fixes jumping bug while zooming the WorkspaceView.
- Adds a DefaultLayoutConfig option for rendering a "start hat".
- Changes the CodeGeneratorServiceRequest flow. This is a breaking change, see
https://developers.google.com/blockly/guides/configure/ios/code-generators for more information.
- Developer preview release of Blockly for iOS.