FAULT = '-1001' [NSURLErrorDomain] <The request timed out.>

Hi

Since today I am getting this error when trying to use any of the Backendless APIs from the iOS SDK. My internet connection seems to be fine as I am browsing the web and doing other activities.
Please look into this and let me know what might be the issue, on a side note while I really like Backendless platform issues as such make me wonder how will these affect our app when on the app store.

Thanks in advance

Any updates on this please??

I have not been able to do any work due to this problem! I just noticed that the REST Console does work and returns data. Also I tried creating a new App and trying but still no luck.

Hi Mu,

Try to upgrade Backendless SDK from CocoaPods (release 3.0.11) or from ios-SDK github (CommLibiOS & backendless). They were rebuilt with XCode 7.3 & iOS 9.3

Regards,
Slava

Hi , I upgraded Backendless iOS SDK(my xcode is 7.3), but I am taking this error ->

Server reported an error: FAULT = ‘-1001’ [NSURLErrorDomain] <The request timed out.>.

Hi Alican!
I checked latest sdk&samples https://github.com/Backendless/iOS-Samples (I tried UserService sample)
and it works without errors.
Please check if there are no problems with your internet connection on device.
Regards,
Kate.

I have the same problem and there is nothing wrong with with my internet connection.

In fact on android I tested 1000 api requests and all of them were OK but
on the ios simulator(Mac) or my iphone 6(on wi-fi and on LTA) running ios 8.0.2 always about 20% of the request get dropped with the -1001 NSURLErrorDomain
I tested sending request every 200 milliseconds

This is really scary …

Alfredo, are you using the latest version of the library?

Alfredo, what requests do you make (UserService, PersistenceService, etc.)? Could you add here your code?

I downloaded the latest library for iOS and run the test again. Now there is no -1001 error but an exception gets thrown :


2016-04-28 22:14:42.674 engTrain iOS[2673:155680] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSDictionary objectForKey:]: method only defined for abstract class.  Define -[NSMutableDictionary objectForKey:]!'
*** First throw call stack:
(
	0   CoreFoundation                      0x054b8a94 __exceptionPreprocess + 180
	1   libobjc.A.dylib                     0x04a96e02 objc_exception_throw + 50
	2   CoreFoundation                      0x054c2a68 __CFRequireConcreteImplementation + 344
	3   CoreFoundation                      0x054b4662 -[NSDictionary objectForKey:] + 50
	4   Foundation                          0x03ae945e -[NSDictionary(NSKeyValueCoding) valueForKey:] + 214
	5   engTrain iOS                        0x007eaaef -[HttpEngine processAsyncAMFResponse:] + 1378
	6   engTrain iOS                        0x007ec100 __41-[HttpEngine connectionDidFinishLoading:]_block_invoke + 35
	7   libdispatch.dylib                   0x062453ff _dispatch_call_block_and_release + 15
	8   libdispatch.dylib                   0x062689cd _dispatch_client_callout + 14
	9   libdispatch.dylib                   0x0624e018 _dispatch_main_queue_callback_4CF + 910
	10  CoreFoundation                      0x0540a70e __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 14
	11  CoreFoundation                      0x053c8454 __CFRunLoopRun + 2356
	12  CoreFoundation                      0x053c7866 CFRunLoopRunSpecific + 470
	13  CoreFoundation                      0x053c767b CFRunLoopRunInMode + 123
	14  GraphicsServices                    0x05d53664 GSEventRunModal + 192
	15  GraphicsServices                    0x05d534a1 GSEventRun + 104
	16  UIKit                               0x021b5cc1 UIApplicationMain + 160
	17  engTrain iOS                        0x00336ff0 main + 128
	18  libdyld.dylib                       0x06293a21 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
 

Here is the API call. Just send some data and in server side I do some checks and insert in DB.

-(void)setDailyScore:(NSString *)userId score:(int)score languageId:(int)languageId trainingId:(int)trainingId response:(void(^)(id))responseBlock error:(void(^)(Fault *))errorBlock {
 [backendless.customService invoke:SERVICE_NAME serviceVersion:SERVICE_VERSION_NAME method:@"setDailyScore" args:@[userId,@(score),@(languageId),@(trainingId)] response:responseBlock error:errorBlock];
}

After some requests are executed correctly eventually the exception gets thrown.
I’m using Xcode 7.0

#if (CC_TARGET_PLATFORM==CC_PLATFORM_IOS)
            for (int i = 1;i <= 1000;i++) {
                setDailyRanking(StringUtils::format("user_%d",i).c_str(), 2000, 1, 6);
                sleep(0.2);


                ET_LOG("Adding user id = %d", i);
            }
#endif

Hi, with iOS SDK - IDE: Xcode 7.3 and 7.2.1 I have the same problem! (NSDictionary objectForKey:]: method only defined for abstract class. Define -[NSMutableDictionary objectForKey:]!’) Any Help?
Thanks Alessandro

We’ve found the solution - please update Backendless SDK from CocoaPods (3.0.17 release) or from github (CommLibiOS and backendless).

Thumbs up from me!

I did the test twice again and no problem.
Thanks for the quick support !

Hi

Today I started getting the Error: FAULT = ‘-1001’ [NSURLErrorDomain] <The request timed out.> error. So I updated the SDK to the latest version but it still doesn’t work and gives me the same error. Which is quite strange as it was working fine before.
Please look into this as this is the only major error I get from Backendless which completely kills my App!!
Thanks

Does it happen in emulator or the device?

This happens on the Simulator. I have checke my Internet connection and it works fine too.
Thanks

Ok, i just testedon device and it works without a problem!
Is this an issue with the simulator? Or am i doing something wrong here!?
Thanks

I have seen it myself on a simulator, but never on the device. I noticed it happens on the simulator when my network adapter goes to sleep and does not wake up fast enough.

Thats strange, i turned off WiFi and back on again and its working on the device, before that I coudlnt even access the backendless dashboard! I have a feeling that maybe a port gets blocked…
But thanks anyway, at least now I know what the workaround is.