diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate index 6a95e6e..9018e3c 100644 Binary files a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate and b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 1580f1d..9ecd442 100644 --- a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -90,11 +90,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Vendoo/EbayWebServiceManager.swift" - timestampString = "494390858.671323" + timestampString = "494685275.012942" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "568" - endingLineNumber = "568"> + startingLineNumber = "573" + endingLineNumber = "573"> + startingLineNumber = "571" + endingLineNumber = "571"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Vendoo/EbayWebServiceManager.swift b/Vendoo/EbayWebServiceManager.swift index 59d8111..f68ac25 100644 --- a/Vendoo/EbayWebServiceManager.swift +++ b/Vendoo/EbayWebServiceManager.swift @@ -40,6 +40,7 @@ class EbayWebServiceManager: NSObject { private var completion: ServiceResponse! private var isGettingSubCategories: Bool = false private var isRevisingListing: Bool = false + private var requestGroup: dispatch_group_t = dispatch_group_create() //---------------------------------------------// @@ -123,7 +124,7 @@ extension EbayWebServiceManager { } } - func authorizeApp(){ + func authorizeApp(onComplete: ServiceResponse){ let soapMessage = "" + "" + @@ -133,18 +134,21 @@ extension EbayWebServiceManager { let url = NSURL(string: self.baseURL) let theRequest = NSMutableURLRequest(URL: url!) theRequest.addValue("GetSessionID", forHTTPHeaderField: "X-EBAY-API-CALL-NAME") - + self.completion = onComplete self.requestMaker(soapMessage, theRequest: theRequest) } func deauthorizeApp(){ - let soapMessage = "" + + //@TODO: Add an alert to let user know if their account has not been deauthorized and keep them logged in. + var soapMessage = "" + "" + "" + - "\(self.xmlResponseDictionary["eBayAuthToken"])" + - "​" + "\(self.xmlResponseDictionary["eBayAuthToken"]!)" + + "" + soapMessage = soapMessage + "en_US" + + "High​" let url = NSURL(string: self.baseURL) let theRequest = NSMutableURLRequest(URL: url!) @@ -303,7 +307,7 @@ extension EbayWebServiceManager { let url = NSURL(string: self.baseURL) let theRequest = NSMutableURLRequest(URL: url!) theRequest.addValue("FetchToken", forHTTPHeaderField: "X-EBAY-API-CALL-NAME") - + //dispatch_group_enter(self.requestGroup) self.requestMaker(soapMessage, theRequest: theRequest) } @@ -404,6 +408,7 @@ extension EbayWebServiceManager: NSXMLParserDelegate { print("account credentials saved") NSUserDefaults.standardUserDefaults().setBool(true, forKey: "ebayAuthorized") self.isAuthorized = true + //self.completion(nil, nil) //Test authentication let soapmessage = "" + @@ -465,7 +470,7 @@ extension EbayWebServiceManager: NSXMLParserDelegate { let url = NSURL(string: self.baseURL) let theRequest = NSMutableURLRequest(URL: url!) theRequest.addValue("GetCategories", forHTTPHeaderField: "X-EBAY-API-CALL-NAME") - + self.completion(nil, nil) self.requestMaker(soapmessage, theRequest: theRequest) break /* diff --git a/Vendoo/NetworksTableViewController.swift b/Vendoo/NetworksTableViewController.swift index 4da24d8..268deb5 100644 --- a/Vendoo/NetworksTableViewController.swift +++ b/Vendoo/NetworksTableViewController.swift @@ -726,10 +726,19 @@ extension NetworksTableViewController: UITableViewDelegate { extension NetworksTableViewController: EbayWebServiceManagerDelegate { func signInUser(signInString : String!) { - let myWebView:UIWebView = UIWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height)) + let mywebViewController = UIViewController() + + //let myWebView:UIWebView = UIWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height)) + let myWebView = UIWebView(frame: mywebViewController.view.bounds) myWebView.delegate = self myWebView.loadRequest(NSURLRequest(URL: NSURL(string: signInString)!)) - self.view.addSubview(myWebView) + mywebViewController.view = myWebView + + let navController = UINavigationController(rootViewController: mywebViewController) + mywebViewController.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: Selector("dismiss")) + + self.presentViewController(navController, animated: true, completion: nil) + //self.view.addSubview(myWebView) } } @@ -761,6 +770,10 @@ extension NetworksTableViewController: UIWebViewDelegate { } + func dismiss() { + self.dismissViewControllerAnimated(true, completion: nil) + } + } extension NetworksTableViewController { @@ -772,12 +785,16 @@ extension NetworksTableViewController { switch (sender.superview?.superview?.classForCoder){ case is EbayTableViewCell.Type: let tabBar = self.tabBarController - ((tabBar as? HomeViewController)?.ebayGraphManager.authorizeApp())! - dispatch_async(dispatch_get_main_queue(), { - sender.setTitle("Logout", forState: UIControlState.Normal) - (sender.superview?.superview as! EbayTableViewCell).settingsBtn.enabled = true - (sender.superview?.superview as! EbayTableViewCell).settingsBtn.hidden = false - }) + ((tabBar as? HomeViewController)?.ebayGraphManager.authorizeApp({ + something,_ -> Void in + // // // + dispatch_async(dispatch_get_main_queue(), { + sender.setTitle("Logout", forState: UIControlState.Normal) + (sender.superview?.superview as! EbayTableViewCell).settingsBtn.enabled = true + (sender.superview?.superview as! EbayTableViewCell).settingsBtn.hidden = false + }) + }))! + break case is AmazonTableViewCell.Type: break