From c11fe99bda34005c3f18de78993fe4ddd35a0bfc Mon Sep 17 00:00:00 2001 From: Okechi Onyeje Date: Sat, 27 Aug 2016 18:21:08 -0400 Subject: [PATCH 1/2] Multiple Images Works for Firebase and Facebook Currently getting the correct number of ebay images uploaded with listing but images are duplicates of the first image posted --- .../UserInterfaceState.xcuserstate | Bin 47817 -> 72428 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 1084 +++++++---------- Vendoo/EbayWebServiceManager.swift | 36 +- Vendoo/HomeViewController.swift | 4 +- Vendoo/ListingPreviewViewController.swift | 294 ++++- Vendoo/Main.storyboard | 6 +- Vendoo/NetworksTableViewController.swift | 2 +- 7 files changed, 718 insertions(+), 708 deletions(-) diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate index fff33d0acee778e359fe7ff800ccd94b397bd93f..5ad267a386778cea45e43c7495991f321deb8513 100644 GIT binary patch literal 72428 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 kefcEvY5S+_PcJ?dep+MOrsbsN+->Tj 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 @@ -25,29 +25,13 @@ shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" - filePath = "Vendoo/EbayWebServiceManager.swift" - timestampString = "493665751.744" + filePath = "Vendoo/ListingPreviewViewController.swift" + timestampString = "493861794.122107" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "234" - endingLineNumber = "234" - landmarkName = "listItem(_:completion:)" - landmarkType = "5"> - - - - @@ -57,605 +41,29 @@ shouldBeEnabled = "Yes" ignoreCount = "0" continueAfterRunningActions = "No" - filePath = "Vendoo/EbayWebServiceManager.swift" - timestampString = "493665751.744" - startingColumnNumber = "9223372036854775807" - endingColumnNumber = "9223372036854775807" - startingLineNumber = "289" - endingLineNumber = "289" - landmarkName = "listItem(_:completion:)" - landmarkType = "5"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -666,27 +74,59 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Vendoo/ListingPreviewViewController.swift" - timestampString = "493663551.342447" + timestampString = "493930954.132313" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "268" - endingLineNumber = "268" + startingLineNumber = "567" + endingLineNumber = "567" landmarkName = "publishItem(_:)" landmarkType = "5"> + + + + + + @@ -698,11 +138,123 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Vendoo/ListingPreviewViewController.swift" - timestampString = "493662437.215315" + timestampString = "493930954.132313" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "500" - endingLineNumber = "500" + startingLineNumber = "579" + endingLineNumber = "579" + landmarkName = "publishItem(_:)" + landmarkType = "5"> + + + + + + + + + + + + + + + + + + + + + + + + @@ -714,28 +266,300 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Vendoo/EbayWebServiceManager.swift" - timestampString = "493665751.744" + timestampString = "493953484.620568" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "212" - endingLineNumber = "212" - landmarkName = "addImagesToListing(_:imageURL:onCompletion:)" + startingLineNumber = "225" + endingLineNumber = "225" + landmarkName = "addImagesToListing(_:imageURLs:listingOnCompletion:body:onCompletion:)" landmarkType = "5"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Vendoo/EbayWebServiceManager.swift b/Vendoo/EbayWebServiceManager.swift index 59d8111..10daee1 100644 --- a/Vendoo/EbayWebServiceManager.swift +++ b/Vendoo/EbayWebServiceManager.swift @@ -207,8 +207,10 @@ extension EbayWebServiceManager { self.requestMaker(soapMessage, theRequest: theRequest) } - func addImagesToListing(listingID: String, imageURL: String, onCompletion: ServiceResponse) { + func addImagesToListing(listingID: String, imageURLs: [String], listingOnCompletion: ServiceResponse, body: [String:String],onCompletion: ServiceResponse) { + listItem(body, imageUrls: imageURLs, completion: listingOnCompletion) + /* var soapMessage = "" + "" + "" + @@ -217,21 +219,26 @@ extension EbayWebServiceManager { soapMessage = soapMessage + "en_US" + "" + - "\(listingID)" + - "" + - "\(imageURL.stringByReplacingOccurrencesOfString("&", withString: "&"))" + - "" + - "" + "\(listingID)" + + for i in 0...(imageURLs.count - 1) { + soapMessage = soapMessage + "" + + "\(imageURLs[i].stringByReplacingOccurrencesOfString("&", withString: "&"))" + + "" + } + + + soapMessage = soapMessage + "" let url = NSURL(string: self.baseURL) let theRequest = NSMutableURLRequest(URL: url!) theRequest.addValue("ReviseItem", forHTTPHeaderField: "X-EBAY-API-CALL-NAME") self.completion = onCompletion self.requestMaker(soapMessage, theRequest: theRequest) - + */ } - func listItem(params: [String: String], completion: ServiceResponse?){ + func listItem(params: [String: String], imageUrls: [String], completion: ServiceResponse?){ var dict = EbayWebServiceManager.settingsDictionary var emailRetrievalGroup = dispatch_group_create() var soapMessage = "" + @@ -268,8 +275,15 @@ extension EbayWebServiceManager { "\(dict["listingDuration"] as! String!)" + "\(dict["listingType"] as! String!)" + "\(dict["payment"] as! String!)" + - "\(dict["paypal_email"] as! String!)" + - "\(dict["postalCode"] as! String!)" + + "\(dict["paypal_email"] as! String!)" + + for i in 0...(imageUrls.count - 1) { + soapMessage = soapMessage + + "\(imageUrls[i].stringByReplacingOccurrencesOfString("&", withString: "&"))" + + } + + soapMessage = soapMessage + "\(dict["postalCode"] as! String!)" + "\(params["quantity"] as String!)" + "" + "\(dict["return"] as! String!)" + @@ -285,7 +299,7 @@ extension EbayWebServiceManager { "" + "US" + "" - + print(soapMessage) let url = NSURL(string: self.baseURL) let theRequest = NSMutableURLRequest(URL: url!) theRequest.addValue("AddItem", forHTTPHeaderField: "X-EBAY-API-CALL-NAME") diff --git a/Vendoo/HomeViewController.swift b/Vendoo/HomeViewController.swift index e5ceaaf..5c309d0 100644 --- a/Vendoo/HomeViewController.swift +++ b/Vendoo/HomeViewController.swift @@ -54,13 +54,13 @@ class HomeViewController: UITabBarController { var listingImages: [UIImage] = [mainImage!] var count = 0 //Get supporting images - for i in 2...5 { + for i in 1...4 { let supportListingImg1 = storageRef.child("images/\(key)/\(i).jpg") supportListingImg1.dataWithMaxSize(10 * 1024 * 1024, completion: { (data1, error) -> Void in if(error != nil){ - print("support image \(i - 1) for key, \(key), does not exist") + print("support image \(i) for key, \(key), does not exist") }else{ listingImages.append(UIImage(data: data1!)!) } diff --git a/Vendoo/ListingPreviewViewController.swift b/Vendoo/ListingPreviewViewController.swift index a402872..089ceeb 100644 --- a/Vendoo/ListingPreviewViewController.swift +++ b/Vendoo/ListingPreviewViewController.swift @@ -14,13 +14,18 @@ */ import UIKit +import FirebaseStorage //@TODO: Need to make multiple images work for etsy and facebook and need to implement multiple images saving to firebase class ListingPreviewViewController: UIViewController { //IBOutlets @IBOutlet weak var containerScrollView: UIScrollView! @IBOutlet weak var itemQuantity: UITextView! - @IBOutlet weak var itemPicture: UIImageView! + @IBOutlet weak var itemPictureMain: UIImageView! + @IBOutlet weak var itemPictureSup1: UIImageView! + @IBOutlet weak var itemPictureSup2: UIImageView! + @IBOutlet weak var itemPictureSup3: UIImageView! + @IBOutlet weak var itemPictureSup4: UIImageView! @IBOutlet weak var itemTitle: UITextView! @IBOutlet weak var itemDescription: UITextView! @IBOutlet weak var itemPrice: UITextView! @@ -62,7 +67,27 @@ class ListingPreviewViewController: UIViewController { func setListing(){ - self.itemPicture.image = (self.itemListingDictionary["pictures"] as? [UIImageView])![0].image + for i in 0...((self.itemListingDictionary["pictures"] as! [UIImageView]).count - 1) { + switch i { + case 0: + self.itemPictureMain.image = (self.itemListingDictionary["pictures"] as? [UIImageView])![i].image + break + case 1: + self.itemPictureSup1.image = (self.itemListingDictionary["pictures"] as? [UIImageView])![i].image + break + case 2: + self.itemPictureSup2.image = (self.itemListingDictionary["pictures"] as? [UIImageView])![i].image + break + case 3: + self.itemPictureSup3.image = (self.itemListingDictionary["pictures"] as? [UIImageView])![i].image + break + case 4: + self.itemPictureSup4.image = (self.itemListingDictionary["pictures"] as? [UIImageView])![i].image + break + default: + break + } + } self.itemTitle.text = self.itemListingDictionary["title"] as! String self.itemDescription.text = self.itemListingDictionary["description"] as! String self.itemPrice.text = self.itemListingDictionary["price"] as! String @@ -82,7 +107,14 @@ class ListingPreviewViewController: UIViewController { self.etsyManager = etsyManager } - + func saveToFirebase(listingImageRef: FIRStorageReference, completion: ServiceResponse! ) { + + listingImageRef.putData(UIImageJPEGRepresentation(self.itemPictureMain.image!, 0.8)!, metadata: nil,completion: { + (metadata, error) -> Void in + completion(metadata, error) + }) + + } // MARK: - Navigation @@ -96,7 +128,7 @@ class ListingPreviewViewController: UIViewController { vc.itemName.text? = self.itemTitle.text vc.itemPrice.text? = self.itemPrice.text vc.itemDescription.text? = self.itemDescription.text - vc.possibleItemImageMain = self.itemPicture + vc.possibleItemImageMain = self.itemPictureMain vc.itemQuantity.text? = self.itemQuantity.text } } @@ -131,7 +163,7 @@ extension ListingPreviewViewController { @IBAction func publishItem(sender: AnyObject) { - if(self.itemPicture.image == nil){ + if(self.itemPictureMain.image == nil){ let alert = UIAlertController(title: "Image Needed", message: "To proceed to choose networks, you must supply at least one picture for your listing", preferredStyle: .Alert) alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)})) @@ -142,10 +174,14 @@ extension ListingPreviewViewController { //save listing to private user path in firebase let newListingRef = self.firManager.ref.child("Users").child("\(self.firManager.user_email)").child("user_Listings").childByAutoId() let postingGroup: dispatch_group_t = dispatch_group_create() + + /*if(!(self.networksDictionary["ebay"]!)&&(!(self.networksDictionary["etsy"]!))&&(!(self.networksDictionary["amazon"]!))&&(!(self.networksDictionary["facebook"]!))) { - + }else { + dispatch_g + }*/ //post to ebay - if(self.networksDictionary["ebay"]!){ + /*if(self.networksDictionary["ebay"]!){ dispatch_group_enter(postingGroup) var categoryCode: String! var dict = EbayWebServiceManager.settingsDictionary["categories"]! @@ -267,7 +303,7 @@ extension ListingPreviewViewController { self.newInProgressListing["networkIDs"] = networkIDs dispatch_group_leave(postingGroup) }) - } + }*/ //post to amazon @@ -404,7 +440,7 @@ extension ListingPreviewViewController { let imageBody = ["listing_id": networkIDs["etsy"] as! Int, //"type":"image/jpg", - "image": UIImageJPEGRepresentation(self.itemPicture.image!, 0.45)!] + "image": UIImageJPEGRepresentation(self.itemPictureMain.image!, 0.45)!] self.etsyManager.sendPOSTRequest(("listings/\(networkIDs["etsy"] as! Int)/images"), body: imageBody, onCompletion: { (dict, error) -> Void in @@ -421,26 +457,93 @@ extension ListingPreviewViewController { //post to facebook if(self.networksDictionary["facebook"]!){ dispatch_group_enter(postingGroup) - + let fb_group: dispatch_group_t = dispatch_group_create() + let tmpDirURL = NSURL.fileURLWithPath(NSTemporaryDirectory(), isDirectory: true) let fileURL = tmpDirURL.URLByAppendingPathComponent("main").URLByAppendingPathExtension("jpg") print("FilePath: \(fileURL.path!)") do { - try UIImageJPEGRepresentation(self.itemPicture.image!, 0.45)!.writeToFile(fileURL.path!, options: NSDataWritingOptions.AtomicWrite) + try UIImageJPEGRepresentation(self.itemPictureMain.image!, 0.45)!.writeToFile(fileURL.path!, options: NSDataWritingOptions.AtomicWrite) }catch{ (error) print(error) } - - //let parameters: Dictionary = ["message":("**"+self.itemTitle.text!+"**\n\n"+"Price: "+self.itemPrice.text! + "\n\n"+self.itemDescription.text!)] - - let parameters: Dictionary = ["Source": UIImageJPEGRepresentation(self.itemPicture.image!, 0.45)!, "published":false] - self.lastListingKey = newListingRef.key - self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: { - (imageId, error) -> Void in + + var imageIDs: [String] = [] + + + //post multiple images to fb + for i in 0...(self.itemListingDictionary["pictures"] as! [UIImageView]).count - 1 { + var parameters: Dictionary = Dictionary() + switch (i) { + + case 0: + dispatch_group_enter(fb_group) + parameters["Source"] = UIImageJPEGRepresentation(self.itemPictureMain.image!,0.45)! + parameters["published"] = false + self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: { + (imageId, error) -> Void in + imageIDs.append(imageId as! String) + dispatch_group_leave(fb_group) + }) + break + case 1: + dispatch_group_enter(fb_group) + parameters["Source"] = UIImageJPEGRepresentation(self.itemPictureSup1.image!,0.45)! + parameters["published"] = false + self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: { + (imageId, error) -> Void in + imageIDs.append(imageId as! String) + dispatch_group_leave(fb_group) + }) + break + case 2: + dispatch_group_enter(fb_group) + parameters["Source"] = UIImageJPEGRepresentation(self.itemPictureSup2.image!,0.45)! + parameters["published"] = false + self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: { + (imageId, error) -> Void in + imageIDs.append(imageId as! String) + dispatch_group_leave(fb_group) + }) + break + case 3: + dispatch_group_enter(fb_group) + parameters["Source"] = UIImageJPEGRepresentation(self.itemPictureSup3.image!,0.45)! + parameters["published"] = false + self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: { + (imageId, error) -> Void in + imageIDs.append(imageId as! String) + dispatch_group_leave(fb_group) + }) + break + case 4: + dispatch_group_enter(fb_group) + parameters["Source"] = UIImageJPEGRepresentation(self.itemPictureSup4.image!,0.45)! + parameters["published"] = false + self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: { + (imageId, error) -> Void in + imageIDs.append(imageId as! String) + dispatch_group_leave(fb_group) + }) + break + default: + break + } + } + + + //notifies that all images are ready to be attached to new listing on facebook + dispatch_group_notify(fb_group, dispatch_get_main_queue(), { + + var listingParams: Dictionary = ["message":("**"+self.itemTitle.text!+"**\n\n"+"Price: "+self.itemPrice.text! + "\n\n"+self.itemDescription.text!)] + + for i in 0...(self.itemListingDictionary["pictures"] as! [UIImageView]).count - 1 { + listingParams["attached_media[\(i)]"] = "{\"media_fbid\":\"\(imageIDs[i])\"}" + } + - var listingParams: Dictionary = ["message":("**"+self.itemTitle.text!+"**\n\n"+"Price: "+self.itemPrice.text! + "\n\n"+self.itemDescription.text!), "attached_media[0]":"{\"media_fbid\":\"\(imageId as! String)\"}"] self.graphManager.makePOSTResquest("me/feed", params: listingParams, onComplete: { (listingId, error) -> Void in @@ -451,19 +554,16 @@ extension ListingPreviewViewController { networkIDs["facebook"] = listingId as! String self.newInProgressListing["networkIDs"] = networkIDs dispatch_group_leave(postingGroup) - - + + }) - /* - - */ + }) - //let parameters: Dictionary = ["":""] - - } + + //notifies once all selected networks have been posted to dispatch_group_notify(postingGroup, dispatch_get_main_queue(), { self.newInProgressListing.update(["listingID": newListingRef.key, "seller email": (NSUserDefaults.standardUserDefaults().objectForKey("email") as? String)!, @@ -482,54 +582,122 @@ extension ListingPreviewViewController { let storageRef = self.firManager.storage.referenceForURL((databaseDict["image_storage"] as? String)!) + var imageURLs: [String] = [] + let completion: ServiceResponse = {(metadata, error) -> Void in + + //for ebay due to its unique posting flow, will use firbase image storage url to add pictures + if (self.networksDictionary["ebay"]!){ + imageURLs.append((metadata?.downloadURL()?.absoluteString)!) + dispatch_group_leave(postingGroup) + }else{ + dispatch_group_leave(postingGroup) + } + + + + + } + //change code to new multi-image saving - - - - let listingImageRef = storageRef.child("images/\(newListingRef.key)"+".jpg") - listingImageRef.putData(UIImageJPEGRepresentation(self.itemPicture.image!, 0.8)!, metadata: nil,completion: - {(metadata, error) -> Void in + for i in 0...(self.itemListingDictionary["pictures"] as! [UIImageView]).count - 1 { + switch (i) { - //for ebay due to its unique posting flow, will use firbase image storage url to add pictures + case 0: dispatch_group_enter(postingGroup) - if (self.networksDictionary["ebay"]!){ - var networkIDs = self.newInProgressListing["networkIDs"] as! Dictionary - - self.ebayManager.addImagesToListing(networkIDs["ebay"] as! String, imageURL: (metadata?.downloadURL()?.absoluteString)!, onCompletion: { - (_, _) -> Void in - dispatch_group_leave(postingGroup) - }) - }else{ + let listingImageRef = storageRef.child("images/\(newListingRef.key)/main"+".jpg") + self.saveToFirebase(listingImageRef, completion: completion) + break + case 1: + dispatch_group_enter(postingGroup) + let listingImageRef = storageRef.child("images/\(newListingRef.key)/1"+".jpg") + self.saveToFirebase(listingImageRef, completion: completion) + break + case 2: + dispatch_group_enter(postingGroup) + let listingImageRef = storageRef.child("images/\(newListingRef.key)/2"+".jpg") + self.saveToFirebase(listingImageRef, completion: completion) + break + case 3: + dispatch_group_enter(postingGroup) + let listingImageRef = storageRef.child("images/\(newListingRef.key)/3"+".jpg") + self.saveToFirebase(listingImageRef, completion: completion) + break + case 4: + dispatch_group_enter(postingGroup) + let listingImageRef = storageRef.child("images/\(newListingRef.key)/4"+".jpg") + self.saveToFirebase(listingImageRef, completion: completion) + break + default: + break + } + } + + //notify to upload multiple ebay photos + dispatch_group_notify(postingGroup, dispatch_get_main_queue(), { + dispatch_group_enter(postingGroup) + if (self.networksDictionary["ebay"]!){ + + let body: [String: String] = [ "title": self.itemTitle.text, + "quantity":self.itemQuantity.text, + "description":self.itemDescription.text, + "price":self.itemPrice.text, + "category_id":self.itemListingDictionary["ebaySubCategoryID"] as! String + ] + let listingCompletion: ServiceResponse = { + (listingID, error) -> Void in + if((self.newInProgressListing["networkIDs"] == nil)){ + self.newInProgressListing["networkIDs"] = Dictionary() + } + var networkIDs = (self.newInProgressListing["networkIDs"] as! Dictionary) + networkIDs["ebay"] = listingID as! String + self.newInProgressListing["networkIDs"] = networkIDs dispatch_group_leave(postingGroup) } + + /*self.ebayManager.listItem(body, completion: { + (listingID, error) -> Void in + if((self.newInProgressListing["networkIDs"] == nil)){ + self.newInProgressListing["networkIDs"] = Dictionary() + } + var networkIDs = (self.newInProgressListing["networkIDs"] as! Dictionary) + networkIDs["ebay"] = listingID as! String + self.newInProgressListing["networkIDs"] = networkIDs + dispatch_group_leave(postingGroup) + })*/ + self.ebayManager.listItem(body, imageUrls: imageURLs, completion: listingCompletion) + //self.ebayManager.addImagesToListing(networkIDs["ebay"] as! String, imageURLs: imageURLs, listingOnCompletion: listingCompletion, body: body, onCompletion: { + //(_, _) -> Void in + //dispatch_group_leave(postingGroup) + //}) + + } + else { + dispatch_group_leave(postingGroup) + } + + //notify to save final listing to firebase + dispatch_group_notify(postingGroup, dispatch_get_main_queue(), { + newListingRef.setValue(self.newInProgressListing) - dispatch_group_notify(postingGroup, dispatch_get_main_queue(), { - newListingRef.setValue(self.newInProgressListing) - - // self.alert.title = "Listing saved with error" - // self.alert.message = "Your listing has been saved but something went wrong when trying to publish to facebook" - - - //let alert = UIAlertController(title: "Listing Published", message: "Your listing has been published", preferredStyle: .Alert) - - // self.alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in self.alert.dismissViewControllerAnimated(true, completion: nil)})) - - //register new listing id in global path of firebase root' - self.firManager.ref.child("Global_listings").child(newListingRef.key).setValue(newListingRef.key) - }) + // self.alert.title = "Listing saved with error" + // self.alert.message = "Your listing has been saved but something went wrong when trying to publish to facebook" + //let alert = UIAlertController(title: "Listing Published", message: "Your listing has been published", preferredStyle: .Alert) + + // self.alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in self.alert.dismissViewControllerAnimated(true, completion: nil)})) + + //register new listing id in global path of firebase root' + self.firManager.ref.child("Global_listings").child(newListingRef.key).setValue(newListingRef.key) + }) + }) - - - - }) + }) + } - - } @IBAction func editListing(sender: AnyObject) { @@ -539,8 +707,8 @@ extension ListingPreviewViewController { -} + } extension ListingPreviewViewController: UICollectionViewDelegate { /* diff --git a/Vendoo/Main.storyboard b/Vendoo/Main.storyboard index 98bbf3b..b55d147 100755 --- a/Vendoo/Main.storyboard +++ b/Vendoo/Main.storyboard @@ -1027,7 +1027,11 @@ - + + + + + diff --git a/Vendoo/NetworksTableViewController.swift b/Vendoo/NetworksTableViewController.swift index 9139c15..073f2c3 100644 --- a/Vendoo/NetworksTableViewController.swift +++ b/Vendoo/NetworksTableViewController.swift @@ -158,7 +158,7 @@ extension NetworksTableViewController: UITableViewDataSource { cell = (self.tableView.dequeueReusableCellWithIdentifier("etsy", forIndexPath: indexPath) as! EtsyTableViewCell) break default: - //loads network cell for ebay + //loads network cell for facebook cell = (self.tableView.dequeueReusableCellWithIdentifier("facebook", forIndexPath: indexPath) as! FBTableViewCell) break From 94d3fe05acce75082530f24c3e7acca44c309edd Mon Sep 17 00:00:00 2001 From: Okechi Onyeje Date: Wed, 7 Sep 2016 08:10:22 -0400 Subject: [PATCH 2/2] multiple images for facebook works --- .../UserInterfaceState.xcuserstate | Bin 65421 -> 64807 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 460 +++++++++++++++++- Vendoo/CategoriesTableViewController.swift | 12 +- Vendoo/EbayWebServiceManager.swift | 1 + Vendoo/FacebookGraphAPIManager.swift | 5 + Vendoo/ListingPreviewViewController.swift | 14 +- 6 files changed, 470 insertions(+), 22 deletions(-) diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate index d3d482f694b6616c3bf8ce13900efdedc3b9421a..ad9865f86e4287330061fcd1f9a802f73b3350ba 100644 GIT binary patch delta 31618 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⪚4^xEQ40{mvIDB6ClJKSB+r#&U9|$Lh$NiTV zs0(ioN4mn%aBa9g{B`(y@-*@`@(<+wWD=P|jwV-=o5-!?5weP`CEp}JAU}?n5ivhv zVZ@$@BN3hv0TJYg$cS?hr4bbomm+u(!U#*mM8x%ozbVrxvnZP>-%);`5Gno?66GAF zlu|)aQA`voT4QK2%or@j5Mz#=8v9}F{Ma3_`(h8q zBJr^qvDvXbv6o`GvE#A!SUmP`>U8QX>K5wv)V5id#F09jq0RM#!Zcz z5w|LCUEGE^LY!Y*U|dPug}94x@;G&zF78p>%edF^tK-+lZ;bbe4~P$nFOIK{uZ`!$ zkHn+#?-OPx%uVo0ASU=Gq$K1f;zZ*0q$x>rlIA6CO4^;YCn+F_oD`WPNm3@Ml4mC`O8z+6H<^?ilH8rl zPUa-vOa49ikCdG$`%@036s1(9)TC%qEGhQXPg7T?u1Te&CZr~(3Q|W?ucSUpMJ7|< zrfp06A#HzJY8sN3pQcJPrCHNwq|Z-Zn0_+dCml#{NbgMVNypP~rQgX|o3SNhdq!kN zVn#{^FJmMF&3KbJEpuk(zD&=|6PekWMVaR_M>18J+RVwUsaZ3!c4qC*I+T@@Rh(6t zCC$RJ)Yfp-{l_4J(`=Io0nUdtH{;m8ju;td}JXKi=-kM2p^Fn3grE{+2`i|*C~MiYZ7#w zW1Z{&?-lp;xi@)x^N!^m&nwKU%)5|xH}7fQ^ZXt8`|=Owr{*L1`T1DBAs;aptStDZ z;M;<%g2IB50%yU^f?o^2F5FzWt?*o7X<dPfTk*Bxnb^0=TD!fpXZ(*DxFd~ zr*vK^SQ=a!R@zrORLU!xUN*060a8XN^D7H1mWyR~teU+Y-Co0P;>na;7Z&co|d{nimYIoJ1Dx~UsRe6=U z%3XD>dR6th>J8QL)fv^<)nnDhYRiR%7nWUEae;Cn;X?9-D;LHu7;C<&*;KQ&1}Uzo zuBolLRr9dsN$ru^leMR7n`*mjX|+#kU)4@tJaF;&MX!tWi`aNx=tY22YqW)C9Z#`7cub0;=8fG;tXjt6f+dygvY3OcXH*gxBHoR_l)A&Q< z(Z(MeTN-;C8I5-upEN#e+R(JK>ANN>(v;Se*)-fFZIUV9hnkNzXEf(G z7d2zehGuiimn|DwHn&h)(poZG6fL?IL+j$!&stZu#g>B2)RhjdcE{xoLFd#?w4I|r~62^XLnz(X<+xstV3T+N;9&I=6 zDD4={lXjfuL-V5r(t>GWv}hWYmVnTbX{odVS`n>;Rz@48>1jrqnP#KUrZ1s?N?%4_ zLHDKy(u3(?^ay$sJ%)asUPG^=H`1HwT)KijPB+rcbPL^1$LV+JlZ?3x55}jAHH>wP zos9hqUq%2Ul~KWHX0$On89fX-gUJ|VTxJLuB8GusW>^_E2I6G68NV?eGM+G=F%pvAwrhthu$C-DTZ~GSZeciXe&$lnSufOkdpQI1#v-G+8 zuJ+yNyN&cc=zHAvd*2^@FIj6@hgmQyltpDFu##D6tV~u83t?5TF0vX}&8#+7FN?uq zvHDqD7S5i@-p2lceVBcMeU|OdCb2`<;p`Z896OPn!cJqKW9PHav+LPy>`rzMo6hcM z53q;Xe72B{vXyKd8)x5O-)7%s-)AGgv!AnHvR|_&+3zpSzO;~&!b#`kajH2DoOTYI zBjiXpBOH{Y9AFJx z8sHAD9^5pzWpLZz&O!R%@E~tcFeo0{IJ9SI@6i6CLqnV)$&hSFKBO4lJiK>!|M0=# zBg5Up+~L9D;bA^+4R0&&AnypzlXrr5l6RWt&GX@f^2oeMUJQ@QOW-B(Qg~^+Vji3K zn7^FAj}P*b_!azmKGMW*<+tk|2noWoLO=)$1B5}sP$5}J5k?6sg$&^kA{-Sug|~&1A`j7*qFtgRqNAc? zq8~*>k*^36`HM)RU{R^4LDVd26LpGuL^KggBoK{=P?1uk5*b8hkxk?jxy3WZpNn^i z4~P$okBNU26U8Coa4|(3EvAYS#L40`ak02mTp_L&*NW@KP2yH@yO=E&h%I8|o@A04V zOW6k5_p-gR1G2-i6Nv1r43zoF0%hT{L|KX~U6v^;kTuIXWIWl3?1Aj*$kLI+BVHq? zM$U{7Mj}TtN2*6yBiM*~L_4A%F^xPJ`D0{KK12SEe209O{CoLc`2jgm?kk7n{&JE$ zL>?_qm1oGa<%m3AUL-G(*U1~@E%J6bTh5UW$}h_iRIZe(W%uM5bBQxq7*a*%|;P4A1y*F&}y_6tw)>CZUm*F zOq7KR&@ohlj-y7@g4$6Woj@O=Pta%R3-lE_iM~buRZLOLSA3#as#vaAp;)Q-M)9p; zlVXcvyJDB(fa0X$tRhMgtB6-5DN+>aiabTJqEu0#s8X~lIuzXsnu4idDddVfisy=# zir0!aig${Cugtk}{0ic81-JrV@xNlca!ol^>7iVxT&!H8T&es*`IU05a=+3`>8# zHVs>VEyb2&E3lQ=YHU5W5!;My#kOO+umjj(>?neHVlWnf1!18W8H>acu?#F5L$G|T z5UauJutux}>&Lj56q92L48ts#9mBB+>^Am0_6PPS_Im8>SnycuSl<|Xtbc4^Of)7P zlaHZe_}JaCr(@5@UXHyUd!w4BnyH$tnyd0qEmSR2ZBy-2{iq_U{8c0s5~2!MQB(=4 zBvq;^U6rZIR<)>vstMIg^%V7V^(^%q^*ptQ`b+f&^;Y!`^=|d|YEQM7`jq;N`m7pM z`>6xfF=|A8UR|T^Q1_}CYL=R-9#ZqvLbXDzQ{(Ch^>y_v^&Ry+^&8DB%^b}<%>vD0 z&BvN`nr)ihnmveSpXPw(q~?r$>ufrw?w;}Z4QYmSL!P1CKr^5QhvBB-f#I>?cf((XzYTAV zD~%hB2aJb}$Bf5~UdB_#Ge)A(*9aM7j8tQSG1-`A%rIsf5o4aQ&{%BjHVzswqsw^T z_}=u9X^ZKY$9R>+5}U4= z#!PCH&SWr|Ouv~u%&X0t%v;Sn%)8Bd%=^rz&3W`2m6pO}BQcv#k1j#vUL>6Ri(m8Hf~ zXKA#wSb8lC3(IoJ!nF)qCM++kYpo}&fHlY(Y9(7K))ebGYk{@cT57GZR$E)F?ba@9 zkCkR+TG>{s^`&i^ZLV#h?IYVKwxzbOY@2LbZ98ncY+kmXZNJzEwzD?SR$;5RAsx1E z8_mYFv2Fb}u}x+hwOz5jwa>QCwR_kX*_Yc_*w@=P+PB!Z+Yj20*gfqh?BRB*y~ti- zud{dCX?CWaZRgkr?U(JSU1?X@wf1ql(QdX|?GGLE9s3-94vHh%L3JcJk{xM|Qb&WM z)zRVTb}$?)N56xMIQR~UL+#KzOb)99cT700J8n8|Ii5Nu9d8}~I;T2kI6rVMb}n%) zb$;et>HNaE#<|V;lk>FG&l%zjcT$|u&O~R5Gu@fx%yAYtE1b>F4rjNM=43hhodeDx zr^Kmt8l4uW-HAJIIBz@eI`2ClI^W?R;j8gAIIe!!O}ndex~(p}ZAHdm*s2XWC|eXdI`kxT57 zxMVJ^OYbtdtS*NOcinQ`cRg}Fbv<{zaJ_fWaDU+b(7nLD*uBKP)V;yI(|y?eqx&cK z&u(wGj~j5qZi+j>o$D@e7rRT{Rqh&hox9P^c3*a*?lHH7JbUWa8XJ d$Hd?Sf8q=2|Ej=KrcL`lF8cca`2RaG@;}owTUY=9 delta 31971 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%0DyM_csRhL0UiTzGr*Go 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 Zv$yB}?}^pK)b#(j^4S0J|M&L7{{iGs`z!ze diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index c1b52b5..9359d05 100644 --- a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -58,12 +58,26 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Vendoo/HomeViewController.swift" - timestampString = "494847768.56364" + timestampString = "494906385.49118" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "182" - endingLineNumber = "182" - landmarkName = "listingHasEnded(_:ebayInfo:amazonInfo:etsyInfo:)" + startingLineNumber = "183" + endingLineNumber = "183"> + + + + @@ -73,15 +87,445 @@ shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" - filePath = "Vendoo/ListingPreviewViewController.swift" - timestampString = "494852405.460243" + filePath = "Vendoo/CategoryPopUpController.swift" + timestampString = "494896911.735111" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "146" - endingLineNumber = "146" + startingLineNumber = "41" + endingLineNumber = "41" + landmarkName = "loadCategories(_:selectedCatCompletion:)" + landmarkType = "5"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Vendoo/CategoriesTableViewController.swift b/Vendoo/CategoriesTableViewController.swift index 14f1738..027d126 100644 --- a/Vendoo/CategoriesTableViewController.swift +++ b/Vendoo/CategoriesTableViewController.swift @@ -129,6 +129,7 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa dispatch_async(dispatch_get_main_queue(), { + cell.categoryName.text = self.categories[indexPath.row] cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 3, inSection: 0))?.hidden = true //facebook cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 2, inSection: 0))?.hidden = true //etsy @@ -693,9 +694,14 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa } let cell: CategoryCell! = tableView.cellForRowAtIndexPath(indexPath) as! CategoryCell//tableView.dequeueReusableCellWithIdentifier("CategoryCell", forIndexPath: indexPath) as? CategoryCell - if(self.ebayManager.isAuthorized && cell.shouldAskAboutLeafCategories){ - self.potentialEbay = true - self.navigateCategories() + + if(self.ebayManager.isAuthorized ) { + var dict: Dictionary> = (EbayWebServiceManager.settingsDictionary["categories"]!) as! Dictionary> + let catDict = dict[self.selectedCategory] + if (!(catDict!["isLeaf"] as! Bool)){ + self.potentialEbay = true + self.navigateCategories() + } } else { self.performSegueWithIdentifier("NetworkSelectionSegue", sender: self) diff --git a/Vendoo/EbayWebServiceManager.swift b/Vendoo/EbayWebServiceManager.swift index 03b2bda..a9f0979 100644 --- a/Vendoo/EbayWebServiceManager.swift +++ b/Vendoo/EbayWebServiceManager.swift @@ -506,6 +506,7 @@ extension EbayWebServiceManager: NSXMLParserDelegate { dict[string] = ["cat_id": self.catID, "isLeaf": false, "level": self.catLevel] EbayWebServiceManager.settingsDictionary["categories"] = dict NSUserDefaults.standardUserDefaults().setObject(EbayWebServiceManager.settingsDictionary, forKey: "ebaySettings") + } else { if "\(self.catDetailLevel)" == self.catLevel { diff --git a/Vendoo/FacebookGraphAPIManager.swift b/Vendoo/FacebookGraphAPIManager.swift index 1355b78..d86b931 100644 --- a/Vendoo/FacebookGraphAPIManager.swift +++ b/Vendoo/FacebookGraphAPIManager.swift @@ -90,6 +90,7 @@ extension FacebookGraphAPIManager { print(result.token) print(result.grantedPermissions) NSUserDefaults.standardUserDefaults().setBool(true, forKey:"fbAuthorized") + self.isAuthorized = true FBSDKAccessToken.setCurrentAccessToken(result.token) @@ -103,6 +104,10 @@ extension FacebookGraphAPIManager { (result, error) -> Void in NSLog("Logged in with publish permisions") + NSUserDefaults.standardUserDefaults().setBool(true, forKey:"fbAuthorized") + self.isAuthorized = true + + }) }) diff --git a/Vendoo/ListingPreviewViewController.swift b/Vendoo/ListingPreviewViewController.swift index b6fd7a3..e366f3e 100644 --- a/Vendoo/ListingPreviewViewController.swift +++ b/Vendoo/ListingPreviewViewController.swift @@ -190,7 +190,7 @@ extension ListingPreviewViewController { self.view.addSubview(loadingView) self.firManager.indicator.startAnimating() - if(self.itemPicture.image == nil){ + if(self.itemPictureMain.image == nil){ let alert = UIAlertController(title: "Image Needed", message: "To proceed to choose networks, you must supply at least one picture for your listing", preferredStyle: .Alert) alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)})) @@ -634,28 +634,20 @@ extension ListingPreviewViewController { // self.alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in self.alert.dismissViewControllerAnimated(true, completion: nil)})) - //register new listing id in global path of firebase root' - self.firManager.ref.child("Global_listings").child(newListingRef.key).setValue(newListingRef.key) }) }) }) - }) - - } + } } @IBAction func editListing(sender: AnyObject) { self.performSegueWithIdentifier("EditListingSegue", sender: self) } - - - - - } +} extension ListingPreviewViewController: UICollectionViewDelegate { /*