PHP를 JSON과 함께 사용하면 PHP와 iOS간에 매우 쉽게 통신 할 수 있습니다. 다음과 같이 서버에서
는, 배열 JSON으로 포맷 할 수 있습니다 :
서버 예에서 iOS 5의로
<?php
$response = cydia_check("eswick", $_GET['package'], $_GET['version'], $_GET['udid'], $_SERVER['REMOTE_ADDR'], "local", $apikey);//Example function, returns an array. (In this case, checks an activation server to verify if the app was really purchased.)
print json_encode($response);//Prints JSON encoding of array to stdout.
?>
를, 트위터 덕분에, 재단에 간단하게 클래스를 포함 JSON 구문 분석.
클라이언트 예제이 당신이 어떻게 작동하는지에 대한 일반적인 아이디어를 줄 것이다
#define PACKAGE "com.eswick.drmtest"
#define VERSION "0.8"
NSString *requestAddress = [NSString stringWithFormat:@"http://www.eswick.com/check.php?package=%@&version=%@&udid=%@", PACKAGE, VERSION, MGCopyAnswer(kMGUniqueDeviceID)];
NSMutableURLRequest *request =[NSMutableURLRequest requestWithURL:[NSURL URLWithString:requestAddress]];
NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *responseCode = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&responseCode error:&error];//Get the output of the PHP page we loaded.
if(!responseData)
return false;
NSError *parseError = nil;
id result = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&parseError];//Parse the JSON output from responseData.
if ([result isKindOfClass:[NSDictionary class]]){//Make sure the output is an array.
NSString *state = [result valueForKey:@"state"];//Check the array returned by PHP for a value named 'state'.
if (!state){//If it doesn't exist, fail.
return false;
}else{
if([state isEqualToString:@"purchased"])//If app is truly purchased, return success.
return true;
}
}
: 여기에 호출하고 위의 PHP 함수를 구문 분석하는 몇 가지 예제 코드입니다. 필요에 맞게 변경해야하지만 매우 기본적인 개념입니다.
분명히, 실제로는이 예 : 코드를 DRM으로 사용하지 마십시오.
사용 JSON XML 대신, IOS 5 애플이 쉽게 – meda
와 함께 작동하도록 만들어진 이후 왜 PHP에서 UR 기존 응용 프로그램을 사용하는 API를 생성하고 모바일 앱에서 API를 조회 해달라고? 이렇게하면 외부에 노출하고자하는 것을 정확하게 제어 할 수 있습니다. – everconfusedGuy