Compare commits

...
121 Commits
Author SHA1 Message Date
Diego Waxemberg c8b13126d0 Adding build 0.9.2 2015-07-15 20:24:13 -07:00
Diego Waxemberg 96cfe0b70d bumping build number for new beta 2015-07-15 20:21:29 -07:00
Cameron Gutman 6dbb938368 Speed up app icon load time by 2 seconds by only waiting if it failed 2015-07-12 00:43:20 -07:00
Cameron Gutman 46fe7a8aed Don't show error messages if the PC isn't selected anymore 2015-07-12 00:30:44 -07:00
Cameron Gutman 3151ac6bf0 Remove hosts from discovery while they're handling operations the for UI. Sometimes these operations take a while and block the server from responding to our serverinfo queries that determine its online status. 2015-07-12 00:23:48 -07:00
Cameron Gutman dc5210f691 Propagate the running flag to the applist cache 2015-07-12 00:12:53 -07:00
Cameron Gutman 1f02265003 Fix a race condition that could cause an app to be populated with a null host 2015-07-11 23:59:09 -07:00
Cameron Gutman e4af9032e2 Implement a fast path to the app grid for online, paired machines with cached app lists. 2015-07-11 21:59:41 -07:00
Cameron Gutman e8650b2420 Don't use lightweight generics for Xcode 6 compatibility 2015-07-11 21:59:01 -07:00
Diego Waxemberg 9c6b718be2 fixed issue with apps duplicating in app list 2015-07-11 18:47:05 -07:00
Cameron Gutman 8f12114a56 Merge branch 'master' into persist-app-list 2015-07-11 01:38:30 -07:00
Cameron Gutman dc6ebffab1 Allow unpaired computer to be deleted. Remove the unpairing option since it hasn't worked for ages. 2015-07-11 01:29:28 -07:00
Cameron Gutman 13e894e9a3 Refactor app list to be non-static and sorted in alphabetical order 2015-07-11 01:28:52 -07:00
Cameron Gutman 4c95773131 Long clicking hosts that aren't paired doesn't bring up any useful options, so disable it 2015-07-11 00:13:58 -07:00
Cameron Gutman 38776a01e4 Only create an app if an app ID was found 2015-07-11 00:10:13 -07:00
Cameron Gutman b2563e534d Null terminate strings before passing them to BIO_puts 2015-07-10 22:33:09 -07:00
Diego Waxemberg 37f25c1f97 fixed some bugs with saving app list to database 2015-07-10 22:19:25 -07:00
Diego Waxemberg 642085ca32 App lists are now persisted in the database 2015-07-10 21:22:57 -07:00
Cameron Gutman 5dee29a21c Add a play indicator for running apps 2015-07-10 18:09:12 -07:00
Cameron Gutman b01d13976b Improve speed and reliability of host detection 2015-07-10 12:18:09 -07:00
Cameron Gutman ae1c83a011 Fix returning to the host selection screen after a failure 2015-07-10 11:52:27 -07:00
Cameron Gutman e5f962dc3f Perform stricter status checks during pairing to fix a crash when paired=3 2015-07-10 11:43:47 -07:00
Cameron Gutman 54dd79d2dd Remove OK button from pairing PIN dialog, since it dismisses automatically 2015-07-10 11:37:32 -07:00
Cameron Gutman 935fb6ffe3 Fix streaming over the external IP address when discovered via mDNS 2015-07-10 00:28:51 -07:00
Cameron Gutman 48d1c1a080 Commit host removals immediately so they remain if the app is unexpectedly terminated 2015-07-09 23:52:05 -07:00
Cameron Gutman 2d02ce2a1b Change the PC status to offline and return to the host selection screen if server info or applist is unavailable 2015-07-09 23:48:18 -07:00
Cameron Gutman 29fda59a72 Add applist and server info fetching error dialogs. Open the options menu when a user taps an offline PC. 2015-07-09 21:15:52 -07:00
Cameron Gutman 05f0dfd4f5 Replace dispatch_sync with dispatch_async in pairing 2015-07-09 21:02:19 -07:00
Cameron Gutman 0bdc5a83f1 Go directly to the app list after pairing like Android 2015-07-09 20:39:15 -07:00
Cameron Gutman 8688bf1210 Add failure handling for quitting apps 2015-07-09 20:33:23 -07:00
Cameron Gutman bf0858d57e Fix spelling mistake 2015-07-09 20:32:03 -07:00
Cameron Gutman 8d4d391310 For real this time - Update common to pickup Xcode 7 changes 2015-07-08 23:49:34 -07:00
Cameron Gutman 8fb15336c4 Update common to pickup Xcode 7 changes 2015-07-08 23:45:20 -07:00
Cameron Gutman 883385c42b Merge branch 'xcode-7.0' 2015-07-08 23:43:03 -07:00
Cameron Gutman 6d1139796e Cherry pick e58eb5f - Removing LimelightTests target 2015-07-08 23:25:37 -07:00
Cameron Gutman e58eb5f56a Remove LimelightTests target since it's old and unused 2015-07-08 23:21:05 -07:00
Cameron Gutman 2b0ce49646 Merge branch 'master' into xcode-7.0
Conflicts:
	limelight-common-c
2015-07-08 23:13:55 -07:00
Cameron Gutman 73364127d2 Fix pairing with GFE 2.4.5.57+ 2015-07-08 23:03:23 -07:00
Cameron Gutman 84a986bc88 Switch from deprecated NSURLConnection to NSURLSession 2015-07-08 22:35:25 -07:00
Cameron Gutman f13051aa31 Prepare for HTTP requests 2015-07-08 21:31:47 -07:00
Cameron Gutman 6bb559303b Remove executeRequest from HttpManager. It has some show-stopping bugs, like leaking semaphore counts (since it never waited) and being generally thread-unsafe. Implementing it in a way that would be asynchronous and thread-safe is a non-trivial task, so I've opted to remove it and change callers to use executeRequestSynchronously. 2015-07-08 21:26:01 -07:00
Cameron Gutman b7324f9a44 Remove a parameter from LiStartConnection 2015-07-08 19:17:58 -07:00
Cameron Gutman c0b2bbe552 Remove a parameter from LiStartConnection 2015-07-08 19:16:48 -07:00
Cameron Gutman 8c36cf40fd Update common for a leak fix and other minor bugs 2015-07-08 19:16:17 -07:00
Diego Waxemberg 717296269f updating common to xcode 7.0 settings 2015-07-04 11:23:31 -07:00
Diego Waxemberg 4be29abede updated project settings for xcode 7.0 2015-07-04 11:13:05 -07:00
Cameron Gutman 528af9684e Update common-c to fix scrolling issues 2015-06-25 21:54:39 -07:00
Cameron Gutman ff7a4ef190 Update common with better error messages 2015-06-25 00:11:09 -07:00
Cameron Gutman 99a2dbb956 Switch from deprecated UIAlertView to UIAlertController for pairing 2015-06-23 22:23:12 -07:00
Cameron Gutman 280341791a Use non-deprecated NSManagedObjectContext initializer 2015-06-23 22:09:08 -07:00
Cameron Gutman 1759565920 Removed supportedInterfaceOrientations since it didn't do anything and caused a warning on iOS 9 because the prototype seems to have changed 2015-06-23 22:01:59 -07:00
Cameron Gutman f57fa678f6 Escaping the URL strings is not required because no reserved characters are ever sent. Plus it's deprecated in iOS 9. 2015-06-23 21:58:32 -07:00
Cameron Gutman f8b5b16109 Create alert dialogs on the main thread 2015-06-23 21:46:58 -07:00
Cameron Gutman 005a678089 Disable App Transport Security since we need to make requests over HTTP and HTTPS to servers with self-signed certificates 2015-06-20 13:11:49 -07:00
Cameron Gutman 315dd53dcb Disable bitcode until native libraries are rebuilt for it 2015-06-20 13:06:02 -07:00
Cameron Gutman bb24495b3f Warning fix (char* -> const char*) 2015-06-19 20:53:14 -07:00
Cameron Gutman b9f2764990 Update common 2015-06-17 23:48:58 -07:00
Cameron Gutman a9a00629b1 Use API 1.1 common in preparation for IPv6 requirement 2015-06-17 23:32:00 -07:00
Diego Waxemberg 1223a9013f updated libopus and Opus build scrips 2015-06-01 22:25:56 -07:00
Diego Waxemberg ab019eef0f got rid of dumb compiler warnings 2015-06-01 00:36:21 -07:00
Diego Waxemberg 20f82ff739 updated project to Moonlight and created build 0.9.1 2015-05-31 23:57:47 -07:00
Diego Waxemberg 4d55a6a7e9 missed a file in earlier commit, this actually fixes the on screen control issues 2015-05-31 23:57:04 -07:00
Cameron Gutman d7ec41d56e Fix a controller batching bug 2015-06-01 01:30:18 -05:00
Diego Waxemberg a6a1929a43 updated icons to have different resolutions and fixed layout for smaller iPhones 2015-05-31 23:22:20 -07:00
Cameron Gutman 722850ceb6 Fix mouse batching bug 2015-05-29 16:42:00 -05:00
Diego Waxemberg 5a976764c3 now use custom edge swipe detection 2015-05-29 00:46:43 -07:00
Diego Waxemberg f90becb2f6 no longer try to parse responses when a network error occurs 2015-05-29 00:15:48 -07:00
Diego Waxemberg 5296b2eb39 now stop app asset requests before attempting to start a stream 2015-05-28 23:47:30 -07:00
Diego Waxemberg 987a30e15f updated style for moonlight 2015-05-28 23:39:13 -07:00
Diego Waxemberg 0880c3639c Merge branch 'master' of github.com:limelight-stream/limelight-ios 2015-05-28 23:38:09 -07:00
Diego Waxemberg 2972d40d92 added limit to app asset request 2015-05-28 23:37:55 -07:00
Cameron Gutman c4430ef18d Use the new optimizations added to common-c 2015-05-28 15:17:37 -05:00
Cameron Gutman 6b97af13bf Update common-c and remove unused callbacks 2015-05-13 23:13:20 -05:00
Cameron Gutman cd18ca64bb Fix build of tests and a warning in the main app 2015-05-13 23:07:05 -05:00
Diego Waxemberg d3c6302681 bumping common 2015-05-12 21:54:00 -04:00
Diego Waxemberg 58bd3cc706 Merge branch 'master' of github.com:limelight-stream/limelight-ios 2015-05-12 21:49:31 -04:00
Diego Waxemberg 8d3401f962 Changed name from Limelight to Moonlight due to C&D from Limelight
Networks, Inc.
2015-05-12 21:48:30 -04:00
Cameron Gutman dfc86015bd Renaming projects to Moonlight 2015-04-21 21:43:57 -04:00
Diego Waxemberg 772ee3a680 v0.9.0 first release candidate 2015-04-05 22:02:45 -07:00
Cameron Gutman f217ca9bbe Set the bitrate slider value based on the real interval instead of 1000 2015-04-06 00:48:54 -04:00
Cameron Gutman fab8d604d2 Check UUID length is non-zero before adding a new host 2015-04-06 00:27:36 -04:00
Cameron Gutman 7767ae497b Revert "Added a hack to de-duplicate hosts and some more checks when adding a host to minimize the chances for dupes"
This reverts commit fd9ee45dac.
2015-04-06 00:22:51 -04:00
Cameron Gutman 58e41dfcf1 Revert "forgot to add project file"
This reverts commit dfa07bf94b.
2015-04-06 00:22:45 -04:00
Diego Waxemberg 796ab2bf90 should now save hosts discovered through mdns 2015-04-05 21:18:22 -07:00
Diego Waxemberg dfa07bf94b forgot to add project file 2015-04-05 20:30:44 -07:00
Diego Waxemberg f43c74d59b trim whitespace from server info responses 2015-04-05 20:30:13 -07:00
Diego Waxemberg fd9ee45dac Added a hack to de-duplicate hosts and some more checks when adding a host to minimize the chances for dupes 2015-04-05 20:08:21 -07:00
Diego Waxemberg 40a04eb08b v0.4.1 2015-04-05 19:05:08 -07:00
Diego Waxemberg e9cff8f7b7 Merge branch 'master' of github.com:limelight-stream/limelight-ios 2015-04-05 19:00:01 -07:00
Cameron Gutman acee0af9df Update common to fix #58 2015-04-05 21:59:31 -04:00
Diego Waxemberg 8d3e81ed25 L3/R3 now show up on simple on-screen controls 2015-04-05 18:59:11 -07:00
Diego Waxemberg 5f8b0672f7 v0.4.0 build 2 2015-04-05 17:36:30 -07:00
Diego Waxemberg 62bbec3c5d now hide the loading spinner on network errors 2015-04-05 17:25:05 -07:00
Diego Waxemberg 65f7e75736 now show loading frame when waiting for background tasks 2015-02-24 22:33:14 -05:00
Diego Waxemberg 3617ea98e2 created a loading frame 2015-02-24 22:13:33 -05:00
Diego Waxemberg 81c84597c8 added ability to tag logs for easier filtering 2015-02-24 00:03:21 -05:00
Diego Waxemberg ea231e16b6 changed log level for connection errors 2015-02-24 00:03:02 -05:00
Diego Waxemberg c205b99080 changed bitrate to 0.5mbps interval 2015-02-24 00:02:37 -05:00
Diego Waxemberg e3dd4e7238 Created logger with log levels 2015-02-10 21:26:55 -05:00
Diego Waxemberg 0c36754ebe Now stop retrieving assets when the user deselects the host 2015-02-10 18:40:22 -05:00
Diego Waxemberg e7dc22bb15 Host discovery is much better now 2015-02-10 17:40:49 -05:00
Cameron Gutman d4b5ec5764 Only retry 5 times to fetch box art 2015-02-10 16:13:06 -05:00
Diego Waxemberg bed8c729f9 Merge branch 'master' of github.com:limelight-stream/limelight-ios
# By Michelle Bergeron
# Via Michelle Bergeron
* 'master' of github.com:limelight-stream/limelight-ios:
  Update README.md
2015-02-10 15:49:57 -05:00
Diego Waxemberg 0a767767fb Fixed crash if the applist did not contain certain info about the app 2015-02-10 15:48:29 -05:00
Diego Waxemberg e31df3f44e Fixed unregistering controllers and emulating extra buttons 2015-02-10 15:48:01 -05:00
Michelle Bergeron 9c9795ab1f Update README.md 2015-02-08 19:40:31 -08:00
Diego Waxemberg c7c28a18c5 hooked up multiple controller support 2015-02-02 03:22:09 -05:00
Diego Waxemberg 93119f25a6 added support for multiple controllers 2015-02-02 02:42:38 -05:00
Diego Waxemberg 1313429f65 Fix static analysis warning 2015-02-01 21:09:21 -05:00
Cameron Gutman 11c27baaf8 Finish GFE 2.1.x compatibility 2015-02-01 20:31:57 -05:00
Cameron Gutman d728e63bb4 Merge branch 'master' of github.com:limelight-stream/limelight-ios 2015-02-01 20:21:59 -05:00
Cameron Gutman 7d584fb4de Update for backwards compatibility with GFE 2.1.x (WIP) 2015-02-01 20:21:54 -05:00
Diego Waxemberg 7d7adb0753 now pass stream configuration through the segue 2015-02-01 19:46:28 -05:00
Diego Waxemberg 337e5e3d9d fixed host online state and simplified some code 2015-02-01 18:33:36 -05:00
Diego Waxemberg 879f304a79 Refactored http communications to be more abstract and OOP 2015-02-01 04:26:47 -05:00
Diego Waxemberg 75d3f23f0a forgot to commit the project 2015-01-31 20:22:23 -05:00
Diego Waxemberg 14f30349a3 improved app asset management and retrying to acquire 2015-01-31 20:10:14 -05:00
Diego Waxemberg 8e721a9c6a Fixed pairing bug 2015-01-31 16:13:25 -05:00
Diego Waxemberg e3e95c29f6 Created http response class and added error checking 2015-01-31 01:57:23 -05:00
Diego Waxemberg 4224d02eae created build 0.3.2 2015-01-23 18:20:53 -05:00
Cameron Gutman f300119d23 Update common for GFE 2.2.2+ 2015-01-22 16:55:49 -05:00
253 changed files with 2713 additions and 1751 deletions
+27 -11
View File
@@ -31,43 +31,44 @@ do
exit 1
fi
echo "Compiling source for $ARCH in directory $OPUS_DIR"
echo "cd $OPUS_DIR"
cd $OPUS_DIR
DIST_DIR=$DIST_DIR_BASE-$ARCH
echo "mkdir -p $DIST_DIR"
mkdir -p $DIST_DIR
CFLAGS_ARCH=$ARCH
case $ARCH in
armv7)
EXTRA_FLAGS="--with-pic --enable-fixed-point"
EXTRA_CFLAGS="-mcpu=cortex-a8 -mfpu=neon"
EXTRA_CFLAGS="-mcpu=cortex-a8 -mfpu=neon -miphoneos-version-min=7.1"
PLATFORM="${PLATFORMBASE}/iPhoneOS.platform"
IOSSDK=iPhoneOS${IOSSDK_VER}
IOSSDK=iPhoneOS
;;
armv7s)
EXTRA_FLAGS="--with-pic --enable-fixed-point"
EXTRA_CFLAGS="-mcpu=cortex-a9 -mfpu=neon -miphoneos-version-min=6.0"
EXTRA_CFLAGS="-mcpu=cortex-a9 -mfpu=neon -miphoneos-version-min=7.1"
PLATFORM="${PLATFORMBASE}/iPhoneOS.platform"
IOSSDK=iPhoneOS${IOSSDK_VER}
IOSSDK=iPhoneOS
;;
aarch64)
CFLAGS_ARCH="arm64"
EXTRA_FLAGS="--with-pic --enable-fixed-point"
EXTRA_CFLAGS="-miphoneos-version-min=7.1"
PLATFORM="${PLATFORMBASE}/iPhoneOS.platform"
IOSSDK=iPhoneOS${IOSSDK_VER}
IOSSDK=iPhoneOS
;;
x86_64)
EXTRA_FLAGS="--with-pic"
EXTRA_CFLAGS="-miphoneos-version-min=7.1"
PLATFORM="${PLATFORMBASE}/iPhoneSimulator.platform"
IOSSDK=iPhoneSimulator${IOSSDK_VER}
IOSSDK=iPhoneSimulator
;;
i386)
EXTRA_FLAGS="--with-pic"
EXTRA_CFLAGS="-miphoneos-version-min=7.1"
PLATFORM="${PLATFORMBASE}/iPhoneSimulator.platform"
IOSSDK=iPhoneSimulator${IOSSDK_VER}
IOSSDK=iPhoneSimulator
;;
*)
echo "Unsupported architecture ${ARCH}"
@@ -76,7 +77,7 @@ do
esac
echo "Configuring opus for $ARCH..."
echo "./autogen.sh"
./autogen.sh
CFLAGS="-g -O2 -pipe -arch ${CFLAGS_ARCH} \
@@ -86,7 +87,10 @@ do
LDFLAGS="-arch ${CFLAGS_ARCH} \
-isysroot ${PLATFORM}/Developer/SDKs/${IOSSDK}.sdk \
-L${PLATFORM}/Developer/SDKs/${IOSSDK}.sdk/usr/lib"
echo "CFLAGS=$CFLAGS"
echo "LDFLAGS=$LDFLAGS"
export CFLAGS
export LDFLAGS
@@ -100,7 +104,15 @@ do
export NM="/usr/bin/nm"
export RANLIB="/usr/bin/ranlib"
export STRIP="/usr/bin/strip"
echo "./configure \
--prefix=$DIST_DIR \
--host=${ARCH}-apple-darwin \
--with-sysroot=${PLATFORM}/Developer/SDKs/${IOSSDK}.sdk \
--enable-static=yes \
--enable-shared=no \
--disable-doc \
${EXTRA_FLAGS}"
./configure \
--prefix=$DIST_DIR \
--host=${ARCH}-apple-darwin \
@@ -111,10 +123,14 @@ do
${EXTRA_FLAGS}
echo "Installing opus for $ARCH..."
echo "make clean"
make clean
echo "make -j$NJOB V=1"
make -j$NJOB V=1
echo "make install"
make install
echo "cd $SCRIPT_DIR"
cd $SCRIPT_DIR
if [ -d $DIST_DIR/bin ]
-1
View File
@@ -7,7 +7,6 @@ source config.sh
SCRIPT_DIR=$( (cd -P $(dirname $0) && pwd) )
DIST_DIR_BASE=${DIST_DIR_BASE:="$SCRIPT_DIR/dist"}
git submodule update --init opus
cd opus
git checkout master
git pull origin master
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+8 -13
View File
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6254" systemVersion="14C81f" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="8121.17" systemVersion="15A204h" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6247"/>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8101.14"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
@@ -10,24 +11,21 @@
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright (c) 2014 Limelight Stream. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
<rect key="frame" x="22" y="439" width="437" height="21"/>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright (c) 2015 Moonlight Stream. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
<rect key="frame" x="18" y="439.5" width="444" height="20.5"/>
<animations/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.070588235294117646" green="0.45490196078431372" blue="0.074509803921568626" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.72941176470000002" green="0.69411764710000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
<variation key="widthClass=compact">
<fontDescription key="fontDescription" type="system" pointSize="11"/>
</variation>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Limelight Flat Design Banner" translatesAutoresizingMaskIntoConstraints="NO" id="lr8-1h-ydW">
<rect key="frame" x="-8" y="115" width="496" height="251"/>
</imageView>
</subviews>
<animations/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="centerY" secondItem="lr8-1h-ydW" secondAttribute="centerY" id="C8A-9E-cM6"/>
<constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Gnz-uJ-CDw"/>
<constraint firstAttribute="centerX" secondItem="lr8-1h-ydW" secondAttribute="centerX" id="WCv-Cd-TyR"/>
<constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
</constraints>
<nil key="simulatedStatusBarMetrics"/>
@@ -35,7 +33,4 @@
<point key="canvasLocation" x="404" y="445"/>
</view>
</objects>
<resources>
<image name="Limelight Flat Design Banner" width="496" height="251"/>
</resources>
</document>
-18
View File
@@ -1,18 +0,0 @@
//
// App.h
// Limelight
//
// Created by Diego Waxemberg on 10/22/14.
// Copyright (c) 2014 Limelight Stream. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface App : NSObject
@property NSString* appId;
@property NSString* appName;
@property UIImage* appImage;
@property BOOL isRunning;
@end
-15
View File
@@ -1,15 +0,0 @@
//
// App.m
// Limelight
//
// Created by Diego Waxemberg on 10/22/14.
// Copyright (c) 2014 Limelight Stream. All rights reserved.
//
#import "App.h"
#import "HttpManager.h"
@implementation App
@synthesize appId, appName, appImage, isRunning;
@end
+2 -2
View File
@@ -1,9 +1,9 @@
//
// AppDelegate.h
// Limelight-iOS
// Moonlight
//
// Created by Diego Waxemberg on 1/17/14.
// Copyright (c) 2014 Diego Waxemberg. All rights reserved.
// Copyright (c) 2014 Moonlight Stream. All rights reserved.
//
#import <UIKit/UIKit.h>
+5 -5
View File
@@ -1,9 +1,9 @@
//
// AppDelegate.m
// Limelight-iOS
// Moonlight
//
// Created by Diego Waxemberg on 1/17/14.
// Copyright (c) 2014 Diego Waxemberg. All rights reserved.
// Copyright (c) 2014 Moonlight Stream. All rights reserved.
//
#import "AppDelegate.h"
@@ -85,7 +85,7 @@ static NSOperationQueue* mainQueue;
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
Log(LOG_E, @"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
@@ -103,7 +103,7 @@ static NSOperationQueue* mainQueue;
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil) {
_managedObjectContext = [[NSManagedObjectContext alloc] init];
_managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
[_managedObjectContext setPersistentStoreCoordinator:coordinator];
}
return _managedObjectContext;
@@ -159,7 +159,7 @@ static NSOperationQueue* mainQueue;
Lightweight migration will only work for a limited set of schema changes; consult "Core Data Model Versioning and Data Migration Programming Guide" for details.
*/
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
Log(LOG_E, @"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
+3 -2
View File
@@ -1,9 +1,9 @@
//
// CryptoManager.h
// Limelight
// Moonlight
//
// Created by Diego Waxemberg on 10/14/14.
// Copyright (c) 2014 Limelight Stream. All rights reserved.
// Copyright (c) 2014 Moonlight Stream. All rights reserved.
//
#import <Foundation/Foundation.h>
@@ -16,6 +16,7 @@
+ (NSData*) readKeyFromFile;
+ (NSData*) readP12FromFile;
+ (NSData*) getSignatureFromCert:(NSData*)cert;
+ (NSData*) nullTerminateString:(NSData*)data;
- (NSData*) createAESKeyFromSalt:(NSData*)saltedPIN;
- (NSData*) SHA1HashData:(NSData*)data;
+18 -12
View File
@@ -1,9 +1,9 @@
//
// CryptoManager.m
// Limelight
// Moonlight
//
// Created by Diego Waxemberg on 10/14/14.
// Copyright (c) 2014 Limelight Stream. All rights reserved.
// Copyright (c) 2014 Moonlight Stream. All rights reserved.
//
#import "CryptoManager.h"
@@ -76,8 +76,14 @@ static NSData* p12 = nil;
return (((int)[data length] + 15) / 16) * 16;
}
+ (NSData*) nullTerminateString:(NSData*)data {
NSMutableData* mutData = [NSMutableData dataWithData:data];
[mutData appendBytes:"" length:1];
return mutData;
}
- (bool) verifySignature:(NSData *)data withSignature:(NSData*)signature andCert:(NSData*)cert {
const char* buffer = [cert bytes];
const char* buffer = [[CryptoManager nullTerminateString:cert] bytes];
X509* x509;
BIO* bio = BIO_new(BIO_s_mem());
BIO_puts(bio, buffer);
@@ -86,7 +92,7 @@ static NSData* p12 = nil;
BIO_free(bio);
if (!x509) {
NSLog(@"ERROR: unable to parse certificate in memory");
Log(LOG_E, @"Unable to parse certificate in memory");
return NULL;
}
@@ -105,7 +111,7 @@ static NSData* p12 = nil;
}
- (NSData *)signData:(NSData *)data withKey:(NSData *)key {
const char* buffer = [key bytes];
const char* buffer = [[CryptoManager nullTerminateString:key] bytes];
BIO* bio = BIO_new(BIO_s_mem());
BIO_puts(bio, buffer);
@@ -115,7 +121,7 @@ static NSData* p12 = nil;
BIO_free(bio);
if (!pkey) {
NSLog(@"ERROR: unable to parse private key in memory!");
Log(LOG_E, @"Unable to parse private key in memory!");
return NULL;
}
@@ -188,14 +194,14 @@ static NSData* p12 = nil;
}
+ (NSData *)getSignatureFromCert:(NSData *)cert {
const char* buffer = [cert bytes];
const char* buffer = [[CryptoManager nullTerminateString:cert] bytes];
X509* x509;
BIO* bio = BIO_new(BIO_s_mem());
BIO_puts(bio, buffer);
x509 = PEM_read_bio_X509(bio, NULL, NULL, NULL);
if (!x509) {
NSLog(@"ERROR: unable to parse certificate in memory!");
Log(LOG_E, @"Unable to parse certificate in memory!");
return NULL;
}
return [NSData dataWithBytes:x509->signature->data length:x509->signature->length];
@@ -206,7 +212,7 @@ static NSData* p12 = nil;
dispatch_once(&pred, ^{
if (![CryptoManager keyPairExists]) {
NSLog(@"Generating Certificate... ");
Log(LOG_I, @"Generating Certificate... ");
CertKeyPair certKeyPair = generateCertKeyPair();
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
@@ -215,10 +221,10 @@ static NSData* p12 = nil;
NSString* keyPairFile = [documentsDirectory stringByAppendingPathComponent:@"client.key"];
NSString* p12File = [documentsDirectory stringByAppendingPathComponent:@"client.p12"];
//NSLog(@"Writing cert and key to: \n%@\n%@", certFile, keyPairFile);
//Log(LOG_D, @"Writing cert and key to: \n%@\n%@", certFile, keyPairFile);
saveCertKeyPair([certFile UTF8String], [p12File UTF8String], [keyPairFile UTF8String], certKeyPair);
freeCertKeyPair(certKeyPair);
NSLog(@"Certificate created");
Log(LOG_I, @"Certificate created");
}
});
}
@@ -233,7 +239,7 @@ static NSData* p12 = nil;
NSMutableString* uniqueId = [NSMutableString stringWithString:[idString substringFromIndex:19]];
[uniqueId deleteCharactersInRange:NSMakeRange(4, 1)];
//NSLog(@"Unique ID: %@", uniqueId);
//Log(LOG_D, @"Unique ID: %@", uniqueId);
return [NSString stringWithString:uniqueId];
}
+2 -2
View File
@@ -1,9 +1,9 @@
//
// mkcert.h
// Limelight
// Moonlight
//
// Created by Diego Waxemberg on 10/16/14.
// Copyright (c) 2014 Limelight Stream. All rights reserved.
// Copyright (c) 2014 Moonlight Stream. All rights reserved.
//
#ifndef Limelight_mkcert_h
@@ -0,0 +1,25 @@
//
// App+CoreDataProperties.h
// Moonlight
//
// Created by Diego Waxemberg on 7/10/15.
// Copyright © 2015 Limelight Stream. All rights reserved.
//
// Delete this file and regenerate it using "Create NSManagedObject Subclass…"
// to keep your implementation up to date with your model.
//
#import "App.h"
NS_ASSUME_NONNULL_BEGIN
@interface App (CoreDataProperties)
@property (nullable, nonatomic, retain) NSString *id;
@property (nullable, nonatomic, retain) NSData *image;
@property (nullable, nonatomic, retain) NSString *name;
@property (nullable, nonatomic, retain) Host *host;
@end
NS_ASSUME_NONNULL_END
+26
View File
@@ -0,0 +1,26 @@
//
// App.h
// Moonlight
//
// Created by Diego Waxemberg on 7/10/15.
// Copyright © 2015 Limelight Stream. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class Host;
NS_ASSUME_NONNULL_BEGIN
@interface App : NSManagedObject
@property BOOL isRunning;
- (NSComparisonResult)compareName:(App *)other;
@end
NS_ASSUME_NONNULL_END
#import "App+CoreDataProperties.h"
+20
View File
@@ -0,0 +1,20 @@
//
// App.m
// Moonlight
//
// Created by Diego Waxemberg on 7/10/15.
// Copyright © 2015 Limelight Stream. All rights reserved.
//
#import "App.h"
#import "Host.h"
@implementation App
@synthesize isRunning;
- (NSComparisonResult)compareName:(App *)other {
return [self.name caseInsensitiveCompare:other.name];
}
@end
+6 -3
View File
@@ -1,15 +1,16 @@
//
// DataManager.h
// Limelight
// Moonlight
//
// Created by Diego Waxemberg on 10/28/14.
// Copyright (c) 2014 Limelight Stream. All rights reserved.
// Copyright (c) 2014 Moonlight Stream. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Settings.h"
#import "AppDelegate.h"
#import "Host.h"
#import "App.h"
@interface DataManager : NSObject
@@ -18,8 +19,10 @@
- (void) saveSettingsWithBitrate:(NSInteger)bitrate framerate:(NSInteger)framerate height:(NSInteger)height width:(NSInteger)width onscreenControls:(NSInteger)onscreenControls;
- (Settings*) retrieveSettings;
- (NSArray*) retrieveHosts;
- (void) saveHosts;
- (void) saveData;
- (Host*) createHost;
- (void) removeHost:(Host*)host;
- (App*) createApp;
- (void) removeApp:(App*)app;
@end
+17 -8
View File
@@ -1,9 +1,9 @@
//
// DataManager.m
// Limelight
// Moonlight
//
// Created by Diego Waxemberg on 10/28/14.
// Copyright (c) 2014 Limelight Stream. All rights reserved.
// Copyright (c) 2014 Moonlight Stream. All rights reserved.
//
#import "DataManager.h"
@@ -20,14 +20,14 @@
Settings* settingsToSave = [self retrieveSettings];
settingsToSave.framerate = [NSNumber numberWithInteger:framerate];
// Bitrate is persisted in kbps
settingsToSave.bitrate = [NSNumber numberWithInteger:bitrate * 1000];
settingsToSave.bitrate = [NSNumber numberWithInteger:bitrate];
settingsToSave.height = [NSNumber numberWithInteger:height];
settingsToSave.width = [NSNumber numberWithInteger:width];
settingsToSave.onscreenControls = [NSNumber numberWithInteger:onscreenControls];
NSError* error;
if (![[self.appDelegate managedObjectContext] save:&error]) {
NSLog(@"ERROR: Unable to save settings to database");
Log(LOG_E, @"Unable to save settings to database: %@", error);
}
[self.appDelegate saveContext];
}
@@ -48,18 +48,18 @@
- (Host*) createHost {
NSEntityDescription* entity = [NSEntityDescription entityForName:@"Host" inManagedObjectContext:[self.appDelegate managedObjectContext]];
Host* host = [[Host alloc] initWithEntity:entity insertIntoManagedObjectContext:[self.appDelegate managedObjectContext]];
return host;
return [[Host alloc] initWithEntity:entity insertIntoManagedObjectContext:[self.appDelegate managedObjectContext]];
}
- (void) removeHost:(Host*)host {
[[self.appDelegate managedObjectContext] deleteObject:host];
[self saveData];
}
- (void) saveHosts {
- (void) saveData {
NSError* error;
if (![[self.appDelegate managedObjectContext] save:&error]) {
NSLog(@"ERROR: Unable to save hosts to database");
Log(LOG_E, @"Unable to save hosts to database: %@", error);
}
[self.appDelegate saveContext];
}
@@ -68,6 +68,15 @@
return [self fetchRecords:@"Host"];
}
- (App*) createApp {
NSEntityDescription* entity = [NSEntityDescription entityForName:@"App" inManagedObjectContext:[self.appDelegate managedObjectContext]];
return [[App alloc] initWithEntity:entity insertIntoManagedObjectContext:[self.appDelegate managedObjectContext]];
}
- (void) removeApp:(App*)app {
[[self.appDelegate managedObjectContext] deleteObject:app];
}
- (NSArray*) fetchRecords:(NSString*)entityName {
NSFetchRequest* fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription* entity = [NSEntityDescription entityForName:entityName inManagedObjectContext:[self.appDelegate managedObjectContext]];
@@ -0,0 +1,38 @@
//
// Host+CoreDataProperties.h
// Moonlight
//
// Created by Diego Waxemberg on 7/10/15.
// Copyright © 2015 Limelight Stream. All rights reserved.
//
// Delete this file and regenerate it using "Create NSManagedObject Subclass…"
// to keep your implementation up to date with your model.
//
#import "Host.h"
NS_ASSUME_NONNULL_BEGIN
@interface Host (CoreDataProperties)
@property (nullable, nonatomic, retain) NSString *address;
@property (nullable, nonatomic, retain) NSString *externalAddress;
@property (nullable, nonatomic, retain) NSString *localAddress;
@property (nullable, nonatomic, retain) NSString *mac;
@property (nullable, nonatomic, retain) NSString *name;
@property (nullable, nonatomic, retain) NSNumber *pairState;
@property (nullable, nonatomic, retain) NSString *uuid;
@property (nullable, nonatomic, retain) NSSet *appList;
@end
@interface Host (CoreDataGeneratedAccessors)
- (void)addAppListObject:(NSManagedObject *)value;
- (void)removeAppListObject:(NSManagedObject *)value;
- (void)addAppList:(NSSet *)values;
- (void)removeAppList:(NSSet *)values;
@end
NS_ASSUME_NONNULL_END
+10 -9
View File
@@ -1,24 +1,25 @@
//
// Host.h
// Limelight
// Moonlight
//
// Created by Diego Waxemberg on 10/28/14.
// Copyright (c) 2014 Limelight Stream. All rights reserved.
// Created by Diego Waxemberg on 7/10/15.
// Copyright © 2015 Limelight Stream. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
#import "Utils.h"
NS_ASSUME_NONNULL_BEGIN
@interface Host : NSManagedObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * address;
@property (nonatomic, retain) NSString * localAddress;
@property (nonatomic, retain) NSString * externalAddress;
@property (nonatomic, retain) NSString * uuid;
@property (nonatomic, retain) NSString * mac;
@property (nonatomic) BOOL online;
@property (nonatomic) PairState pairState;
@property (nonatomic) NSString * activeAddress;
@end
NS_ASSUME_NONNULL_END
#import "Host+CoreDataProperties.h"
+4 -10
View File
@@ -1,23 +1,17 @@
//
// Host.m
// Limelight
// Moonlight
//
// Created by Diego Waxemberg on 10/28/14.
// Copyright (c) 2014 Limelight Stream. All rights reserved.
// Created by Diego Waxemberg on 7/10/15.
// Copyright © 2015 Limelight Stream. All rights reserved.
//
#import "Host.h"
@implementation Host
@dynamic name;
@dynamic address;
@dynamic localAddress;
@dynamic externalAddress;
@dynamic uuid;
@dynamic mac;
@dynamic pairState;
@synthesize online;
@synthesize activeAddress;
@end
+2 -2
View File
@@ -1,9 +1,9 @@
//
// Settings.h
// Limelight
// Moonlight
//
// Created by Diego Waxemberg on 10/28/14.
// Copyright (c) 2014 Limelight Stream. All rights reserved.
// Copyright (c) 2014 Moonlight Stream. All rights reserved.
//
#import <Foundation/Foundation.h>
+2 -2
View File
@@ -1,9 +1,9 @@
//
// Settings.m
// Limelight
// Moonlight
//
// Created by Diego Waxemberg on 10/28/14.
// Copyright (c) 2014 Limelight Stream. All rights reserved.
// Copyright (c) 2014 Moonlight Stream. All rights reserved.
//
#import "Settings.h"
+3 -3
View File
@@ -3,17 +3,17 @@
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "a_button.png"
"filename" : "a_button_40x40@1x.png"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "a_button-1.png"
"filename" : "a_button_80x80@2x.png"
},
{
"idiom" : "universal",
"scale" : "3x",
"filename" : "a_button-2.png"
"filename" : "a_button_120x120@3x.png"
}
],
"info" : {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -1,80 +1,80 @@
{
"images" : [
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "2x",
"filename" : "Icon-Small@2x.png"
"idiom" : "iphone",
"filename" : "app_icon_settings_58x58_@2x-1.png",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "3x",
"filename" : "Icon-Small@3x.png"
"idiom" : "iphone",
"filename" : "app_icon_settings_87x87_@3x.png",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "2x",
"filename" : "Icon-40@2x.png"
"idiom" : "iphone",
"filename" : "app_icon_spotlight_80x80_@2x-1.png",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "3x",
"filename" : "Icon-40@3x.png"
"idiom" : "iphone",
"filename" : "app_icon_spotlight_120x120_@3x.png",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "2x",
"filename" : "Icon-60@2x.png"
},
{
"idiom" : "iphone",
"filename" : "app_icon_120x120_@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"scale" : "3x",
"filename" : "Icon-60@3x.png"
"idiom" : "iphone",
"filename" : "app_icon_180x180_@3x.png",
"scale" : "3x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "1x",
"filename" : "Icon-Small.png"
"idiom" : "ipad",
"filename" : "app_icon_settings_29x29_@1x.png",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "2x",
"filename" : "Icon-Small@2x.png"
"idiom" : "ipad",
"filename" : "app_icon_settings_58x58_@2x.png",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "1x",
"filename" : "Icon-40.png"
"idiom" : "ipad",
"filename" : "app_icon_spotlight_40x40_@1x.png",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "2x",
"filename" : "Icon-40@2x.png"
"idiom" : "ipad",
"filename" : "app_icon_spotlight_80x80_@2x.png",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "1x",
"filename" : "Icon-76.png"
"idiom" : "ipad",
"filename" : "app_icon_76x76_@1x.png",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "2x",
"filename" : "Icon-76@2x.png"
"idiom" : "ipad",
"filename" : "app_icon_152x152_@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "makeappicon"
"author" : "xcode"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

+3 -3
View File
@@ -3,17 +3,17 @@
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "b_button.png"
"filename" : "b_button_40x40@1x.png"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "b_button-1.png"
"filename" : "b_button_80x80@2x.png"
},
{
"idiom" : "universal",
"scale" : "3x",
"filename" : "b_button-2.png"
"filename" : "b_button_120x120@3x.png"
}
],
"info" : {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -3,17 +3,17 @@
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "down.png"
"filename" : "down_31x38@1x.png"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "down-1.png"
"filename" : "down_61x75@2x.png"
},
{
"idiom" : "universal",
"scale" : "3x",
"filename" : "down-2.png"
"filename" : "down_93x114@3x.png"
}
],
"info" : {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Before

Width:  |  Height:  |  Size: 455 B

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

+3 -3
View File
@@ -3,17 +3,17 @@
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "L1-1.png"
"filename" : "L1_40x40@1x.png"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "L1.png"
"filename" : "L1_80x80@2x.png"
},
{
"idiom" : "universal",
"scale" : "3x",
"filename" : "L1-2.png"
"filename" : "L1_120x120@3x.png"
}
],
"info" : {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

+3 -3
View File
@@ -3,17 +3,17 @@
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "L2.png"
"filename" : "L2_60x60@1x.png"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "L2-1.png"
"filename" : "L2_120x120@2x.png"
},
{
"idiom" : "universal",
"scale" : "3x",
"filename" : "L2-2.png"
"filename" : "L2_180x180@3x.png"
}
],
"info" : {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

+3 -3
View File
@@ -3,17 +3,17 @@
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "L3.png"
"filename" : "L3_80x80@1x.png"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "L3-1.png"
"filename" : "L3_160x160@2x.png"
},
{
"idiom" : "universal",
"scale" : "3x",
"filename" : "L3-2.png"
"filename" : "L3_240x240@3x.png"
}
],
"info" : {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

@@ -1,51 +0,0 @@
{
"images" : [
{
"orientation" : "portrait",
"idiom" : "iphone",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"subtype" : "retina4",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "1x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "1x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "2x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -3,17 +3,17 @@
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "left.png"
"filename" : "left_38x31@1x.png"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "left-1.png"
"filename" : "left_76x61@2x.png"
},
{
"idiom" : "universal",
"scale" : "3x",
"filename" : "left-2.png"
"filename" : "left_114x92@3x.png"
}
],
"info" : {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Before

Width:  |  Height:  |  Size: 525 B

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

+10 -1
View File
@@ -2,7 +2,16 @@
"images" : [
{
"idiom" : "universal",
"filename" : "Limelight-logo.pdf"
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "logo_universal.png"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

@@ -7,7 +7,7 @@
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "Limelight Flat Design Banner.png"
"filename" : "play.png"
},
{
"idiom" : "universal",
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Some files were not shown because too many files have changed in this diff Show More