From e33b3ebf0aa02a5679eb35759d99cf64319945ed Mon Sep 17 00:00:00 2001 From: Ethan Sherbondy Date: Wed, 23 Dec 2015 19:07:55 -0500 Subject: [PATCH] initial tvos support and demo app target - add missing assets (Info-TV and images) --- Ambly.podspec | 5 +- .../Ambly Demo.xcodeproj/project.pbxproj | 165 +++++++++++++++++- .../Ambly Demo/Ambly Demo/AppDelegate.m | 11 +- .../Ambly Demo/Base.lproj/Main-TV.storyboard | 53 ++++++ .../Content.imageset/Contents.json | 13 ++ .../Content.imageset/amblytvlargebg.png | Bin 0 -> 4699 bytes .../Back.imagestacklayer/Contents.json | 6 + .../App Icon - Large.imagestack/Contents.json | 17 ++ .../Content.imageset/Contents.json | 13 ++ .../Content.imageset/amblytvlargefg.png | Bin 0 -> 10887 bytes .../Front.imagestacklayer/Contents.json | 6 + .../Content.imageset/Contents.json | 12 ++ .../Middle.imagestacklayer/Contents.json | 6 + .../Content.imageset/Contents.json | 13 ++ .../Content.imageset/amblytvsmallbg.png | Bin 0 -> 966 bytes .../Back.imagestacklayer/Contents.json | 6 + .../App Icon - Small.imagestack/Contents.json | 17 ++ .../Content.imageset/Contents.json | 13 ++ .../Content.imageset/amblytvsmallfg.png | Bin 0 -> 1738 bytes .../Front.imagestacklayer/Contents.json | 6 + .../Content.imageset/Contents.json | 12 ++ .../Middle.imagestacklayer/Contents.json | 6 + .../Brand Assets.brandassets/Contents.json | 26 +++ .../Top Shelf Image.imageset/Contents.json | 13 ++ .../amblytvtopshelf.png | Bin 0 -> 21401 bytes .../Ambly Demo/Images.xcassets/Contents.json | 6 + .../LaunchImage.launchimage/Contents.json | 16 ++ .../ambly launchimage.png | Bin 0 -> 34389 bytes .../Ambly Demo/Ambly Demo/Info-TV.plist | 44 +++++ ObjectiveC/Ambly Demo/Ambly Demo/Info.plist | 2 +- ObjectiveC/Ambly Demo/Podfile | 9 +- README.md | 11 +- 32 files changed, 495 insertions(+), 12 deletions(-) create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Base.lproj/Main-TV.storyboard create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/amblytvlargebg.png create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/amblytvlargefg.png create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/amblytvsmallbg.png create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/amblytvsmallfg.png create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/Top Shelf Image.imageset/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/Top Shelf Image.imageset/amblytvtopshelf.png create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/LaunchImage.launchimage/Contents.json create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/LaunchImage.launchimage/ambly launchimage.png create mode 100644 ObjectiveC/Ambly Demo/Ambly Demo/Info-TV.plist diff --git a/Ambly.podspec b/Ambly.podspec index 1172d0c..cee7760 100644 --- a/Ambly.podspec +++ b/Ambly.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'Ambly' - s.version = '0.6.0' + s.version = '0.6.1' s.license = { :type => 'Eclipse Public License 1.0', :file => 'LICENSE' } s.summary = 'ClojureScript REPL into embedded JavaScriptCore' s.homepage = 'https://github.com/omcljs/ambly' @@ -8,7 +8,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/omcljs/ambly.git', :tag => '0.6.0' } s.source_files = 'ObjectiveC/src/*.{h,m}' s.ios.deployment_target = '8.0' + s.tvos.deployment_target = '9.0' s.osx.deployment_target = '10.10' s.requires_arc = true - s.dependency "GCDWebServer/WebDAV", "~> 3.2.2" + s.dependency "GCDWebServer/WebDAV", "~> 3.3" end diff --git a/ObjectiveC/Ambly Demo/Ambly Demo.xcodeproj/project.pbxproj b/ObjectiveC/Ambly Demo/Ambly Demo.xcodeproj/project.pbxproj index e376834..52d1995 100644 --- a/ObjectiveC/Ambly Demo/Ambly Demo.xcodeproj/project.pbxproj +++ b/ObjectiveC/Ambly Demo/Ambly Demo.xcodeproj/project.pbxproj @@ -7,7 +7,13 @@ objects = { /* Begin PBXBuildFile section */ - EB386310CA1795C2F38E53DD /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8421BD0F847CD3A5A6AB8276 /* libPods.a */; }; + A3EDC7AB78F0E8A10DFEB13F /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8421BD0F847CD3A5A6AB8276 /* libPods.a */; }; + AA25B1891C2B5567002F61FD /* Main-TV.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA25B1871C2B5567002F61FD /* Main-TV.storyboard */; }; + AA64222C1C28A5D7002F7170 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = ED387D241A602B56007E40A2 /* ViewController.m */; }; + AA64222D1C28A5D7002F7170 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = ED387D211A602B56007E40A2 /* AppDelegate.m */; }; + AA64222E1C28A5D7002F7170 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = ED387D1E1A602B56007E40A2 /* main.m */; }; + AA6422341C28A5D7002F7170 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ED387D291A602B56007E40A2 /* Images.xcassets */; }; + AA64223D1C28A8E5002F7170 /* Info-TV.plist in Resources */ = {isa = PBXBuildFile; fileRef = AA64223C1C28A8E5002F7170 /* Info-TV.plist */; }; ED387D1F1A602B56007E40A2 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = ED387D1E1A602B56007E40A2 /* main.m */; }; ED387D221A602B56007E40A2 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = ED387D211A602B56007E40A2 /* AppDelegate.m */; }; ED387D251A602B56007E40A2 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = ED387D241A602B56007E40A2 /* ViewController.m */; }; @@ -19,6 +25,9 @@ /* Begin PBXFileReference section */ 189D2BD4775C4255534FEA43 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; 8421BD0F847CD3A5A6AB8276 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; + AA25B1881C2B5567002F61FD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = "Base.lproj/Main-TV.storyboard"; sourceTree = ""; }; + AA64223A1C28A5D7002F7170 /* Ambly Demo TV.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Ambly Demo TV.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + AA64223C1C28A8E5002F7170 /* Info-TV.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-TV.plist"; sourceTree = ""; }; E0FE70D7629FF1EB446AB132 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; ED387D191A602B56007E40A2 /* Ambly Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Ambly Demo.app"; sourceTree = BUILT_PRODUCTS_DIR; }; ED387D1D1A602B56007E40A2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -33,11 +42,18 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + AA64222F1C28A5D7002F7170 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; ED387D161A602B56007E40A2 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EB386310CA1795C2F38E53DD /* libPods.a in Frameworks */, + A3EDC7AB78F0E8A10DFEB13F /* libPods.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -75,6 +91,7 @@ isa = PBXGroup; children = ( ED387D191A602B56007E40A2 /* Ambly Demo.app */, + AA64223A1C28A5D7002F7170 /* Ambly Demo TV.app */, ); name = Products; sourceTree = ""; @@ -87,6 +104,7 @@ ED387D231A602B56007E40A2 /* ViewController.h */, ED387D241A602B56007E40A2 /* ViewController.m */, ED387D261A602B56007E40A2 /* Main.storyboard */, + AA25B1871C2B5567002F61FD /* Main-TV.storyboard */, ED387D291A602B56007E40A2 /* Images.xcassets */, ED387D2B1A602B56007E40A2 /* LaunchScreen.xib */, ED387D1C1A602B56007E40A2 /* Supporting Files */, @@ -98,6 +116,7 @@ isa = PBXGroup; children = ( ED387D1D1A602B56007E40A2 /* Info.plist */, + AA64223C1C28A8E5002F7170 /* Info-TV.plist */, ED387D1E1A602B56007E40A2 /* main.m */, ); name = "Supporting Files"; @@ -106,6 +125,26 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ + AA6422291C28A5D7002F7170 /* Ambly Demo TV */ = { + isa = PBXNativeTarget; + buildConfigurationList = AA6422371C28A5D7002F7170 /* Build configuration list for PBXNativeTarget "Ambly Demo TV" */; + buildPhases = ( + AA64222A1C28A5D7002F7170 /* Check Pods Manifest.lock */, + AA64222B1C28A5D7002F7170 /* Sources */, + AA64222F1C28A5D7002F7170 /* Frameworks */, + AA6422311C28A5D7002F7170 /* Resources */, + AA6422351C28A5D7002F7170 /* Copy Pods Resources */, + AA6422361C28A5D7002F7170 /* Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Ambly Demo TV"; + productName = "Ambly Demo"; + productReference = AA64223A1C28A5D7002F7170 /* Ambly Demo TV.app */; + productType = "com.apple.product-type.application"; + }; ED387D181A602B56007E40A2 /* Ambly Demo */ = { isa = PBXNativeTarget; buildConfigurationList = ED387D3C1A602B56007E40A2 /* Build configuration list for PBXNativeTarget "Ambly Demo" */; @@ -132,7 +171,7 @@ ED387D111A602B55007E40A2 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + LastUpgradeCheck = 0720; ORGANIZATIONNAME = "Mike Fikes"; TargetAttributes = { ED387D181A602B56007E40A2 = { @@ -154,17 +193,28 @@ projectRoot = ""; targets = ( ED387D181A602B56007E40A2 /* Ambly Demo */, + AA6422291C28A5D7002F7170 /* Ambly Demo TV */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + AA6422311C28A5D7002F7170 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AA25B1891C2B5567002F61FD /* Main-TV.storyboard in Resources */, + AA6422341C28A5D7002F7170 /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; ED387D171A602B56007E40A2 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ED387D281A602B56007E40A2 /* Main.storyboard in Resources */, ED387D2D1A602B56007E40A2 /* LaunchScreen.xib in Resources */, + AA64223D1C28A8E5002F7170 /* Info-TV.plist in Resources */, ED387D2A1A602B56007E40A2 /* Images.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -187,6 +237,51 @@ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; + AA64222A1C28A5D7002F7170 /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + AA6422351C28A5D7002F7170 /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + AA6422361C28A5D7002F7170 /* Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; DC1C3037EC37A1E5352A5CEA /* Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -220,6 +315,16 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + AA64222B1C28A5D7002F7170 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AA64222C1C28A5D7002F7170 /* ViewController.m in Sources */, + AA64222D1C28A5D7002F7170 /* AppDelegate.m in Sources */, + AA64222E1C28A5D7002F7170 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; ED387D151A602B56007E40A2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -233,6 +338,14 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ + AA25B1871C2B5567002F61FD /* Main-TV.storyboard */ = { + isa = PBXVariantGroup; + children = ( + AA25B1881C2B5567002F61FD /* Base */, + ); + name = "Main-TV.storyboard"; + sourceTree = ""; + }; ED387D261A602B56007E40A2 /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( @@ -252,6 +365,40 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + AA6422381C28A5D7002F7170 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E0FE70D7629FF1EB446AB132 /* Pods.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "Brand Assets"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + INFOPLIST_FILE = "$(SRCROOT)/Ambly Demo/Info-TV.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "org.omcljs.ambly.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SUPPORTED_PLATFORMS = "appletvsimulator appletvos"; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + }; + name = Debug; + }; + AA6422391C28A5D7002F7170 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 189D2BD4775C4255534FEA43 /* Pods.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "Brand Assets"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + INFOPLIST_FILE = "$(SRCROOT)/Ambly Demo/Info-TV.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "org.omcljs.ambly.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SUPPORTED_PLATFORMS = "appletvsimulator appletvos"; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + }; + name = Release; + }; ED387D3A1A602B56007E40A2 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -272,6 +419,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -335,6 +483,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; INFOPLIST_FILE = "Ambly Demo/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "org.omcljs.ambly.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; @@ -346,6 +495,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; INFOPLIST_FILE = "Ambly Demo/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "org.omcljs.ambly.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; @@ -353,6 +503,15 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + AA6422371C28A5D7002F7170 /* Build configuration list for PBXNativeTarget "Ambly Demo TV" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AA6422381C28A5D7002F7170 /* Debug */, + AA6422391C28A5D7002F7170 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; ED387D141A602B55007E40A2 /* Build configuration list for PBXProject "Ambly Demo" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/AppDelegate.m b/ObjectiveC/Ambly Demo/Ambly Demo/AppDelegate.m index b2de5af..83e1e6f 100644 --- a/ObjectiveC/Ambly Demo/Ambly Demo/AppDelegate.m +++ b/ObjectiveC/Ambly Demo/Ambly Demo/AppDelegate.m @@ -55,9 +55,14 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( - (NSURL *)privateDocumentsDirectory { - NSURL *libraryDirectory = [[[NSFileManager defaultManager] URLsForDirectory:NSLibraryDirectory inDomains:NSUserDomainMask] lastObject]; - - return [libraryDirectory URLByAppendingPathComponent:@"Private Documents"]; + NSSearchPathDirectory directory; +#ifdef TARGET_OS_TV + directory = NSCachesDirectory; +#else + directory = NSLibraryDirectory; +#endif + NSURL *userDirectory = [[[NSFileManager defaultManager] URLsForDirectory:directory inDomains:NSUserDomainMask] lastObject]; + return [userDirectory URLByAppendingPathComponent:@"Private Documents"]; } - (void)createDirectoriesUpTo:(NSURL*)directory diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Base.lproj/Main-TV.storyboard b/ObjectiveC/Ambly Demo/Ambly Demo/Base.lproj/Main-TV.storyboard new file mode 100644 index 0000000..0bb4030 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Base.lproj/Main-TV.storyboard @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..4f143d0 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "tv", + "filename" : "amblytvlargebg.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/amblytvlargebg.png b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/amblytvlargebg.png new file mode 100644 index 0000000000000000000000000000000000000000..d2e2eb4933ca4a7ab0bf0493a49f34ef8a242fe2 GIT binary patch literal 4699 zcmeAS@N?(olHy`uVBq!ia0y~yUSwM;<-O<;Pfnj4m_n$Lkk1LFQ8Dv3kHT#0|tgy2@DKYGZ+}e3+C(!v;j)6C3(BMF#HF>1$&oI z28wVNctjR6FmMZjFyp1Wb$=Kb1owNoIEGZ*dVBpK?*RpY0~;>=Ew|go(0N1n$!t?& zd7!R6@Ak_ADF$_k1RyEI1GI~QlT89>GYc~h1A{{oBOB0R2Z1hUn2^xG$iU!XZ~&-8 zWmNfS$c!d}(d;o=5{#CSqt(G^MLF6g7;P<$HVj9b%%i=7(SFlt7jd-nJUUK5g%Oku ajEB~9{N43_!(3qViow&>&t;ucLK6Vy`gOek literal 0 HcmV?d00001 diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Contents.json new file mode 100644 index 0000000..d29f024 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..e14ce08 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "tv", + "filename" : "amblytvlargefg.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/amblytvlargefg.png b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/amblytvlargefg.png new file mode 100644 index 0000000000000000000000000000000000000000..55cbef292ba91a73663a1c64b45302f8c28da441 GIT binary patch literal 10887 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 literal 0 HcmV?d00001 diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..ead6dfe --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "tv", + "filename" : "amblytvsmallbg.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/amblytvsmallbg.png b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/amblytvsmallbg.png new file mode 100644 index 0000000000000000000000000000000000000000..742e331740a279cb3f041b040215e5afe98158ff GIT binary patch literal 966 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCf8byOk_+ROmI5i3bVpxD28NCO+74By5ah_ zGdc}TpRE}lOig5zY-3H45Sx$~;m|h984ZJxm=0nl<+9v0_*u~g%t{QNu6{1-oD!M< D9k&w^ literal 0 HcmV?d00001 diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Contents.json new file mode 100644 index 0000000..d29f024 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..b90ffa5 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "tv", + "filename" : "amblytvsmallfg.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/amblytvsmallfg.png b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/amblytvsmallfg.png new file mode 100644 index 0000000000000000000000000000000000000000..c3b1c41e32308b30725884d6a4d0bb7e862d5850 GIT binary patch literal 1738 zcmd5+`#TeQ82^%T?YOMclOu7=ggl<)xaYEUZ0;mdmRuX<&KMi!Ax6&T)@&S(wC=gb zNGP|Mh%6qLk;cdwqPb0VR)0nB^L##^_x3#R`@{RZBv)s`WB}(L?Us`#>obNTC(h(-+obiA^_>`1VEw|0IBH!?21yUivYwK0PyK50A|Gi zC`XpIxLJq_2mBrE5F!=X4*YqFNTef?-Z22kD*b@i$aM0as7oJ(u<=Nk;7@;dn?xQ0 zv(%C^vqwsmm`Xo@A?gwf0n}QWDWUzcaJG;lgukCk%wwQ;l))}}Lw*o-1mb65w zTU)s~nEf|gV@@6SZDUF-s##NksaKC#8SWT9=_h88Eg{~att161ktetd!&B*m9Deg} z5hY_0G80H1sx`RU%C5^S>3fyNZNa@KnWoH68mVQoQSx4YISAa-Mc?Il?k4>u%Pt$7Qa zG+T!_x=zUY{-e8dOG*D_$9Qf(-y}hpt~heQ;&A*t4MrL18oeSd4=u4E$#t*6=v=oL zJUOG63Zvj|nZM)&3E5xLdo(E)iiMkt>n08m`N)d($HTmBpGPgZ3xVk9Xh#>!;~PR; zBf5-vJaG=ga#_An-fb-hj~Xzpp67G^YN}v3_7ofS$z&-DwTJ=V>OgHrM#SB|sLHk0TP#2Jqsd&r>Krmieo|I0%bSw%o^>)>nWee}aBE!TVk_`DL zS5#n;j8MpH^@%56Rd<9&K^3ib1`FHvN!Uz%S$6W~&TJYw=m|d3da3(>@_>axDBs*= z&WB?cZk`hbWdtGcnnUr>n_mRvtOV0e-f68t`cQ!^lt>A+GqpsV@4@8`ZD@H`Ubd>P zmDcp%V`J%ZSiz$s=8aa2`&?eW#QGti!qt(1(OK2l4t)owO5V}B?y z>I{&_b$>N)VZnW$>UkXFts3_BDQgfZI;N(MaRT$>vtfqxKUlCB0u|6K^5U^CkZzwcof0*o0jC)#BQWhIr z`$B0|r;*xFY%A{F%}cWE^~r5=XbD8_($oS_6g;|?F2Rn=bB#%nV`}VNi0^A9j}?20 zhqMc7f|FU}tNTt)^IRRMu}i{ms``eikR}w1ZOQ$hS(p8tWp&>11f$nG`k5v6?z@M< zf-S;J4^maN;Z2t*1nf?;>FytNRN78y=KO-7Jz#fPjnPY+VJ4G<|7MX*I6hP=k(XI_ zYhl$0J39KVBL+C@`KBd5g5MD{sim)SKx)>u#k4UT~Hvb@TJ9B|M^Dvu(e0v((IxD)1q0VHN@{GPq*D=m-6|)>_=2WO2FMDX+_; QGd~ijbIyn=+pB5+12bT{9{>OV literal 0 HcmV?d00001 diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/Contents.json new file mode 100644 index 0000000..21cebab --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/Contents.json @@ -0,0 +1,26 @@ +{ + "assets" : [ + { + "size" : "1280x768", + "idiom" : "tv", + "filename" : "App Icon - Large.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "400x240", + "idiom" : "tv", + "filename" : "App Icon - Small.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "1920x720", + "idiom" : "tv", + "filename" : "Top Shelf Image.imageset", + "role" : "top-shelf-image" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/Top Shelf Image.imageset/Contents.json b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/Top Shelf Image.imageset/Contents.json new file mode 100644 index 0000000..f345642 --- /dev/null +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/Top Shelf Image.imageset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "tv", + "filename" : "amblytvtopshelf.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/Top Shelf Image.imageset/amblytvtopshelf.png b/ObjectiveC/Ambly Demo/Ambly Demo/Images.xcassets/Brand Assets.brandassets/Top Shelf Image.imageset/amblytvtopshelf.png new file mode 100644 index 0000000000000000000000000000000000000000..12fb845315f1a8b017b85409e43fbf84104887f4 GIT binary patch literal 21401 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 UcI1z + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIcons + + CFBundleIcons~ipad + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 0.6.1 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main-TV + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/ObjectiveC/Ambly Demo/Ambly Demo/Info.plist b/ObjectiveC/Ambly Demo/Ambly Demo/Info.plist index b6d10e7..b3056ca 100644 --- a/ObjectiveC/Ambly Demo/Ambly Demo/Info.plist +++ b/ObjectiveC/Ambly Demo/Ambly Demo/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.6.0 + 0.6.1 CFBundleSignature ???? CFBundleVersion diff --git a/ObjectiveC/Ambly Demo/Podfile b/ObjectiveC/Ambly Demo/Podfile index b49e541..2ede308 100644 --- a/ObjectiveC/Ambly Demo/Podfile +++ b/ObjectiveC/Ambly Demo/Podfile @@ -1,4 +1,11 @@ source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' + +target 'Ambly Demo' do + platform :ios, '8.0' +end + +target 'Ambly Demo TV' do + platform :tvos, '9.0' +end pod 'Ambly', :path => '../../' diff --git a/README.md b/README.md index bbe2c04..43082fa 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,17 @@ Ambly is a REPL designed for use when developing hybrid ClojureScript iOS apps. Ambly comprises a ClojureScript REPL implementation, along with Objective-C code interfacing JavaScriptCore. -An iOS app is included, making it easy to give the REPL a spin. [Watch a demo.](http://youtu.be/TVDkYZJW2MY) +An iOS/tvOS app is included, making it easy to give the REPL a spin. [Watch a demo.](http://youtu.be/TVDkYZJW2MY) ``` platform :ios, '8.0' -pod "Ambly", "~> 0.6.0" +pod "Ambly", "~> 0.6.1" +``` + +To use with tvOS, just change or add the platform in your Podfile like so: + +``` +platform :tvos, '9.0' ``` [![Clojars Project](http://clojars.org/org.omcljs/ambly/latest-version.svg)](http://clojars.org/org.omcljs/ambly) @@ -40,6 +46,7 @@ $ lein run [1] Ambly Demo on iPod touch [2] Ambly Demo on iPad [3] Ambly Demo on iPhone Simulator (My-Mac-Pro) +[4] Ambly Demo TV on Apple TV [R] Refresh