From 68ce2f96de41f60d7ec64754c92df573efd5f205 Mon Sep 17 00:00:00 2001 From: Tim Mickel Date: Thu, 11 Feb 2016 14:32:51 -0500 Subject: [PATCH 1/4] Add iOS wrapper and compiled playgrounds --- wrapper/ScratchBlockly/.gitignore | 23 ++ .../ScratchBlockly.xcodeproj/project.pbxproj | 337 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../ScratchBlockly/AppDelegate.swift | 38 ++ .../AppIcon.appiconset/Contents.json | 73 ++++ .../Base.lproj/LaunchScreen.storyboard | 27 ++ .../ScratchBlockly/Base.lproj/Main.storyboard | 26 ++ .../ScratchBlockly/ScratchBlockly/Info.plist | 56 +++ .../ScratchBlockly/Settings.bundle/Root.plist | 29 ++ .../Settings.bundle/en.lproj/Root.strings | Bin 0 -> 410 bytes .../ScratchBlockly/ViewController.swift | 33 ++ .../playgrounds/horizontal_playground.html | 143 ++++++++ wrapper/playgrounds/vertical_playground.html | 143 ++++++++ 13 files changed, 935 insertions(+) create mode 100644 wrapper/ScratchBlockly/.gitignore create mode 100644 wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.pbxproj create mode 100644 wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 wrapper/ScratchBlockly/ScratchBlockly/AppDelegate.swift create mode 100644 wrapper/ScratchBlockly/ScratchBlockly/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/LaunchScreen.storyboard create mode 100644 wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/Main.storyboard create mode 100644 wrapper/ScratchBlockly/ScratchBlockly/Info.plist create mode 100644 wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/Root.plist create mode 100644 wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/en.lproj/Root.strings create mode 100644 wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift create mode 100644 wrapper/playgrounds/horizontal_playground.html create mode 100644 wrapper/playgrounds/vertical_playground.html diff --git a/wrapper/ScratchBlockly/.gitignore b/wrapper/ScratchBlockly/.gitignore new file mode 100644 index 0000000000..37de8bb479 --- /dev/null +++ b/wrapper/ScratchBlockly/.gitignore @@ -0,0 +1,23 @@ +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## Build generated +build/ +DerivedData/ + +## Various settings +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata/ + +## Other +*.moved-aside +*.xccheckout +*.xcscmblueprint diff --git a/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.pbxproj b/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..7d18409c75 --- /dev/null +++ b/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.pbxproj @@ -0,0 +1,337 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + D917FD141C6D115D00FC8841 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D917FD131C6D115D00FC8841 /* AppDelegate.swift */; }; + D917FD161C6D115D00FC8841 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D917FD151C6D115D00FC8841 /* ViewController.swift */; }; + D917FD191C6D115D00FC8841 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D917FD171C6D115D00FC8841 /* Main.storyboard */; }; + D917FD1B1C6D115D00FC8841 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D917FD1A1C6D115D00FC8841 /* Assets.xcassets */; }; + D917FD1E1C6D115D00FC8841 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D917FD1C1C6D115D00FC8841 /* LaunchScreen.storyboard */; }; + D917FD671C6D175700FC8841 /* blockly_compressed_horizontal.js in Resources */ = {isa = PBXBuildFile; fileRef = D917FD5A1C6D175700FC8841 /* blockly_compressed_horizontal.js */; }; + D917FD681C6D175700FC8841 /* blockly_compressed_vertical.js in Resources */ = {isa = PBXBuildFile; fileRef = D917FD5B1C6D175700FC8841 /* blockly_compressed_vertical.js */; }; + D917FD691C6D175700FC8841 /* blockly_uncompressed_horizontal.js in Resources */ = {isa = PBXBuildFile; fileRef = D917FD5C1C6D175700FC8841 /* blockly_uncompressed_horizontal.js */; }; + D917FD6A1C6D175700FC8841 /* blockly_uncompressed_vertical.js in Resources */ = {isa = PBXBuildFile; fileRef = D917FD5D1C6D175700FC8841 /* blockly_uncompressed_vertical.js */; }; + D917FD6C1C6D175700FC8841 /* blocks_compressed.js in Resources */ = {isa = PBXBuildFile; fileRef = D917FD5F1C6D175700FC8841 /* blocks_compressed.js */; }; + D917FD6D1C6D175700FC8841 /* blocks_horizontal in Resources */ = {isa = PBXBuildFile; fileRef = D917FD601C6D175700FC8841 /* blocks_horizontal */; }; + D917FD701C6D175700FC8841 /* javascript_compressed.js in Resources */ = {isa = PBXBuildFile; fileRef = D917FD631C6D175700FC8841 /* javascript_compressed.js */; }; + D917FD711C6D175700FC8841 /* media in Resources */ = {isa = PBXBuildFile; fileRef = D917FD641C6D175700FC8841 /* media */; }; + D917FD721C6D175700FC8841 /* msg in Resources */ = {isa = PBXBuildFile; fileRef = D917FD651C6D175700FC8841 /* msg */; }; + D917FD751C6D185000FC8841 /* playgrounds in Resources */ = {isa = PBXBuildFile; fileRef = D917FD741C6D185000FC8841 /* playgrounds */; }; + D917FD771C6D18E400FC8841 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D917FD761C6D18E400FC8841 /* Settings.bundle */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + D917FD101C6D115D00FC8841 /* ScratchBlockly.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ScratchBlockly.app; sourceTree = BUILT_PRODUCTS_DIR; }; + D917FD131C6D115D00FC8841 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + D917FD151C6D115D00FC8841 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + D917FD181C6D115D00FC8841 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + D917FD1A1C6D115D00FC8841 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + D917FD1D1C6D115D00FC8841 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + D917FD1F1C6D115D00FC8841 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D917FD5A1C6D175700FC8841 /* blockly_compressed_horizontal.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blockly_compressed_horizontal.js; path = ../../blockly_compressed_horizontal.js; sourceTree = ""; }; + D917FD5B1C6D175700FC8841 /* blockly_compressed_vertical.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blockly_compressed_vertical.js; path = ../../blockly_compressed_vertical.js; sourceTree = ""; }; + D917FD5C1C6D175700FC8841 /* blockly_uncompressed_horizontal.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blockly_uncompressed_horizontal.js; path = ../../blockly_uncompressed_horizontal.js; sourceTree = ""; }; + D917FD5D1C6D175700FC8841 /* blockly_uncompressed_vertical.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blockly_uncompressed_vertical.js; path = ../../blockly_uncompressed_vertical.js; sourceTree = ""; }; + D917FD5F1C6D175700FC8841 /* blocks_compressed.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blocks_compressed.js; path = ../../blocks_compressed.js; sourceTree = ""; }; + D917FD601C6D175700FC8841 /* blocks_horizontal */ = {isa = PBXFileReference; lastKnownFileType = folder; name = blocks_horizontal; path = ../../blocks_horizontal; sourceTree = ""; }; + D917FD631C6D175700FC8841 /* javascript_compressed.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = javascript_compressed.js; path = ../../javascript_compressed.js; sourceTree = ""; }; + D917FD641C6D175700FC8841 /* media */ = {isa = PBXFileReference; lastKnownFileType = folder; name = media; path = ../../media; sourceTree = ""; }; + D917FD651C6D175700FC8841 /* msg */ = {isa = PBXFileReference; lastKnownFileType = folder; name = msg; path = ../../msg; sourceTree = ""; }; + D917FD741C6D185000FC8841 /* playgrounds */ = {isa = PBXFileReference; lastKnownFileType = folder; name = playgrounds; path = ../playgrounds; sourceTree = ""; }; + D917FD761C6D18E400FC8841 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + D917FD0D1C6D115D00FC8841 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + D917FD071C6D115D00FC8841 = { + isa = PBXGroup; + children = ( + D917FD741C6D185000FC8841 /* playgrounds */, + D917FD5A1C6D175700FC8841 /* blockly_compressed_horizontal.js */, + D917FD5B1C6D175700FC8841 /* blockly_compressed_vertical.js */, + D917FD5C1C6D175700FC8841 /* blockly_uncompressed_horizontal.js */, + D917FD5D1C6D175700FC8841 /* blockly_uncompressed_vertical.js */, + D917FD5F1C6D175700FC8841 /* blocks_compressed.js */, + D917FD601C6D175700FC8841 /* blocks_horizontal */, + D917FD631C6D175700FC8841 /* javascript_compressed.js */, + D917FD641C6D175700FC8841 /* media */, + D917FD651C6D175700FC8841 /* msg */, + D917FD121C6D115D00FC8841 /* ScratchBlockly */, + D917FD111C6D115D00FC8841 /* Products */, + ); + sourceTree = ""; + }; + D917FD111C6D115D00FC8841 /* Products */ = { + isa = PBXGroup; + children = ( + D917FD101C6D115D00FC8841 /* ScratchBlockly.app */, + ); + name = Products; + sourceTree = ""; + }; + D917FD121C6D115D00FC8841 /* ScratchBlockly */ = { + isa = PBXGroup; + children = ( + D917FD761C6D18E400FC8841 /* Settings.bundle */, + D917FD131C6D115D00FC8841 /* AppDelegate.swift */, + D917FD151C6D115D00FC8841 /* ViewController.swift */, + D917FD171C6D115D00FC8841 /* Main.storyboard */, + D917FD1A1C6D115D00FC8841 /* Assets.xcassets */, + D917FD1C1C6D115D00FC8841 /* LaunchScreen.storyboard */, + D917FD1F1C6D115D00FC8841 /* Info.plist */, + ); + path = ScratchBlockly; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + D917FD0F1C6D115D00FC8841 /* ScratchBlockly */ = { + isa = PBXNativeTarget; + buildConfigurationList = D917FD221C6D115D00FC8841 /* Build configuration list for PBXNativeTarget "ScratchBlockly" */; + buildPhases = ( + D917FD0C1C6D115D00FC8841 /* Sources */, + D917FD0D1C6D115D00FC8841 /* Frameworks */, + D917FD0E1C6D115D00FC8841 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ScratchBlockly; + productName = ScratchBlockly; + productReference = D917FD101C6D115D00FC8841 /* ScratchBlockly.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D917FD081C6D115D00FC8841 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0720; + LastUpgradeCheck = 0720; + ORGANIZATIONNAME = "MIT Media Lab"; + TargetAttributes = { + D917FD0F1C6D115D00FC8841 = { + CreatedOnToolsVersion = 7.2.1; + }; + }; + }; + buildConfigurationList = D917FD0B1C6D115D00FC8841 /* Build configuration list for PBXProject "ScratchBlockly" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = D917FD071C6D115D00FC8841; + productRefGroup = D917FD111C6D115D00FC8841 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + D917FD0F1C6D115D00FC8841 /* ScratchBlockly */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + D917FD0E1C6D115D00FC8841 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D917FD751C6D185000FC8841 /* playgrounds in Resources */, + D917FD671C6D175700FC8841 /* blockly_compressed_horizontal.js in Resources */, + D917FD681C6D175700FC8841 /* blockly_compressed_vertical.js in Resources */, + D917FD691C6D175700FC8841 /* blockly_uncompressed_horizontal.js in Resources */, + D917FD6A1C6D175700FC8841 /* blockly_uncompressed_vertical.js in Resources */, + D917FD6C1C6D175700FC8841 /* blocks_compressed.js in Resources */, + D917FD771C6D18E400FC8841 /* Settings.bundle in Resources */, + D917FD6D1C6D175700FC8841 /* blocks_horizontal in Resources */, + D917FD701C6D175700FC8841 /* javascript_compressed.js in Resources */, + D917FD711C6D175700FC8841 /* media in Resources */, + D917FD721C6D175700FC8841 /* msg in Resources */, + D917FD1E1C6D115D00FC8841 /* LaunchScreen.storyboard in Resources */, + D917FD1B1C6D115D00FC8841 /* Assets.xcassets in Resources */, + D917FD191C6D115D00FC8841 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + D917FD0C1C6D115D00FC8841 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D917FD161C6D115D00FC8841 /* ViewController.swift in Sources */, + D917FD141C6D115D00FC8841 /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + D917FD171C6D115D00FC8841 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + D917FD181C6D115D00FC8841 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + D917FD1C1C6D115D00FC8841 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + D917FD1D1C6D115D00FC8841 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + D917FD201C6D115D00FC8841 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.2; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + D917FD211C6D115D00FC8841 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.2; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + D917FD231C6D115D00FC8841 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + INFOPLIST_FILE = ScratchBlockly/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = edu.mit.scratch.ScratchBlockly; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + D917FD241C6D115D00FC8841 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + INFOPLIST_FILE = ScratchBlockly/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = edu.mit.scratch.ScratchBlockly; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + D917FD0B1C6D115D00FC8841 /* Build configuration list for PBXProject "ScratchBlockly" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D917FD201C6D115D00FC8841 /* Debug */, + D917FD211C6D115D00FC8841 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D917FD221C6D115D00FC8841 /* Build configuration list for PBXNativeTarget "ScratchBlockly" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D917FD231C6D115D00FC8841 /* Debug */, + D917FD241C6D115D00FC8841 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = D917FD081C6D115D00FC8841 /* Project object */; +} diff --git a/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..5cb147ecc7 --- /dev/null +++ b/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/wrapper/ScratchBlockly/ScratchBlockly/AppDelegate.swift b/wrapper/ScratchBlockly/ScratchBlockly/AppDelegate.swift new file mode 100644 index 0000000000..f70ff9aa21 --- /dev/null +++ b/wrapper/ScratchBlockly/ScratchBlockly/AppDelegate.swift @@ -0,0 +1,38 @@ +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(application: UIApplication) { + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + +} + diff --git a/wrapper/ScratchBlockly/ScratchBlockly/Assets.xcassets/AppIcon.appiconset/Contents.json b/wrapper/ScratchBlockly/ScratchBlockly/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000000..eeea76c2db --- /dev/null +++ b/wrapper/ScratchBlockly/ScratchBlockly/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,73 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/LaunchScreen.storyboard b/wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000000..2e721e1833 --- /dev/null +++ b/wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/Main.storyboard b/wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/Main.storyboard new file mode 100644 index 0000000000..147a764abd --- /dev/null +++ b/wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wrapper/ScratchBlockly/ScratchBlockly/Info.plist b/wrapper/ScratchBlockly/ScratchBlockly/Info.plist new file mode 100644 index 0000000000..2dd8f6f54c --- /dev/null +++ b/wrapper/ScratchBlockly/ScratchBlockly/Info.plist @@ -0,0 +1,56 @@ + + + + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/Root.plist b/wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/Root.plist new file mode 100644 index 0000000000..1df8053d6e --- /dev/null +++ b/wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/Root.plist @@ -0,0 +1,29 @@ + + + + + StringsTable + Root + PreferenceSpecifiers + + + Type + PSTextFieldSpecifier + Title + Source + Key + source_preference + DefaultValue + + IsSecure + + KeyboardType + URL + AutocapitalizationType + None + AutocorrectionType + No + + + + diff --git a/wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/en.lproj/Root.strings b/wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/en.lproj/Root.strings new file mode 100644 index 0000000000000000000000000000000000000000..b0e3e6f635477404d2a8c0382fd96760699fa56b GIT binary patch literal 410 zcmaiwOA5k35JYS3DTXXX^Z??*Gw20EGSNWHh>40GUVRm!3lU_PPghr0SI_gY&{RQd zcBfjcc4`!dsMl#kI^v4AGc(>-?Umr0*Ms+CO$}z9Bbfr+HBlv)m4j|noly-iPGl;! z?-q6(YYVia4$3u$w;dvD{&wSj)=Ik2qomS~tPt>&(9OAP-9hZ50Bd2mXFqTgX9>fu u8`!rG`qnvyGSxy8R;CSA{sqsRky)|7(WPGf9ZCoQ literal 0 HcmV?d00001 diff --git a/wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift b/wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift new file mode 100644 index 0000000000..88e9a18cb4 --- /dev/null +++ b/wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift @@ -0,0 +1,33 @@ +import UIKit +import WebKit + +class ViewController: UIViewController { + var webview : WKWebView? + + override func viewDidLoad() { + super.viewDidLoad() + + self.webview = WKWebView() + self.view = self.webview + + // If a URL is provided in the app settings, put the WebView there + // Otherwise, put it at the app bundle's www index + let defaults = NSUserDefaults.standardUserDefaults() + let wwwSource = defaults.stringForKey("source_preference") + let bundleSource = NSBundle.mainBundle().pathForResource("horizontal_playground", ofType: "html", inDirectory: "playgrounds") + + let url = (wwwSource != nil && wwwSource!.characters.count > 0) ? NSURL(string:wwwSource!) : NSURL.fileURLWithPath(bundleSource!) + let req = NSURLRequest(URL:url!) + webview!.loadRequest(req) + } + + override func didReceiveMemoryWarning() { + super.didReceiveMemoryWarning() + // Dispose of any resources that can be recreated. + } + + override func prefersStatusBarHidden() -> Bool { + return true + } +} + diff --git a/wrapper/playgrounds/horizontal_playground.html b/wrapper/playgrounds/horizontal_playground.html new file mode 100644 index 0000000000..22132d9147 --- /dev/null +++ b/wrapper/playgrounds/horizontal_playground.html @@ -0,0 +1,143 @@ + + + + +Horizontal Blockly Playground Compressed + + + + + + + + + + + + + +
+ +
+ + + +

Horizontal blocks compressed!

+ +

Show + - Hide

+ + + +

+ +   + +
+ +
+ +

+
+ Vertical playground + + diff --git a/wrapper/playgrounds/vertical_playground.html b/wrapper/playgrounds/vertical_playground.html new file mode 100644 index 0000000000..63f448b330 --- /dev/null +++ b/wrapper/playgrounds/vertical_playground.html @@ -0,0 +1,143 @@ + + + + +Vertical Blockly Playground Compressed + + + + + + + + + + + + + +
+ +
+ + + +

Vertical blocks compressed!

+ +

Show + - Hide

+ + + +

+ +   + +
+ +
+ +

+
+ Horizontal playground + + From 28a073057b2dde36d457a82a0f793562934659c6 Mon Sep 17 00:00:00 2001 From: Tim Mickel Date: Fri, 12 Feb 2016 13:10:24 -0500 Subject: [PATCH 2/4] Updating compressed playground filenames --- wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift | 2 +- ...al_playground.html => horizontal_playground_compressed.html} | 2 +- ...ical_playground.html => vertical_playground_compressed.html} | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename wrapper/playgrounds/{horizontal_playground.html => horizontal_playground_compressed.html} (97%) rename wrapper/playgrounds/{vertical_playground.html => vertical_playground_compressed.html} (97%) diff --git a/wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift b/wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift index 88e9a18cb4..4cd34499f3 100644 --- a/wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift +++ b/wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift @@ -14,7 +14,7 @@ class ViewController: UIViewController { // Otherwise, put it at the app bundle's www index let defaults = NSUserDefaults.standardUserDefaults() let wwwSource = defaults.stringForKey("source_preference") - let bundleSource = NSBundle.mainBundle().pathForResource("horizontal_playground", ofType: "html", inDirectory: "playgrounds") + let bundleSource = NSBundle.mainBundle().pathForResource("horizontal_playground_compressed", ofType: "html", inDirectory: "playgrounds") let url = (wwwSource != nil && wwwSource!.characters.count > 0) ? NSURL(string:wwwSource!) : NSURL.fileURLWithPath(bundleSource!) let req = NSURLRequest(URL:url!) diff --git a/wrapper/playgrounds/horizontal_playground.html b/wrapper/playgrounds/horizontal_playground_compressed.html similarity index 97% rename from wrapper/playgrounds/horizontal_playground.html rename to wrapper/playgrounds/horizontal_playground_compressed.html index 22132d9147..d03fb4b868 100644 --- a/wrapper/playgrounds/horizontal_playground.html +++ b/wrapper/playgrounds/horizontal_playground_compressed.html @@ -138,6 +138,6 @@

Horizontal blocks compressed!


- Vertical playground + Vertical playground diff --git a/wrapper/playgrounds/vertical_playground.html b/wrapper/playgrounds/vertical_playground_compressed.html similarity index 97% rename from wrapper/playgrounds/vertical_playground.html rename to wrapper/playgrounds/vertical_playground_compressed.html index 63f448b330..1662ec0271 100644 --- a/wrapper/playgrounds/vertical_playground.html +++ b/wrapper/playgrounds/vertical_playground_compressed.html @@ -138,6 +138,6 @@

Vertical blocks compressed!


- Horizontal playground + Horizontal playground From d661e7f09ac7fd93154ab182146f21bf1fddd281 Mon Sep 17 00:00:00 2001 From: Tim Mickel Date: Fri, 12 Feb 2016 13:13:25 -0500 Subject: [PATCH 3/4] horizontalLayout on horizontal_playground_compressed --- wrapper/playgrounds/horizontal_playground_compressed.html | 1 + 1 file changed, 1 insertion(+) diff --git a/wrapper/playgrounds/horizontal_playground_compressed.html b/wrapper/playgrounds/horizontal_playground_compressed.html index d03fb4b868..6e098a6af3 100644 --- a/wrapper/playgrounds/horizontal_playground_compressed.html +++ b/wrapper/playgrounds/horizontal_playground_compressed.html @@ -29,6 +29,7 @@ scrollbars: true, toolbox: toolbox, trashcan: true, + horizontalLayout: true, zoom: { controls: true, wheel: false, From 03072cf09206ad1763d40b132900eb8e298a4a0f Mon Sep 17 00:00:00 2001 From: Tim Mickel Date: Fri, 12 Feb 2016 13:16:01 -0500 Subject: [PATCH 4/4] Moving XCode project to tests/ --- .../wrapper}/ScratchBlockly/.gitignore | 0 .../ScratchBlockly.xcodeproj/project.pbxproj | 73 +++++++++--------- .../contents.xcworkspacedata | 0 .../ScratchBlockly/AppDelegate.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../Base.lproj/LaunchScreen.storyboard | 0 .../ScratchBlockly/Base.lproj/Main.storyboard | 0 .../ScratchBlockly/ScratchBlockly/Info.plist | 0 .../ScratchBlockly/Settings.bundle/Root.plist | 0 .../Settings.bundle/en.lproj/Root.strings | Bin .../ScratchBlockly/ViewController.swift | 0 .../horizontal_playground_compressed.html | 0 .../vertical_playground_compressed.html | 0 13 files changed, 37 insertions(+), 36 deletions(-) rename {wrapper => tests/wrapper}/ScratchBlockly/.gitignore (100%) rename {wrapper => tests/wrapper}/ScratchBlockly/ScratchBlockly.xcodeproj/project.pbxproj (75%) rename {wrapper => tests/wrapper}/ScratchBlockly/ScratchBlockly.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename {wrapper => tests/wrapper}/ScratchBlockly/ScratchBlockly/AppDelegate.swift (100%) rename {wrapper => tests/wrapper}/ScratchBlockly/ScratchBlockly/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {wrapper => tests/wrapper}/ScratchBlockly/ScratchBlockly/Base.lproj/LaunchScreen.storyboard (100%) rename {wrapper => tests/wrapper}/ScratchBlockly/ScratchBlockly/Base.lproj/Main.storyboard (100%) rename {wrapper => tests/wrapper}/ScratchBlockly/ScratchBlockly/Info.plist (100%) rename {wrapper => tests/wrapper}/ScratchBlockly/ScratchBlockly/Settings.bundle/Root.plist (100%) rename {wrapper => tests/wrapper}/ScratchBlockly/ScratchBlockly/Settings.bundle/en.lproj/Root.strings (100%) rename {wrapper => tests/wrapper}/ScratchBlockly/ScratchBlockly/ViewController.swift (100%) rename {wrapper => tests/wrapper}/playgrounds/horizontal_playground_compressed.html (100%) rename {wrapper => tests/wrapper}/playgrounds/vertical_playground_compressed.html (100%) diff --git a/wrapper/ScratchBlockly/.gitignore b/tests/wrapper/ScratchBlockly/.gitignore similarity index 100% rename from wrapper/ScratchBlockly/.gitignore rename to tests/wrapper/ScratchBlockly/.gitignore diff --git a/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.pbxproj b/tests/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.pbxproj similarity index 75% rename from wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.pbxproj rename to tests/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.pbxproj index 7d18409c75..cb95e120e5 100644 --- a/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.pbxproj +++ b/tests/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.pbxproj @@ -12,17 +12,17 @@ D917FD191C6D115D00FC8841 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D917FD171C6D115D00FC8841 /* Main.storyboard */; }; D917FD1B1C6D115D00FC8841 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D917FD1A1C6D115D00FC8841 /* Assets.xcassets */; }; D917FD1E1C6D115D00FC8841 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D917FD1C1C6D115D00FC8841 /* LaunchScreen.storyboard */; }; - D917FD671C6D175700FC8841 /* blockly_compressed_horizontal.js in Resources */ = {isa = PBXBuildFile; fileRef = D917FD5A1C6D175700FC8841 /* blockly_compressed_horizontal.js */; }; - D917FD681C6D175700FC8841 /* blockly_compressed_vertical.js in Resources */ = {isa = PBXBuildFile; fileRef = D917FD5B1C6D175700FC8841 /* blockly_compressed_vertical.js */; }; - D917FD691C6D175700FC8841 /* blockly_uncompressed_horizontal.js in Resources */ = {isa = PBXBuildFile; fileRef = D917FD5C1C6D175700FC8841 /* blockly_uncompressed_horizontal.js */; }; - D917FD6A1C6D175700FC8841 /* blockly_uncompressed_vertical.js in Resources */ = {isa = PBXBuildFile; fileRef = D917FD5D1C6D175700FC8841 /* blockly_uncompressed_vertical.js */; }; - D917FD6C1C6D175700FC8841 /* blocks_compressed.js in Resources */ = {isa = PBXBuildFile; fileRef = D917FD5F1C6D175700FC8841 /* blocks_compressed.js */; }; - D917FD6D1C6D175700FC8841 /* blocks_horizontal in Resources */ = {isa = PBXBuildFile; fileRef = D917FD601C6D175700FC8841 /* blocks_horizontal */; }; - D917FD701C6D175700FC8841 /* javascript_compressed.js in Resources */ = {isa = PBXBuildFile; fileRef = D917FD631C6D175700FC8841 /* javascript_compressed.js */; }; - D917FD711C6D175700FC8841 /* media in Resources */ = {isa = PBXBuildFile; fileRef = D917FD641C6D175700FC8841 /* media */; }; - D917FD721C6D175700FC8841 /* msg in Resources */ = {isa = PBXBuildFile; fileRef = D917FD651C6D175700FC8841 /* msg */; }; D917FD751C6D185000FC8841 /* playgrounds in Resources */ = {isa = PBXBuildFile; fileRef = D917FD741C6D185000FC8841 /* playgrounds */; }; D917FD771C6D18E400FC8841 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D917FD761C6D18E400FC8841 /* Settings.bundle */; }; + D98653441C6E58AC00D6DF77 /* blockly_compressed_horizontal.js in Resources */ = {isa = PBXBuildFile; fileRef = D986533B1C6E58AC00D6DF77 /* blockly_compressed_horizontal.js */; }; + D98653451C6E58AC00D6DF77 /* blockly_compressed_vertical.js in Resources */ = {isa = PBXBuildFile; fileRef = D986533C1C6E58AC00D6DF77 /* blockly_compressed_vertical.js */; }; + D98653461C6E58AC00D6DF77 /* blockly_uncompressed_horizontal.js in Resources */ = {isa = PBXBuildFile; fileRef = D986533D1C6E58AC00D6DF77 /* blockly_uncompressed_horizontal.js */; }; + D98653471C6E58AC00D6DF77 /* blockly_uncompressed_vertical.js in Resources */ = {isa = PBXBuildFile; fileRef = D986533E1C6E58AC00D6DF77 /* blockly_uncompressed_vertical.js */; }; + D98653481C6E58AC00D6DF77 /* blocks_compressed.js in Resources */ = {isa = PBXBuildFile; fileRef = D986533F1C6E58AC00D6DF77 /* blocks_compressed.js */; }; + D98653491C6E58AC00D6DF77 /* blocks_horizontal in Resources */ = {isa = PBXBuildFile; fileRef = D98653401C6E58AC00D6DF77 /* blocks_horizontal */; }; + D986534A1C6E58AC00D6DF77 /* javascript_compressed.js in Resources */ = {isa = PBXBuildFile; fileRef = D98653411C6E58AC00D6DF77 /* javascript_compressed.js */; }; + D986534B1C6E58AC00D6DF77 /* media in Resources */ = {isa = PBXBuildFile; fileRef = D98653421C6E58AC00D6DF77 /* media */; }; + D986534C1C6E58AC00D6DF77 /* msg in Resources */ = {isa = PBXBuildFile; fileRef = D98653431C6E58AC00D6DF77 /* msg */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -33,17 +33,17 @@ D917FD1A1C6D115D00FC8841 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; D917FD1D1C6D115D00FC8841 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; D917FD1F1C6D115D00FC8841 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - D917FD5A1C6D175700FC8841 /* blockly_compressed_horizontal.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blockly_compressed_horizontal.js; path = ../../blockly_compressed_horizontal.js; sourceTree = ""; }; - D917FD5B1C6D175700FC8841 /* blockly_compressed_vertical.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blockly_compressed_vertical.js; path = ../../blockly_compressed_vertical.js; sourceTree = ""; }; - D917FD5C1C6D175700FC8841 /* blockly_uncompressed_horizontal.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blockly_uncompressed_horizontal.js; path = ../../blockly_uncompressed_horizontal.js; sourceTree = ""; }; - D917FD5D1C6D175700FC8841 /* blockly_uncompressed_vertical.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blockly_uncompressed_vertical.js; path = ../../blockly_uncompressed_vertical.js; sourceTree = ""; }; - D917FD5F1C6D175700FC8841 /* blocks_compressed.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blocks_compressed.js; path = ../../blocks_compressed.js; sourceTree = ""; }; - D917FD601C6D175700FC8841 /* blocks_horizontal */ = {isa = PBXFileReference; lastKnownFileType = folder; name = blocks_horizontal; path = ../../blocks_horizontal; sourceTree = ""; }; - D917FD631C6D175700FC8841 /* javascript_compressed.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = javascript_compressed.js; path = ../../javascript_compressed.js; sourceTree = ""; }; - D917FD641C6D175700FC8841 /* media */ = {isa = PBXFileReference; lastKnownFileType = folder; name = media; path = ../../media; sourceTree = ""; }; - D917FD651C6D175700FC8841 /* msg */ = {isa = PBXFileReference; lastKnownFileType = folder; name = msg; path = ../../msg; sourceTree = ""; }; D917FD741C6D185000FC8841 /* playgrounds */ = {isa = PBXFileReference; lastKnownFileType = folder; name = playgrounds; path = ../playgrounds; sourceTree = ""; }; D917FD761C6D18E400FC8841 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; + D986533B1C6E58AC00D6DF77 /* blockly_compressed_horizontal.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blockly_compressed_horizontal.js; path = ../../../blockly_compressed_horizontal.js; sourceTree = ""; }; + D986533C1C6E58AC00D6DF77 /* blockly_compressed_vertical.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blockly_compressed_vertical.js; path = ../../../blockly_compressed_vertical.js; sourceTree = ""; }; + D986533D1C6E58AC00D6DF77 /* blockly_uncompressed_horizontal.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blockly_uncompressed_horizontal.js; path = ../../../blockly_uncompressed_horizontal.js; sourceTree = ""; }; + D986533E1C6E58AC00D6DF77 /* blockly_uncompressed_vertical.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blockly_uncompressed_vertical.js; path = ../../../blockly_uncompressed_vertical.js; sourceTree = ""; }; + D986533F1C6E58AC00D6DF77 /* blocks_compressed.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = blocks_compressed.js; path = ../../../blocks_compressed.js; sourceTree = ""; }; + D98653401C6E58AC00D6DF77 /* blocks_horizontal */ = {isa = PBXFileReference; lastKnownFileType = folder; name = blocks_horizontal; path = ../../../blocks_horizontal; sourceTree = ""; }; + D98653411C6E58AC00D6DF77 /* javascript_compressed.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = javascript_compressed.js; path = ../../../javascript_compressed.js; sourceTree = ""; }; + D98653421C6E58AC00D6DF77 /* media */ = {isa = PBXFileReference; lastKnownFileType = folder; name = media; path = ../../../media; sourceTree = ""; }; + D98653431C6E58AC00D6DF77 /* msg */ = {isa = PBXFileReference; lastKnownFileType = folder; name = msg; path = ../../../msg; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -60,16 +60,16 @@ D917FD071C6D115D00FC8841 = { isa = PBXGroup; children = ( + D986533B1C6E58AC00D6DF77 /* blockly_compressed_horizontal.js */, + D986533C1C6E58AC00D6DF77 /* blockly_compressed_vertical.js */, + D986533D1C6E58AC00D6DF77 /* blockly_uncompressed_horizontal.js */, + D986533E1C6E58AC00D6DF77 /* blockly_uncompressed_vertical.js */, + D986533F1C6E58AC00D6DF77 /* blocks_compressed.js */, + D98653401C6E58AC00D6DF77 /* blocks_horizontal */, + D98653411C6E58AC00D6DF77 /* javascript_compressed.js */, + D98653421C6E58AC00D6DF77 /* media */, + D98653431C6E58AC00D6DF77 /* msg */, D917FD741C6D185000FC8841 /* playgrounds */, - D917FD5A1C6D175700FC8841 /* blockly_compressed_horizontal.js */, - D917FD5B1C6D175700FC8841 /* blockly_compressed_vertical.js */, - D917FD5C1C6D175700FC8841 /* blockly_uncompressed_horizontal.js */, - D917FD5D1C6D175700FC8841 /* blockly_uncompressed_vertical.js */, - D917FD5F1C6D175700FC8841 /* blocks_compressed.js */, - D917FD601C6D175700FC8841 /* blocks_horizontal */, - D917FD631C6D175700FC8841 /* javascript_compressed.js */, - D917FD641C6D175700FC8841 /* media */, - D917FD651C6D175700FC8841 /* msg */, D917FD121C6D115D00FC8841 /* ScratchBlockly */, D917FD111C6D115D00FC8841 /* Products */, ); @@ -155,17 +155,17 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + D98653441C6E58AC00D6DF77 /* blockly_compressed_horizontal.js in Resources */, + D98653451C6E58AC00D6DF77 /* blockly_compressed_vertical.js in Resources */, + D98653461C6E58AC00D6DF77 /* blockly_uncompressed_horizontal.js in Resources */, + D98653471C6E58AC00D6DF77 /* blockly_uncompressed_vertical.js in Resources */, + D98653481C6E58AC00D6DF77 /* blocks_compressed.js in Resources */, + D98653491C6E58AC00D6DF77 /* blocks_horizontal in Resources */, + D986534A1C6E58AC00D6DF77 /* javascript_compressed.js in Resources */, + D986534B1C6E58AC00D6DF77 /* media in Resources */, + D986534C1C6E58AC00D6DF77 /* msg in Resources */, D917FD751C6D185000FC8841 /* playgrounds in Resources */, - D917FD671C6D175700FC8841 /* blockly_compressed_horizontal.js in Resources */, - D917FD681C6D175700FC8841 /* blockly_compressed_vertical.js in Resources */, - D917FD691C6D175700FC8841 /* blockly_uncompressed_horizontal.js in Resources */, - D917FD6A1C6D175700FC8841 /* blockly_uncompressed_vertical.js in Resources */, - D917FD6C1C6D175700FC8841 /* blocks_compressed.js in Resources */, D917FD771C6D18E400FC8841 /* Settings.bundle in Resources */, - D917FD6D1C6D175700FC8841 /* blocks_horizontal in Resources */, - D917FD701C6D175700FC8841 /* javascript_compressed.js in Resources */, - D917FD711C6D175700FC8841 /* media in Resources */, - D917FD721C6D175700FC8841 /* msg in Resources */, D917FD1E1C6D115D00FC8841 /* LaunchScreen.storyboard in Resources */, D917FD1B1C6D115D00FC8841 /* Assets.xcassets in Resources */, D917FD191C6D115D00FC8841 /* Main.storyboard in Resources */, @@ -330,6 +330,7 @@ D917FD241C6D115D00FC8841 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/tests/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to tests/wrapper/ScratchBlockly/ScratchBlockly.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/wrapper/ScratchBlockly/ScratchBlockly/AppDelegate.swift b/tests/wrapper/ScratchBlockly/ScratchBlockly/AppDelegate.swift similarity index 100% rename from wrapper/ScratchBlockly/ScratchBlockly/AppDelegate.swift rename to tests/wrapper/ScratchBlockly/ScratchBlockly/AppDelegate.swift diff --git a/wrapper/ScratchBlockly/ScratchBlockly/Assets.xcassets/AppIcon.appiconset/Contents.json b/tests/wrapper/ScratchBlockly/ScratchBlockly/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from wrapper/ScratchBlockly/ScratchBlockly/Assets.xcassets/AppIcon.appiconset/Contents.json rename to tests/wrapper/ScratchBlockly/ScratchBlockly/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/LaunchScreen.storyboard b/tests/wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/LaunchScreen.storyboard rename to tests/wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/LaunchScreen.storyboard diff --git a/wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/Main.storyboard b/tests/wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/Main.storyboard similarity index 100% rename from wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/Main.storyboard rename to tests/wrapper/ScratchBlockly/ScratchBlockly/Base.lproj/Main.storyboard diff --git a/wrapper/ScratchBlockly/ScratchBlockly/Info.plist b/tests/wrapper/ScratchBlockly/ScratchBlockly/Info.plist similarity index 100% rename from wrapper/ScratchBlockly/ScratchBlockly/Info.plist rename to tests/wrapper/ScratchBlockly/ScratchBlockly/Info.plist diff --git a/wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/Root.plist b/tests/wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/Root.plist similarity index 100% rename from wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/Root.plist rename to tests/wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/Root.plist diff --git a/wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/en.lproj/Root.strings b/tests/wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/en.lproj/Root.strings similarity index 100% rename from wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/en.lproj/Root.strings rename to tests/wrapper/ScratchBlockly/ScratchBlockly/Settings.bundle/en.lproj/Root.strings diff --git a/wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift b/tests/wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift similarity index 100% rename from wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift rename to tests/wrapper/ScratchBlockly/ScratchBlockly/ViewController.swift diff --git a/wrapper/playgrounds/horizontal_playground_compressed.html b/tests/wrapper/playgrounds/horizontal_playground_compressed.html similarity index 100% rename from wrapper/playgrounds/horizontal_playground_compressed.html rename to tests/wrapper/playgrounds/horizontal_playground_compressed.html diff --git a/wrapper/playgrounds/vertical_playground_compressed.html b/tests/wrapper/playgrounds/vertical_playground_compressed.html similarity index 100% rename from wrapper/playgrounds/vertical_playground_compressed.html rename to tests/wrapper/playgrounds/vertical_playground_compressed.html