करन के जवाब कुछ लेखन-त्रुटियों, और यह भी विफल रहा था सिर्फ "शून्य" के बजाय "0" की प्रतिक्रिया की जांच करने के लिए। (मैंने इसे अपने ऐप में कार्यान्वित किया और मुझे कमजोर कनेक्शन या अनधिकृत नेटवर्क से कई झूठे पॉजिटिव मिले।)
मैंने इसे नीचे अनुकूलित कर लिया है, और उन लोगों के लिए संबंधित सर्वर कोड जोड़ा है जो नहीं जानते कि करण किस बात का जिक्र कर रहे थे सेवा मेरे। यह एक NSDate विस्तार में एक वर्ग पद्धति के रूप में कार्यान्वित किया जाता है, तो आप इसे यहाँ [NSDate verifiedDate];
+(NSDate*)verifiedDate {
if([self hasInternetConnectivity]) {
NSURL *scriptUrl = [NSURL URLWithString:@"http://[yourwebsite].com/timestamp.php"];
NSData *data = [NSData dataWithContentsOfURL: scriptUrl];
if(data != nil) {
NSString *tempString = [NSString stringWithUTF8String:[data bytes]];
if([tempString doubleValue] > 946684800) { // Date is at least later than 2000 AD, or else something went wrong
NSDate *currDate = [NSDate dateWithTimeIntervalSince1970:[tempString doubleValue]];
NSLog(@"verifiedDate: String returned from the site is: %@ and date is: %@", tempString, [currDate description]);
return currDate;
} else {
NSLog(@"verifiedDate: Server returned false timestamp (%@)", tempString);
return [NSDate date];
}
} else {
NSLog(@"verifiedDate: NSData download failed");
return [NSDate date];
}
} else {
NSLog(@"verifiedDate: InternetConnectivity failed");
return [NSDate date];
}
}
का उपयोग कर फोन और कर सकते हैं सर्वर कोड, "timestamp.php"
<?php
echo(time());
?>
यदि आपने एक या अन्य समाधान का उपयोग किया है, तो कृपया पसंदीदा उत्तर का चयन करें ;-) –
क्या आपने यह तथ्य माना है कि उपयोगकर्ता हवाई जहाज मोड चालू कर सकता है और फिर दिनांक और समय बदल सकता है? – Mahouk