Merged branch BUG-Multiple-Image-Uploads into Rapid-Dev-Branch

This commit is contained in:
Okechi Onyeje 2016-09-07 08:10:52 -04:00
commit 5b7c1d73f0
9 changed files with 640 additions and 279 deletions

View File

@ -10,11 +10,11 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/ServiceNotificationManager.swift" filePath = "Vendoo/ServiceNotificationManager.swift"
timestampString = "494388533.467001" timestampString = "494778762.798972"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "70" startingLineNumber = "79"
endingLineNumber = "70" endingLineNumber = "79"
landmarkName = "pollServices()" landmarkName = "pollServices()"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
@ -26,43 +26,217 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/ServiceNotificationManager.swift" filePath = "Vendoo/ServiceNotificationManager.swift"
timestampString = "494388607.180284" timestampString = "494778870.382513"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "71" startingLineNumber = "75"
endingLineNumber = "71" endingLineNumber = "75"
landmarkName = "pollServices()" landmarkName = "pollServices()"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ServiceNotificationManager.swift"
timestampString = "494780884.179336"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "80"
endingLineNumber = "80"
landmarkName = "pollServices()"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/HomeViewController.swift"
timestampString = "494906385.49118"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "183"
endingLineNumber = "183">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/CategoriesTableViewController.swift"
timestampString = "494897839.603291"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "579"
endingLineNumber = "579"
landmarkName = "navigateCategories()"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/CategoryPopUpController.swift"
timestampString = "494896911.735111"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "41"
endingLineNumber = "41"
landmarkName = "loadCategories(_:selectedCatCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494898754.02163"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "528"
endingLineNumber = "528"
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494898754.02163"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "525"
endingLineNumber = "525"
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494898361.943389"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "499"
endingLineNumber = "499"
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494898365.099933"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "500"
endingLineNumber = "500"
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/CategoryPopUpController.swift"
timestampString = "494899698.118321"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "66"
endingLineNumber = "66"
landmarkName = "loadCategories(_:selectedCatCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494899878.763302"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "524"
endingLineNumber = "524"
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/HomeViewController.swift"
timestampString = "494902152.530491"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "87"
endingLineNumber = "87"
landmarkName = "viewDidLoad()"
landmarkType = "5">
<Locations> <Locations>
<Location <Location
shouldBeEnabled = "No" shouldBeEnabled = "No"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
symbolName = "Vendoo.ServiceNotificationManager.(pollServices () -&gt; ()).(closure #1)" symbolName = "Vendoo.HomeViewController.(viewDidLoad () -&gt; ()).(closure #1).(closure #1).(closure #1).(closure #1).(closure #1).(closure #2)"
moduleName = "Vendoo" moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes" usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/ServiceNotificationManager.swift" urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/HomeViewController.swift"
timestampString = "494388607.183022" timestampString = "494916337.033228"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "71" startingLineNumber = "87"
endingLineNumber = "71" endingLineNumber = "87"
offsetFromSymbolStart = "4017"> offsetFromSymbolStart = "507">
</Location> </Location>
<Location <Location
shouldBeEnabled = "No" shouldBeEnabled = "No"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
symbolName = "Vendoo.ServiceNotificationManager.(pollServices () -&gt; ()).(closure #1).(closure #1)" symbolName = "Vendoo.HomeViewController.(viewDidLoad () -&gt; ()).(closure #1).(closure #1).(closure #1).(closure #1).(closure #1).(closure #2)"
moduleName = "Vendoo" moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes" usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/ServiceNotificationManager.swift" urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/HomeViewController.swift"
timestampString = "494388607.183149" timestampString = "494916337.033348"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "73" startingLineNumber = "87"
endingLineNumber = "73" endingLineNumber = "87"
offsetFromSymbolStart = "20"> offsetFromSymbolStart = "7119">
</Location> </Location>
</Locations> </Locations>
</BreakpointContent> </BreakpointContent>
@ -70,16 +244,32 @@
<BreakpointProxy <BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent <BreakpointContent
shouldBeEnabled = "Yes" shouldBeEnabled = "No"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/ServiceNotificationManager.swift" filePath = "Vendoo/HomeViewController.swift"
timestampString = "494388796.589441" timestampString = "494916335.990713"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "73" startingLineNumber = "59"
endingLineNumber = "73" endingLineNumber = "59"
landmarkName = "pollServices()" landmarkName = "viewDidLoad()"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemTableViewController.swift"
timestampString = "494936802.535184"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "107"
endingLineNumber = "107"
landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
@ -89,12 +279,28 @@
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift" filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "494685275.012942" timestampString = "494935556.474664"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "573" startingLineNumber = "167"
endingLineNumber = "573"> endingLineNumber = "167">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "494937129.002183"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "51"
endingLineNumber = "51"
landmarkName = "viewDidLoad()"
landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy <BreakpointProxy
@ -104,11 +310,13 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift" filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494685275.012942" timestampString = "494938310.11197"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "571" startingLineNumber = "314"
endingLineNumber = "571"> endingLineNumber = "314"
landmarkName = "listItem(_:imageUrls:completion:)"
landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy <BreakpointProxy
@ -117,12 +325,108 @@
shouldBeEnabled = "No" shouldBeEnabled = "No"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494938315.252535"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "315"
endingLineNumber = "315"
landmarkName = "listItem(_:imageUrls:completion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494938497.537478"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "511"
endingLineNumber = "511"
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494938501.239695"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "509"
endingLineNumber = "509"
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494938502.495792"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "510"
endingLineNumber = "510"
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/CategoriesTableViewController.swift"
timestampString = "494940975.718534"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "764"
endingLineNumber = "764"
landmarkName = "prepareForSegue(_:sender:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/NetworksTableViewController.swift" filePath = "Vendoo/NetworksTableViewController.swift"
timestampString = "494630189.759007" timestampString = "494941205.231227"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "82" startingLineNumber = "77"
endingLineNumber = "82" endingLineNumber = "77"
landmarkName = "toggleMarketPlaceVisibitlity(_:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/NetworksTableViewController.swift"
timestampString = "494941253.143954"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "81"
endingLineNumber = "81"
landmarkName = "checkVisibility()" landmarkName = "checkVisibility()"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
@ -134,11 +438,11 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/NetworksTableViewController.swift" filePath = "Vendoo/NetworksTableViewController.swift"
timestampString = "494630189.759007" timestampString = "494941355.780817"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "178" startingLineNumber = "177"
endingLineNumber = "178" endingLineNumber = "177"
landmarkName = "tableView(_:cellForRowAtIndexPath:)" landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
@ -149,13 +453,13 @@
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/CategoriesTableViewController.swift" filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "494631326.508326" timestampString = "494941872.191463"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "583" startingLineNumber = "384"
endingLineNumber = "583" endingLineNumber = "384"
landmarkName = "tableView(_:didSelectRowAtIndexPath:)" landmarkName = "publishItem(_:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
@ -165,13 +469,13 @@
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/CategoriesTableViewController.swift" filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "494631326.508326" timestampString = "494941981.555508"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "695" startingLineNumber = "402"
endingLineNumber = "695" endingLineNumber = "402"
landmarkName = "tableView(_:didSelectRowAtIndexPath:)" landmarkName = "publishItem(_:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
@ -181,125 +485,13 @@
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/NetworksTableViewController.swift" filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "494635088.267954" timestampString = "494942021.796377"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "788" startingLineNumber = "403"
endingLineNumber = "788" endingLineNumber = "403"
landmarkName = "toggleAuth(_:)" landmarkName = "publishItem(_:)"
landmarkType = "5">
<Locations>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.NetworksTableViewController.toggleAuth (__ObjC.UIButton) -&gt; ()"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/NetworksTableViewController.swift"
timestampString = "494637260.284101"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "788"
endingLineNumber = "788"
offsetFromSymbolStart = "1462">
</Location>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.NetworksTableViewController.(toggleAuth (__ObjC.UIButton) -&gt; ()).(closure #1)"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.3.sdk/usr/include/dispatch/queue.h"
timestampString = "494637260.284213"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "325"
endingLineNumber = "325"
offsetFromSymbolStart = "44">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/NetworksTableViewController.swift"
timestampString = "494636143.418834"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "791"
endingLineNumber = "791"
landmarkName = "toggleAuth(_:)"
landmarkType = "5">
<Locations>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.NetworksTableViewController.(toggleAuth (__ObjC.UIButton) -&gt; ()).(closure #1)"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/NetworksTableViewController.swift"
timestampString = "494637260.28507"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "791"
endingLineNumber = "791"
offsetFromSymbolStart = "64">
</Location>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.NetworksTableViewController.(toggleAuth (__ObjC.UIButton) -&gt; ()).(closure #1).(closure #1)"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/NetworksTableViewController.swift"
timestampString = "494637260.285178"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "792"
endingLineNumber = "792"
offsetFromSymbolStart = "34">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494685275.012942"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "411"
endingLineNumber = "411"
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/NetworksTableViewController.swift"
timestampString = "494636097.069833"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "764"
endingLineNumber = "764"
landmarkName = "webViewDidFinishLoad(_:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
@ -309,13 +501,13 @@
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift" filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "494685275.012942" timestampString = "494942034.726609"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "309" startingLineNumber = "407"
endingLineNumber = "309" endingLineNumber = "407"
landmarkName = "fetchToken()" landmarkName = "publishItem(_:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
@ -325,45 +517,13 @@
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/NetworksTableViewController.swift" filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "494636370.565199" timestampString = "494942036.742589"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "793" startingLineNumber = "412"
endingLineNumber = "793" endingLineNumber = "412"
landmarkName = "toggleAuth(_:)" landmarkName = "publishItem(_:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494685275.012942"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "473"
endingLineNumber = "473"
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/NetworksTableViewController.swift"
timestampString = "494637280.732776"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "765"
endingLineNumber = "765"
landmarkName = "webViewDidFinishLoad(_:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>

View File

@ -129,6 +129,7 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa
dispatch_async(dispatch_get_main_queue(), { dispatch_async(dispatch_get_main_queue(), {
cell.categoryName.text = self.categories[indexPath.row] cell.categoryName.text = self.categories[indexPath.row]
cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 3, inSection: 0))?.hidden = true //facebook cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 3, inSection: 0))?.hidden = true //facebook
cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 2, inSection: 0))?.hidden = true //etsy cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 2, inSection: 0))?.hidden = true //etsy
@ -693,10 +694,15 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa
} }
let cell: CategoryCell! = tableView.cellForRowAtIndexPath(indexPath) as! CategoryCell//tableView.dequeueReusableCellWithIdentifier("CategoryCell", forIndexPath: indexPath) as? CategoryCell let cell: CategoryCell! = tableView.cellForRowAtIndexPath(indexPath) as! CategoryCell//tableView.dequeueReusableCellWithIdentifier("CategoryCell", forIndexPath: indexPath) as? CategoryCell
if(self.ebayManager.isAuthorized && cell.shouldAskAboutLeafCategories){
if(self.ebayManager.isAuthorized ) {
var dict: Dictionary<String, Dictionary<String, AnyObject>> = (EbayWebServiceManager.settingsDictionary["categories"]!) as! Dictionary<String, Dictionary<String, AnyObject>>
let catDict = dict[self.selectedCategory]
if (!(catDict!["isLeaf"] as! Bool)){
self.potentialEbay = true self.potentialEbay = true
self.navigateCategories() self.navigateCategories()
} }
}
else { else {
self.performSegueWithIdentifier("NetworkSelectionSegue", sender: self) self.performSegueWithIdentifier("NetworkSelectionSegue", sender: self)
} }

View File

@ -211,8 +211,10 @@ extension EbayWebServiceManager {
self.requestMaker(soapMessage, theRequest: theRequest) 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 = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + var soapMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<ReviseItemRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\">" + "<ReviseItemRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\">" +
"<RequesterCredentials>" + "<RequesterCredentials>" +
@ -221,21 +223,26 @@ extension EbayWebServiceManager {
soapMessage = soapMessage + "<ErrorLanguage>en_US</ErrorLanguage>" + soapMessage = soapMessage + "<ErrorLanguage>en_US</ErrorLanguage>" +
"<Item>" + "<Item>" +
"<ItemID>\(listingID)</ItemID>" + "<ItemID>\(listingID)</ItemID>"
"<PictureDetails>" +
"<PictureURL>\(imageURL.stringByReplacingOccurrencesOfString("&", withString: "&amp;"))</PictureURL>" + for i in 0...(imageURLs.count - 1) {
"</PictureDetails>" + soapMessage = soapMessage + "<PictureDetails>" +
"</Item></ReviseItemRequest>" "<PictureURL>\(imageURLs[i].stringByReplacingOccurrencesOfString("&", withString: "&amp;"))</PictureURL>" +
"</PictureDetails>"
}
soapMessage = soapMessage + "</Item></ReviseItemRequest>"
let url = NSURL(string: self.baseURL) let url = NSURL(string: self.baseURL)
let theRequest = NSMutableURLRequest(URL: url!) let theRequest = NSMutableURLRequest(URL: url!)
theRequest.addValue("ReviseItem", forHTTPHeaderField: "X-EBAY-API-CALL-NAME") theRequest.addValue("ReviseItem", forHTTPHeaderField: "X-EBAY-API-CALL-NAME")
self.completion = onCompletion self.completion = onCompletion
self.requestMaker(soapMessage, theRequest: theRequest) 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 dict = EbayWebServiceManager.settingsDictionary
var emailRetrievalGroup = dispatch_group_create() var emailRetrievalGroup = dispatch_group_create()
var soapMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + var soapMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
@ -272,8 +279,15 @@ extension EbayWebServiceManager {
"<ListingDuration>\(dict["listingDuration"] as! String!)</ListingDuration>" + "<ListingDuration>\(dict["listingDuration"] as! String!)</ListingDuration>" +
"<ListingType>\(dict["listingType"] as! String!)</ListingType>" + "<ListingType>\(dict["listingType"] as! String!)</ListingType>" +
"<PaymentMethods>\(dict["payment"] as! String!)</PaymentMethods>" + "<PaymentMethods>\(dict["payment"] as! String!)</PaymentMethods>" +
"<PayPalEmailAddress>\(dict["paypal_email"] as! String!)</PayPalEmailAddress>" + "<PayPalEmailAddress>\(dict["paypal_email"] as! String!)</PayPalEmailAddress><PictureDetails>"
"<PostalCode>\(dict["postalCode"] as! String!)</PostalCode>" +
for i in 0...(imageUrls.count - 1) {
soapMessage = soapMessage +
"<PictureURL>\(imageUrls[i].stringByReplacingOccurrencesOfString("&", withString: "&amp;"))</PictureURL>"
}
soapMessage = soapMessage + "</PictureDetails><PostalCode>\(dict["postalCode"] as! String!)</PostalCode>" +
"<Quantity>\(params["quantity"] as String!)</Quantity>" + "<Quantity>\(params["quantity"] as String!)</Quantity>" +
"<ReturnPolicy>" + "<ReturnPolicy>" +
"<ReturnsAcceptedOption>\(dict["return"] as! String!)</ReturnsAcceptedOption>" + "<ReturnsAcceptedOption>\(dict["return"] as! String!)</ReturnsAcceptedOption>" +
@ -289,7 +303,7 @@ extension EbayWebServiceManager {
"</ShippingDetails>" + "</ShippingDetails>" +
"<Site>US</Site>" + "<Site>US</Site>" +
"</Item></AddItemRequest>" "</Item></AddItemRequest>"
print(soapMessage)
let url = NSURL(string: self.baseURL) let url = NSURL(string: self.baseURL)
let theRequest = NSMutableURLRequest(URL: url!) let theRequest = NSMutableURLRequest(URL: url!)
theRequest.addValue("AddItem", forHTTPHeaderField: "X-EBAY-API-CALL-NAME") theRequest.addValue("AddItem", forHTTPHeaderField: "X-EBAY-API-CALL-NAME")
@ -492,6 +506,7 @@ extension EbayWebServiceManager: NSXMLParserDelegate {
dict[string] = ["cat_id": self.catID, "isLeaf": false, "level": self.catLevel] dict[string] = ["cat_id": self.catID, "isLeaf": false, "level": self.catLevel]
EbayWebServiceManager.settingsDictionary["categories"] = dict EbayWebServiceManager.settingsDictionary["categories"] = dict
NSUserDefaults.standardUserDefaults().setObject(EbayWebServiceManager.settingsDictionary, forKey: "ebaySettings") NSUserDefaults.standardUserDefaults().setObject(EbayWebServiceManager.settingsDictionary, forKey: "ebaySettings")
} }
else { else {
if "\(self.catDetailLevel)" == self.catLevel { if "\(self.catDetailLevel)" == self.catLevel {

View File

@ -90,6 +90,7 @@ extension FacebookGraphAPIManager {
print(result.token) print(result.token)
print(result.grantedPermissions) print(result.grantedPermissions)
NSUserDefaults.standardUserDefaults().setBool(true, forKey:"fbAuthorized") NSUserDefaults.standardUserDefaults().setBool(true, forKey:"fbAuthorized")
self.isAuthorized = true
FBSDKAccessToken.setCurrentAccessToken(result.token) FBSDKAccessToken.setCurrentAccessToken(result.token)
@ -103,6 +104,10 @@ extension FacebookGraphAPIManager {
(result, error) -> Void in (result, error) -> Void in
NSLog("Logged in with publish permisions") NSLog("Logged in with publish permisions")
NSUserDefaults.standardUserDefaults().setBool(true, forKey:"fbAuthorized")
self.isAuthorized = true
}) })
}) })

View File

@ -60,13 +60,13 @@ class HomeViewController: UITabBarController {
var listingImages: [UIImage] = [mainImage!] var listingImages: [UIImage] = [mainImage!]
var count = 0 var count = 0
//Get supporting images //Get supporting images
for i in 2...5 { for i in 1...4 {
let supportListingImg1 = storageRef.child("images/\(key)/\(i).jpg") let supportListingImg1 = storageRef.child("images/\(key)/\(i).jpg")
supportListingImg1.dataWithMaxSize(10 * 1024 * 1024, completion: { supportListingImg1.dataWithMaxSize(10 * 1024 * 1024, completion: {
(data1, error) -> Void in (data1, error) -> Void in
if(error != nil){ 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{ }else{
listingImages.append(UIImage(data: data1!)!) listingImages.append(UIImage(data: data1!)!)
} }

View File

@ -14,6 +14,7 @@
*/ */
import UIKit import UIKit
import FirebaseStorage
import SWRevealViewController import SWRevealViewController
//@TODO: Need to make multiple images work for etsy and facebook and need to implement multiple images saving to firebase //@TODO: Need to make multiple images work for etsy and facebook and need to implement multiple images saving to firebase
@ -22,7 +23,11 @@ class ListingPreviewViewController: UIViewController {
//IBOutlets //IBOutlets
@IBOutlet weak var containerScrollView: UIScrollView! @IBOutlet weak var containerScrollView: UIScrollView!
@IBOutlet weak var itemQuantity: UITextView! @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 itemTitle: UITextView!
@IBOutlet weak var itemDescription: UITextView! @IBOutlet weak var itemDescription: UITextView!
@IBOutlet weak var itemPrice: UITextView! @IBOutlet weak var itemPrice: UITextView!
@ -65,7 +70,27 @@ class ListingPreviewViewController: UIViewController {
func setListing(){ 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.itemTitle.text = self.itemListingDictionary["title"] as! String
self.itemDescription.text = self.itemListingDictionary["description"] as! String self.itemDescription.text = self.itemListingDictionary["description"] as! String
self.itemPrice.text = self.itemListingDictionary["price"] as! String self.itemPrice.text = self.itemListingDictionary["price"] as! String
@ -85,7 +110,14 @@ class ListingPreviewViewController: UIViewController {
self.etsyManager = etsyManager 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 // MARK: - Navigation
@ -158,7 +190,7 @@ extension ListingPreviewViewController {
self.view.addSubview(loadingView) self.view.addSubview(loadingView)
self.firManager.indicator.startAnimating() 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) 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)})) alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
@ -170,9 +202,13 @@ extension ListingPreviewViewController {
let newListingRef = self.firManager.ref.child("Users").child("\(self.firManager.user_email)").child("user_Listings").childByAutoId() let newListingRef = self.firManager.ref.child("Users").child("\(self.firManager.user_email)").child("user_Listings").childByAutoId()
let postingGroup: dispatch_group_t = dispatch_group_create() 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 //post to ebay
if(self.networksDictionary["ebay"]!){ /*if(self.networksDictionary["ebay"]!){
dispatch_group_enter(postingGroup) dispatch_group_enter(postingGroup)
let body: [String: String] = [ "title": self.itemTitle.text, let body: [String: String] = [ "title": self.itemTitle.text,
@ -192,7 +228,7 @@ extension ListingPreviewViewController {
self.newInProgressListing["networkIDs"] = networkIDs self.newInProgressListing["networkIDs"] = networkIDs
dispatch_group_leave(postingGroup) dispatch_group_leave(postingGroup)
}) })
} }*/
//post to amazon //post to amazon
@ -329,7 +365,7 @@ extension ListingPreviewViewController {
let imageBody = ["listing_id": networkIDs["etsy"] as! Int, let imageBody = ["listing_id": networkIDs["etsy"] as! Int,
//"type":"image/jpg", //"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: { self.etsyManager.sendPOSTRequest(("listings/\(networkIDs["etsy"] as! Int)/images"), body: imageBody, onCompletion: {
(dict, error) -> Void in (dict, error) -> Void in
@ -346,26 +382,93 @@ extension ListingPreviewViewController {
//post to facebook //post to facebook
if(self.networksDictionary["facebook"]!){ if(self.networksDictionary["facebook"]!){
dispatch_group_enter(postingGroup) dispatch_group_enter(postingGroup)
let fb_group: dispatch_group_t = dispatch_group_create()
let tmpDirURL = NSURL.fileURLWithPath(NSTemporaryDirectory(), isDirectory: true) let tmpDirURL = NSURL.fileURLWithPath(NSTemporaryDirectory(), isDirectory: true)
let fileURL = tmpDirURL.URLByAppendingPathComponent("main").URLByAppendingPathExtension("jpg") let fileURL = tmpDirURL.URLByAppendingPathComponent("main").URLByAppendingPathExtension("jpg")
print("FilePath: \(fileURL.path!)") print("FilePath: \(fileURL.path!)")
do { 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{ }catch{
(error) (error)
print(error) print(error)
} }
//let parameters: Dictionary<String, AnyObject> = ["message":("**"+self.itemTitle.text!+"**\n\n"+"Price: "+self.itemPrice.text! + "\n\n"+self.itemDescription.text!)]
let parameters: Dictionary<String, AnyObject> = ["Source": UIImageJPEGRepresentation(self.itemPicture.image!, 0.45)!, "published":false]
self.lastListingKey = newListingRef.key self.lastListingKey = newListingRef.key
var imageIDs: [String] = []
//post multiple images to fb
for i in 0...(self.itemListingDictionary["pictures"] as! [UIImageView]).count - 1 {
var parameters: Dictionary<String, AnyObject> = Dictionary<String, AnyObject>()
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: { self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: {
(imageId, error) -> Void in (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<String, AnyObject> = ["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<String, AnyObject> = ["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: { self.graphManager.makePOSTResquest("me/feed", params: listingParams, onComplete: {
(listingId, error) -> Void in (listingId, error) -> Void in
@ -379,16 +482,13 @@ extension ListingPreviewViewController {
}) })
/*
*/
}) })
//let parameters: Dictionary<String, AnyObject> = ["":""]
} }
//notifies once all selected networks have been posted to
dispatch_group_notify(postingGroup, dispatch_get_main_queue(), { dispatch_group_notify(postingGroup, dispatch_get_main_queue(), {
self.newInProgressListing.update(["listingID": newListingRef.key, self.newInProgressListing.update(["listingID": newListingRef.key,
"seller email": (NSUserDefaults.standardUserDefaults().objectForKey("email") as? String)!, "seller email": (NSUserDefaults.standardUserDefaults().objectForKey("email") as? String)!,
@ -407,30 +507,102 @@ extension ListingPreviewViewController {
let storageRef = self.firManager.storage.referenceForURL((databaseDict["image_storage"] as? String)!) let storageRef = self.firManager.storage.referenceForURL((databaseDict["image_storage"] as? String)!)
//change code to new multi-image saving var imageURLs: [String] = []
let completion: ServiceResponse = {(metadata, error) -> Void in
let listingImageRef = storageRef.child("images/\(newListingRef.key)"+".jpg")
listingImageRef.putData(UIImageJPEGRepresentation(self.itemPicture.image!, 0.8)!, metadata: nil,completion:
{(metadata, error) -> Void in
//for ebay due to its unique posting flow, will use firbase image storage url to add pictures //for ebay due to its unique posting flow, will use firbase image storage url to add pictures
dispatch_group_enter(postingGroup)
if (self.networksDictionary["ebay"]!){ if (self.networksDictionary["ebay"]!){
var networkIDs = self.newInProgressListing["networkIDs"] as! Dictionary<String, AnyObject> imageURLs.append((metadata?.downloadURL()?.absoluteString)!)
self.ebayManager.addImagesToListing(networkIDs["ebay"] as! String, imageURL: (metadata?.downloadURL()?.absoluteString)!, onCompletion: {
(_, _) -> Void in
dispatch_group_leave(postingGroup) dispatch_group_leave(postingGroup)
})
}else{ }else{
dispatch_group_leave(postingGroup) dispatch_group_leave(postingGroup)
} }
}
//change code to new multi-image saving
for i in 0...(self.itemListingDictionary["pictures"] as! [UIImageView]).count - 1 {
switch (i) {
case 0:
dispatch_group_enter(postingGroup)
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<String, AnyObject>()
}
var networkIDs = (self.newInProgressListing["networkIDs"] as! Dictionary<String, AnyObject>)
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<String, AnyObject>()
}
var networkIDs = (self.newInProgressListing["networkIDs"] as! Dictionary<String, AnyObject>)
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(), { dispatch_group_notify(postingGroup, dispatch_get_main_queue(), {
newListingRef.setValue(self.newInProgressListing) newListingRef.setValue(self.newInProgressListing)
// self.alert.title = "Listing saved with error" // 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" // self.alert.message = "Your listing has been saved but something went wrong when trying to publish to facebook"
@ -454,29 +626,28 @@ extension ListingPreviewViewController {
self.presentViewController(alert, animated: true, completion: nil) self.presentViewController(alert, animated: true, completion: nil)
}) })
// 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)}))
}) })
})
}) })
})
} }
} }
@IBAction func editListing(sender: AnyObject) { @IBAction func editListing(sender: AnyObject) {
self.performSegueWithIdentifier("EditListingSegue", sender: self) self.performSegueWithIdentifier("EditListingSegue", sender: self)
} }
} }
extension ListingPreviewViewController: UICollectionViewDelegate { extension ListingPreviewViewController: UICollectionViewDelegate {
/* /*

View File

@ -1038,7 +1038,11 @@
<outlet property="containerScrollView" destination="T3U-DI-Ome" id="gad-zv-hsO"/> <outlet property="containerScrollView" destination="T3U-DI-Ome" id="gad-zv-hsO"/>
<outlet property="itemCategory" destination="ije-TG-4S5" id="XGu-Uw-hLl"/> <outlet property="itemCategory" destination="ije-TG-4S5" id="XGu-Uw-hLl"/>
<outlet property="itemDescription" destination="u7b-0N-xli" id="d1N-lw-6sw"/> <outlet property="itemDescription" destination="u7b-0N-xli" id="d1N-lw-6sw"/>
<outlet property="itemPicture" destination="K0z-pp-hzH" id="6Zm-Ig-Rm3"/> <outlet property="itemPictureMain" destination="K0z-pp-hzH" id="cXG-P9-emv"/>
<outlet property="itemPictureSup1" destination="ldz-4W-iID" id="PHY-Nf-9Qv"/>
<outlet property="itemPictureSup2" destination="MRj-nD-Hnj" id="KPH-H3-Z5z"/>
<outlet property="itemPictureSup3" destination="L24-JN-niQ" id="fyJ-HY-klx"/>
<outlet property="itemPictureSup4" destination="LsU-De-laD" id="eBn-7o-WIl"/>
<outlet property="itemPrice" destination="Jh9-KG-0Yt" id="nbh-aq-W0b"/> <outlet property="itemPrice" destination="Jh9-KG-0Yt" id="nbh-aq-W0b"/>
<outlet property="itemQuantity" destination="shU-ew-26O" id="yNg-ov-7q5"/> <outlet property="itemQuantity" destination="shU-ew-26O" id="yNg-ov-7q5"/>
<outlet property="itemTitle" destination="WuZ-2K-lz7" id="EkY-UX-lSj"/> <outlet property="itemTitle" destination="WuZ-2K-lz7" id="EkY-UX-lSj"/>

View File

@ -209,7 +209,7 @@ extension NetworksTableViewController: UITableViewDataSource {
cell = (self.tableView.dequeueReusableCellWithIdentifier("etsy", forIndexPath: indexPath) as! EtsyTableViewCell) cell = (self.tableView.dequeueReusableCellWithIdentifier("etsy", forIndexPath: indexPath) as! EtsyTableViewCell)
break break
default: default:
//loads network cell for ebay //loads network cell for facebook
cell = (self.tableView.dequeueReusableCellWithIdentifier("facebook", forIndexPath: indexPath) as! FBTableViewCell) cell = (self.tableView.dequeueReusableCellWithIdentifier("facebook", forIndexPath: indexPath) as! FBTableViewCell)
break break