Skip to content

Commit

Permalink
initial tvos support and demo app target
Browse files Browse the repository at this point in the history
- add missing assets (Info-TV and images)
  • Loading branch information
sherbondy committed Dec 24, 2015
1 parent 9bc9345 commit e33b3eb
Show file tree
Hide file tree
Showing 32 changed files with 495 additions and 12 deletions.
5 changes: 3 additions & 2 deletions Ambly.podspec
@@ -1,14 +1,15 @@
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'
s.author = 'omcljs'
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
165 changes: 162 additions & 3 deletions ObjectiveC/Ambly Demo/Ambly Demo.xcodeproj/project.pbxproj
Expand Up @@ -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 */; };
Expand All @@ -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 = "<group>"; };
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 = "<group>"; };
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 = "<group>"; };
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 = "<group>"; };
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 = "<group>"; };
Expand All @@ -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;
};
Expand Down Expand Up @@ -75,6 +91,7 @@
isa = PBXGroup;
children = (
ED387D191A602B56007E40A2 /* Ambly Demo.app */,
AA64223A1C28A5D7002F7170 /* Ambly Demo TV.app */,
);
name = Products;
sourceTree = "<group>";
Expand All @@ -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 */,
Expand All @@ -98,6 +116,7 @@
isa = PBXGroup;
children = (
ED387D1D1A602B56007E40A2 /* Info.plist */,
AA64223C1C28A8E5002F7170 /* Info-TV.plist */,
ED387D1E1A602B56007E40A2 /* main.m */,
);
name = "Supporting Files";
Expand All @@ -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" */;
Expand All @@ -132,7 +171,7 @@
ED387D111A602B55007E40A2 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0610;
LastUpgradeCheck = 0720;
ORGANIZATIONNAME = "Mike Fikes";
TargetAttributes = {
ED387D181A602B56007E40A2 = {
Expand All @@ -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;
Expand All @@ -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;
Expand Down Expand Up @@ -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;
Expand All @@ -233,6 +338,14 @@
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
AA25B1871C2B5567002F61FD /* Main-TV.storyboard */ = {
isa = PBXVariantGroup;
children = (
AA25B1881C2B5567002F61FD /* Base */,
);
name = "Main-TV.storyboard";
sourceTree = "<group>";
};
ED387D261A602B56007E40A2 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
Expand All @@ -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 = {
Expand All @@ -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;
Expand Down Expand Up @@ -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;
Expand All @@ -346,13 +495,23 @@
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;
};
/* 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 = (
Expand Down
11 changes: 8 additions & 3 deletions ObjectiveC/Ambly Demo/Ambly Demo/AppDelegate.m
Expand Up @@ -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
Expand Down
53 changes: 53 additions & 0 deletions ObjectiveC/Ambly Demo/Ambly Demo/Base.lproj/Main-TV.storyboard
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder.AppleTV.Storyboard" version="3.0" toolsVersion="9531" systemVersion="15D9c" targetRuntime="AppleTV" propertyAccessControl="none" useAutolayout="YES" initialViewController="vXZ-lx-hvc">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="ufC-wZ-h7g">
<objects>
<viewController id="vXZ-lx-hvc" customClass="ViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="jyV-Pf-zRb"/>
<viewControllerLayoutGuide type="bottom" id="2fi-mo-0CV"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
<rect key="frame" x="0.0" y="0.0" width="1920" height="1080"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="omcljs" translatesAutoresizingMaskIntoConstraints="NO" id="TH1-Sg-qzY">
<rect key="frame" x="890" y="470" width="140" height="140"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Ambly" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZSq-xm-e99">
<rect key="frame" x="936" y="424" width="49" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="omcljs" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6Wx-Tu-8nK">
<rect key="frame" x="935" y="625" width="50" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="TH1-Sg-qzY" firstAttribute="centerY" secondItem="kh9-bI-dsS" secondAttribute="centerY" id="EBc-Mf-fju"/>
<constraint firstItem="TH1-Sg-qzY" firstAttribute="centerX" secondItem="kh9-bI-dsS" secondAttribute="centerX" id="JbZ-PW-dWH"/>
<constraint firstItem="6Wx-Tu-8nK" firstAttribute="centerX" secondItem="TH1-Sg-qzY" secondAttribute="centerX" id="ORu-ym-MdZ"/>
<constraint firstItem="TH1-Sg-qzY" firstAttribute="top" secondItem="ZSq-xm-e99" secondAttribute="bottom" constant="25" id="QTA-bF-2vc"/>
<constraint firstItem="6Wx-Tu-8nK" firstAttribute="trailing" secondItem="ZSq-xm-e99" secondAttribute="trailing" id="jO4-JK-Zkn"/>
<constraint firstItem="6Wx-Tu-8nK" firstAttribute="top" secondItem="TH1-Sg-qzY" secondAttribute="bottom" constant="15" id="nW8-Nc-IZT"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
<resources>
<image name="omcljs" width="140" height="140"/>
</resources>
</document>

0 comments on commit e33b3eb

Please sign in to comment.