You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by sh...@apache.org on 2012/04/05 02:38:32 UTC

ios commit: Fixed CB-444 - Xcode template new project - AppDelegate's self.invokeString usage was removed

Updated Branches:
  refs/heads/master 163084571 -> c397af021


Fixed CB-444 - Xcode template new project - AppDelegate's self.invokeString usage was removed


Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/commit/c397af02
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/tree/c397af02
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/diff/c397af02

Branch: refs/heads/master
Commit: c397af021a637ebea1891c08055441aade3c0463
Parents: 1630845
Author: Shazron Abdullah <sh...@apache.org>
Authored: Wed Apr 4 17:38:25 2012 -0700
Committer: Shazron Abdullah <sh...@apache.org>
Committed: Wed Apr 4 17:38:25 2012 -0700

----------------------------------------------------------------------
 Cordova-based Application/Classes/AppDelegate.h    |    4 +--
 Cordova-based Application/Classes/AppDelegate.m    |   13 +++++++----
 .../Classes/MainViewController.m                   |   16 +++++++++++++-
 3 files changed, 23 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/c397af02/Cordova-based Application/Classes/AppDelegate.h
----------------------------------------------------------------------
diff --git a/Cordova-based Application/Classes/AppDelegate.h b/Cordova-based Application/Classes/AppDelegate.h
index 1051b49..71a9a8a 100644
--- a/Cordova-based Application/Classes/AppDelegate.h	
+++ b/Cordova-based Application/Classes/AppDelegate.h	
@@ -36,15 +36,13 @@
 
 @interface AppDelegate : NSObject < UIApplicationDelegate > {
 
-	NSString* invokeString;
 }
 
 // invoke string is passed to your app on launch, this is only valid if you 
-// edit FooBar.plist to add a protocol
+// edit ___PROJECTNAME___-Info.plist to add a protocol
 // a simple tutorial can be found here : 
 // http://iphonedevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html
 
-@property (nonatomic, copy)  NSString* invokeString;
 @property (nonatomic, retain) IBOutlet UIWindow* window;
 @property (nonatomic, retain) IBOutlet CDVViewController* viewController;
 

http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/c397af02/Cordova-based Application/Classes/AppDelegate.m
----------------------------------------------------------------------
diff --git a/Cordova-based Application/Classes/AppDelegate.m b/Cordova-based Application/Classes/AppDelegate.m
index 516f440..17aff02 100644
--- a/Cordova-based Application/Classes/AppDelegate.m	
+++ b/Cordova-based Application/Classes/AppDelegate.m	
@@ -39,7 +39,7 @@
 
 @implementation AppDelegate
 
-@synthesize invokeString, window, viewController;
+@synthesize window, viewController;
 
 - (id) init
 {	
@@ -48,8 +48,8 @@
 	 **/
     NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
     [cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
-    
-    [CDVURLProtocol registerPGHttpURLProtocol];
+        
+    [CDVURLProtocol registerURLProtocol];
     
     return [super init];
 }
@@ -62,8 +62,10 @@
 - (BOOL) application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
 {    
     NSURL* url = [launchOptions objectForKey:UIApplicationLaunchOptionsURLKey];
+    NSString* invokeString = nil;
+    
     if (url && [url isKindOfClass:[NSURL class]]) {
-        self.invokeString = [url absoluteString];
+        invokeString = [url absoluteString];
 		NSLog(@"___PROJECTNAME___ launchOptions = %@", url);
     }    
     
@@ -77,6 +79,7 @@
     self.viewController.useSplashScreen = YES;
     self.viewController.wwwFolderName = @"www";
     self.viewController.startPage = @"index.html";
+    self.viewController.invokeString = invokeString;
     self.viewController.view.frame = viewBounds;
     
     // check whether the current orientation is supported: if it is, keep it, rather than forcing a rotation
@@ -112,7 +115,7 @@
 }
 
 // this happens while we are running ( in the background, or from within our own app )
-// only valid if FooBar.plist specifies a protocol to handle
+// only valid if ___PROJECTNAME___-Info.plist specifies a protocol to handle
 - (BOOL) application:(UIApplication*)application handleOpenURL:(NSURL*)url 
 {
     if (!url) { 

http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/c397af02/Cordova-based Application/Classes/MainViewController.m
----------------------------------------------------------------------
diff --git a/Cordova-based Application/Classes/MainViewController.m b/Cordova-based Application/Classes/MainViewController.m
index 1fdba1a..5e12f6d 100644
--- a/Cordova-based Application/Classes/MainViewController.m	
+++ b/Cordova-based Application/Classes/MainViewController.m	
@@ -92,15 +92,27 @@
 }
 */
 
-/* Comment out the block below to over-ride */
-/*
 #pragma UIWebDelegate implementation
 
 - (void) webViewDidFinishLoad:(UIWebView*) theWebView 
 {
+     // only valid if ___PROJECTNAME__-Info.plist specifies a protocol to handle
+     if (self.invokeString)
+     {
+        // this is passed before the deviceready event is fired, so you can access it in js when you receive deviceready
+        NSString* jsString = [NSString stringWithFormat:@"var invokeString = \"%@\";", self.invokeString];
+        [theWebView stringByEvaluatingJavaScriptFromString:jsString];
+     }
+     
+     // Black base color for background matches the native apps
+     theWebView.backgroundColor = [UIColor blackColor];
+
 	return [super webViewDidFinishLoad:theWebView];
 }
 
+/* Comment out the block below to over-ride */
+/*
+
 - (void) webViewDidStartLoad:(UIWebView*)theWebView 
 {
 	return [super webViewDidStartLoad:theWebView];