Sfoglia il codice sorgente

ERP Mobile 引入 NerworkUtils, 并做相应修改

Ray Zhang 8 anni fa
parent
commit
7519715b35

BIN
Ants Contract/AntsContract.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate


BIN
RA Image/RA Image.xcodeproj/project.xcworkspace/xcuserdata/ray.xcuserdatad/UserInterfaceState.xcuserstate


+ 48 - 0
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/Ray.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -531,5 +531,53 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/data_provider/iSalesNetwork.h"
+            timestampString = "529224471.605711"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "28"
+            endingLineNumber = "28"
+            landmarkName = "unknown"
+            landmarkType = "0">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/data_provider/iSalesNetwork.h"
+            timestampString = "529224471.658426"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "26"
+            endingLineNumber = "26"
+            landmarkName = "unknown"
+            landmarkType = "0">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/data_provider/iSalesNetwork.h"
+            timestampString = "529224472.661542"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "25"
+            endingLineNumber = "25"
+            landmarkName = "unknown"
+            landmarkType = "0">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 3 - 2
RedAnt ERP Mobile/common/data_provider/iSalesNetwork.h

@@ -13,6 +13,7 @@
 #import "Reachability.h"
 #import "iSalesDB.h"
 #import "RAUtils.h"
+#import "NetworkUtils.h"
 
 extern NSString *const kScreenName;
 extern NSString *const kAction;
@@ -49,7 +50,7 @@ extern NSString *const ScreenCodeSetCatetoryPrice;
 extern NSString *const ScreenCodeUploadImage;
 extern NSString *const ScreenCodeOfflineSync;
 
-@interface iSalesNetwork : NSObject
+@interface iSalesNetwork : NetworkUtils
 +(void) LoadImage:(NSString*) url into:(UIImageView*) container;
 +(NSDictionary*) portfolio_remove:(NSString* ) item_ids;
 +(NSDictionary*)request_Portfolio:(int)sort;
@@ -57,7 +58,7 @@ extern NSString *const ScreenCodeOfflineSync;
 +(NSDictionary*) delete_portfoliolist:(NSString* ) listid;
 
 +(NSDictionary*) add_toPortfolio:(NSString* ) item_id withScreen:(NSString *)screenName;
-+(NSData*)get_json : (NSString*) url parameters:(NSMutableDictionary *) params;
+//+(NSData*)get_json : (NSString*) url parameters:(NSMutableDictionary *) params;
 +(int)Authorize : (NSString*) user password:(NSString*) password ;
 +(NSDictionary*)logout;
 +(NSDictionary*)request_Cagegory;

+ 138 - 0
RedAnt ERP Mobile/common/data_provider/iSalesNetwork.m

@@ -53,7 +53,142 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
 @implementation iSalesNetwork
 
 
++(NSMutableDictionary*) prepare_addtional_params:(NSMutableDictionary* ) params
+{
+    AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
+//    if(appDelegate.user!=nil)
+//        [params setValue:[AESCrypt AES128Encrypt:appDelegate.user key:@"usai"] forKey:@"user"];
+//    if(appDelegate.password!=nil)
+//        [params setValue:[AESCrypt AES128Encrypt:appDelegate.password key:@"usai"] forKey:@"password"];
+//
+//
+//
+    
+//    if(appDelegate.user!=nil)
+//        [params setValue:appDelegate.user forKey:@"user"];
+//
+//    if(appDelegate.contact_id!=nil)
+//        [params setValue:appDelegate.contact_id forKey:@"contactId"];
+//    if(appDelegate.password!=nil)
+//        [params setValue:appDelegate.password forKey:@"password"];
+//
+//    [params setValue:appDelegate.build forKey:@"app_ver"];
+//
+//    NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary];
+//    NSString* short_version =[infoDict objectForKey:@"CFBundleShortVersionString"];
+//    [params setValue:short_version forKey:@"app_short_ver"];
+//
+//
+//
+//#if TARGET_IPHONE_SIMULATOR//模拟器
+//    [params setValue:@"simulator_uuid" forKey:@"deviceid"];
+//#elif TARGET_OS_IPHONE//真机
+//    UIDevice * dev = [UIDevice currentDevice];
+//    NSUUID* uuid =dev.identifierForVendor;
+//    [params setValue:uuid.UUIDString forKey:@"deviceid"];
+//#endif
 
+    
+    
+    if(appDelegate.user!=nil)
+        [params setValue:appDelegate.user forKey:@"user"];
+    if(appDelegate.password!=nil)
+        [params setValue:appDelegate.password forKey:@"password"];
+    
+    
+    if(appDelegate.ipad_perm!=nil)
+        [params setValue:appDelegate.ipad_perm forKey:@"ipad_perm"];
+    
+    [params setValue:appDelegate.build forKey:@"app_ver"];
+    
+    NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary];
+    NSString* short_version =[infoDict objectForKey:@"CFBundleShortVersionString"];
+    [params setValue:short_version forKey:@"app_short_ver"];
+    
+    UIDevice * dev = [UIDevice currentDevice];
+    NSUUID* uuid =dev.identifierForVendor;
+#if TARGET_IPHONE_SIMULATOR//模拟器
+    [params setValue:@"simulator_uuid" forKey:@"idfv"];
+#elif TARGET_OS_IPHONE//真机
+    [params setValue:uuid.UUIDString forKey:@"idfv"];
+#endif
+    
+//
+//    NSString *userAction = [params valueForKey:kAction];
+//    NSMutableDictionary *extra = [[params valueForKey:kExtra] mutableCopy];
+//    if ([userAction isEqualToString:@"Login"]) {
+//        if (!extra) {
+//            extra = [NSMutableDictionary dictionary];
+//        }
+//        [extra setObject:[params objectForKey:@"user"] forKey:@"user"];
+//    }
+    
+    return params;
+}
++(NSData*)get_json : (NSString*) url parameters:(NSMutableDictionary *) params file:(NSString *) file //delegate:(id < NSURLConnectionDelegate >)delegate
+{
+    
+    
+    
+    
+    //    NSString* e=[AESCrypt AES128Encrypt:@"密码学中的高级加密标准(Advanced Encryption Standard,AES),又称 高级加密标准Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。 " key:@"usai2010"];
+    //    DebugLog(e);
+    //    NSString* d=[AESCrypt decrypt:@"VzB4+lENfbzWX7ggHh2Os1P69l5YBzKmM51yqA37AfoKgPY8bJgdK8M4WvF+wDyOsLWP\/o8H5+bHMivQp1u8wM2QV7SYzgzPwV85QKtYWIzEgLe9T0HO69EdutWz7k1rdAT\/mftsRin0Hy5SHk7txTZT\/zPH5X+FQiExCTFm5Zus39HYvp+VxCX4+kYeymn8B63AUd3mRQyscUvDjfgU2olKR\/TP8PV3g+VQMZxpKfol3P1iOtz3XQlHZV0pM6SAf+SwT0sPfrdn6CZFfNQlrKA9QjMrnBdMeSCquSIWXnmLv6okzvnlJnT0SjvJuUeqNdBC5EZ0ACnhI0MrXVZEsq1EuM9al7oPzvU5EZbjZpmx+fSFIkMzTT8bYClTnG1bsL1MCcU4pSODDorUj8zalA==" password:@"usai2010"];
+    params = [self prepare_addtional_params:params];
+    
+    return [super get_json:url parameters:params file:(NSString*)file err_recorder:URL_ERR_LOG result_handler:^NSMutableDictionary *(NSMutableDictionary *jsobj) {
+        int result=[[jsobj valueForKey:@"result"] intValue];
+        //        UIApplication * app = [UIApplication sharedApplication];
+        //        AppDelegate *appDelegate = (AppDelegate *)[app delegate];
+        
+        switch (result) {
+            case 0:
+                [jsobj setValue:MSG_USERAUTH_ERROR forKey:@"err_msg"];
+                break;
+            case 1:
+                [jsobj setValue:MSG_ERROR forKey:@"err_msg"];
+                break;
+            case 2:
+                [jsobj setValue:MSG_SUCCESS forKey:@"err_msg"];
+                break;
+            case 8:
+                [jsobj setValue:[jsobj valueForKey:@"msg"] forKey:@"err_msg"];
+                break;
+            case 9:
+                [jsobj setValue:[jsobj valueForKey:@"msg"] forKey:@"err_msg"];
+                break;
+            case 99:
+                [jsobj setValue:MSG_TIMEOUT forKey:@"err_msg"];
+                break;
+            default:
+                [jsobj setValue:MSG_ERROR forKey:@"err_msg"];
+                break;
+        }
+        
+        
+        //        if([appDelegate.build intValue]< [[jsobj valueForKey:@"min_ver"]intValue])
+        //        {
+        //            [jsobj setValue:@"9" forKey:@"result"];
+        //            [jsobj setValue:MSG_VER_LOW forKey:@"err_msg"];
+        //        }
+        return jsobj;
+    } decrypt_handler:^NSMutableDictionary *(NSMutableDictionary *jsobj) {
+
+        return nil;
+//        NSString* base64str = jsobj[@"str"];
+//        NSString* decryptstr=[AESCrypt AES128Decrypt:base64str key:@"usai2010"];
+//        jsobj=[[RAUtils string2dict:decryptstr] mutableCopy];
+//        return jsobj;
+    }];
+    
+    
+    /*
+     
+     
+     
+     */
+    return nil;
+}
 
 +(void) LoadImage:(NSString*) url into:(UIImageView*) container
 {
@@ -141,6 +276,9 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
 //}
 +(NSData*)get_json : (NSString*) url parameters:(NSMutableDictionary *) params //delegate:(id < NSURLConnectionDelegate >)delegate
 {
+    
+    return [self get_json:url parameters:params file:nil];
+    
     int retry = 0;
     
     AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];

+ 6 - 0
RedAnt ERP Mobile/iSales-HOMER.xcodeproj/project.pbxproj

@@ -271,6 +271,7 @@
 		71DF74981C57614C00F2789C /* PhotoStackViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74941C57614C00F2789C /* PhotoStackViewController.m */; };
 		71E3634A1F46963200CFAF19 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71E363481F46963100CFAF19 /* Main.storyboard */; };
 		71E9F6B61F8B46830052C78E /* NetworkUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 71E9F6B41F8B46820052C78E /* NetworkUtils.m */; };
+		71E9F6C51F8B58740052C78E /* RANetworkTaskDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 71E9F6C31F8B58740052C78E /* RANetworkTaskDelegate.m */; };
 		71FFBBE91C60894900D91DC2 /* iSalesDB.m in Sources */ = {isa = PBXBuildFile; fileRef = 71FFBBE61C60894900D91DC2 /* iSalesDB.m */; };
 		71FFBBEA1C60894900D91DC2 /* iSalesNetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = 71FFBBE81C60894900D91DC2 /* iSalesNetwork.m */; };
 		A31E80CF7BEA220BD1CC4B97 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C694180C757B34E24180D628 /* libPods.a */; };
@@ -761,6 +762,8 @@
 		71E363491F46963200CFAF19 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = "iSales-NPD/Base.lproj/Main.storyboard"; sourceTree = SOURCE_ROOT; };
 		71E9F6B41F8B46820052C78E /* NetworkUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = NetworkUtils.m; path = ../../common/NetworkUtils.m; sourceTree = "<group>"; };
 		71E9F6B51F8B46830052C78E /* NetworkUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NetworkUtils.h; path = ../../common/NetworkUtils.h; sourceTree = "<group>"; };
+		71E9F6C31F8B58740052C78E /* RANetworkTaskDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RANetworkTaskDelegate.m; path = ../../common/upload/RANetworkTaskDelegate.m; sourceTree = "<group>"; };
+		71E9F6C41F8B58740052C78E /* RANetworkTaskDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RANetworkTaskDelegate.h; path = ../../common/upload/RANetworkTaskDelegate.h; sourceTree = "<group>"; };
 		71FFBBE51C60894900D91DC2 /* iSalesDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iSalesDB.h; path = common/data_provider/iSalesDB.h; sourceTree = SOURCE_ROOT; };
 		71FFBBE61C60894900D91DC2 /* iSalesDB.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iSalesDB.m; path = common/data_provider/iSalesDB.m; sourceTree = SOURCE_ROOT; };
 		71FFBBE71C60894900D91DC2 /* iSalesNetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iSalesNetwork.h; path = common/data_provider/iSalesNetwork.h; sourceTree = SOURCE_ROOT; };
@@ -1411,6 +1414,8 @@
 				71FFBBE61C60894900D91DC2 /* iSalesDB.m */,
 				71E9F6B51F8B46830052C78E /* NetworkUtils.h */,
 				71E9F6B41F8B46820052C78E /* NetworkUtils.m */,
+				71E9F6C41F8B58740052C78E /* RANetworkTaskDelegate.h */,
+				71E9F6C31F8B58740052C78E /* RANetworkTaskDelegate.m */,
 				71FFBBE71C60894900D91DC2 /* iSalesNetwork.h */,
 				71FFBBE81C60894900D91DC2 /* iSalesNetwork.m */,
 				71BF06F91D2F3CAC00981938 /* OLDataProvider.h */,
@@ -2049,6 +2054,7 @@
 				7162A5251C58706C00AB630E /* CategoryCellSmall.m in Sources */,
 				712AFEDA1DBA050200254965 /* ImageDrawable.m in Sources */,
 				428980721E24B1E9005F1BD8 /* Singleton.m in Sources */,
+				71E9F6C51F8B58740052C78E /* RANetworkTaskDelegate.m in Sources */,
 				712C40B91C731126000E6831 /* ItemNotesViewController.m in Sources */,
 				7162A5AD1C58735900AB630E /* TearSheetParamViewController.m in Sources */,
 				7141DD611C5747CE00F7DF59 /* NSData+Base64.m in Sources */,

+ 20 - 0
RedAnt ERP Mobile/iSales-NPD.xcodeproj/project.pbxproj

@@ -272,6 +272,8 @@
 		71DF74971C57614C00F2789C /* PhotoStackView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74921C57614C00F2789C /* PhotoStackView.m */; };
 		71DF74981C57614C00F2789C /* PhotoStackViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74941C57614C00F2789C /* PhotoStackViewController.m */; };
 		71E5A0101DC99370005BF655 /* config.plist in Resources */ = {isa = PBXBuildFile; fileRef = 71E5A00F1DC99370005BF655 /* config.plist */; };
+		71E9F6BC1F8B52DD0052C78E /* NetworkUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 71E9F6BA1F8B52DC0052C78E /* NetworkUtils.m */; };
+		71E9F6C21F8B57E40052C78E /* RANetworkTaskDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 71E9F6C01F8B57E30052C78E /* RANetworkTaskDelegate.m */; };
 		71FFBBE91C60894900D91DC2 /* iSalesDB.m in Sources */ = {isa = PBXBuildFile; fileRef = 71FFBBE61C60894900D91DC2 /* iSalesDB.m */; };
 		71FFBBEA1C60894900D91DC2 /* iSalesNetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = 71FFBBE81C60894900D91DC2 /* iSalesNetwork.m */; };
 		A31E80CF7BEA220BD1CC4B97 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C694180C757B34E24180D628 /* libPods.a */; };
@@ -762,6 +764,10 @@
 		71DF74931C57614C00F2789C /* PhotoStackViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhotoStackViewController.h; path = common/photoStack/PhotoStackViewController.h; sourceTree = SOURCE_ROOT; };
 		71DF74941C57614C00F2789C /* PhotoStackViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PhotoStackViewController.m; path = common/photoStack/PhotoStackViewController.m; sourceTree = SOURCE_ROOT; };
 		71E5A00F1DC99370005BF655 /* config.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = config.plist; sourceTree = "<group>"; };
+		71E9F6BA1F8B52DC0052C78E /* NetworkUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = NetworkUtils.m; path = ../../common/NetworkUtils.m; sourceTree = "<group>"; };
+		71E9F6BB1F8B52DC0052C78E /* NetworkUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NetworkUtils.h; path = ../../common/NetworkUtils.h; sourceTree = "<group>"; };
+		71E9F6C01F8B57E30052C78E /* RANetworkTaskDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RANetworkTaskDelegate.m; path = ../../common/upload/RANetworkTaskDelegate.m; sourceTree = "<group>"; };
+		71E9F6C11F8B57E40052C78E /* RANetworkTaskDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RANetworkTaskDelegate.h; path = ../../common/upload/RANetworkTaskDelegate.h; sourceTree = "<group>"; };
 		71FFBBE51C60894900D91DC2 /* iSalesDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iSalesDB.h; path = common/data_provider/iSalesDB.h; sourceTree = SOURCE_ROOT; };
 		71FFBBE61C60894900D91DC2 /* iSalesDB.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iSalesDB.m; path = common/data_provider/iSalesDB.m; sourceTree = SOURCE_ROOT; };
 		71FFBBE71C60894900D91DC2 /* iSalesNetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iSalesNetwork.h; path = common/data_provider/iSalesNetwork.h; sourceTree = SOURCE_ROOT; };
@@ -1394,6 +1400,7 @@
 				712AFEC41DBA044C00254965 /* pdfCreator */,
 				71BBA2171CEAC10200C91DED /* zip */,
 				71B1250B1C55BD4600118904 /* QRCODE */,
+				71E9F6BD1F8B53AB0052C78E /* upload */,
 				71BE066E1BA1607400FA6544 /* AES */,
 				71DF74291C57560600F2789C /* Reachability.h */,
 				71DF742A1C57560600F2789C /* Reachability.m */,
@@ -1412,6 +1419,10 @@
 				42BF67CB1E5179970081F90A /* ERPUtils.m */,
 				71FFBBE51C60894900D91DC2 /* iSalesDB.h */,
 				71FFBBE61C60894900D91DC2 /* iSalesDB.m */,
+				71E9F6BB1F8B52DC0052C78E /* NetworkUtils.h */,
+				71E9F6BA1F8B52DC0052C78E /* NetworkUtils.m */,
+				71E9F6C11F8B57E40052C78E /* RANetworkTaskDelegate.h */,
+				71E9F6C01F8B57E30052C78E /* RANetworkTaskDelegate.m */,
 				71FFBBE71C60894900D91DC2 /* iSalesNetwork.h */,
 				71FFBBE81C60894900D91DC2 /* iSalesNetwork.m */,
 				71BF06F91D2F3CAC00981938 /* OLDataProvider.h */,
@@ -1818,6 +1829,13 @@
 			name = CommonEditor;
 			sourceTree = "<group>";
 		};
+		71E9F6BD1F8B53AB0052C78E /* upload */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			name = upload;
+			sourceTree = "<group>";
+		};
 		71F731FC192F395000F2CF76 /* AutoScrollImage */ = {
 			isa = PBXGroup;
 			children = (
@@ -2052,6 +2070,7 @@
 				7162A5251C58706C00AB630E /* CategoryCellSmall.m in Sources */,
 				712AFEDA1DBA050200254965 /* ImageDrawable.m in Sources */,
 				428980721E24B1E9005F1BD8 /* Singleton.m in Sources */,
+				71E9F6C21F8B57E40052C78E /* RANetworkTaskDelegate.m in Sources */,
 				712C40B91C731126000E6831 /* ItemNotesViewController.m in Sources */,
 				7162A5AD1C58735900AB630E /* TearSheetParamViewController.m in Sources */,
 				7141DD611C5747CE00F7DF59 /* NSData+Base64.m in Sources */,
@@ -2149,6 +2168,7 @@
 				7162A5811C5872EF00AB630E /* HomeTableViewCellBanner.m in Sources */,
 				7162A5E61C58781000AB630E /* iSalesNavigationController.m in Sources */,
 				7141DD631C5747CE00F7DF59 /* NSString+Base64.m in Sources */,
+				71E9F6BC1F8B52DD0052C78E /* NetworkUtils.m in Sources */,
 				7162A5C41C5873BB00AB630E /* ItemSearchViewController.m in Sources */,
 				7162A5481C58719D00AB630E /* RATreeView+TableViewDataSource.m in Sources */,
 				42D3A4A31EFA6D36007A54C1 /* PhotoPreviewCell.m in Sources */,