2013-07-31 2 views
2

기존 PHP/MySQL 응용 프로그램을 활용하는 IOS 응용 프로그램을 만드는 데 관심이 있습니다.내 IOS 응용 프로그램을 기존 PHP 응용 프로그램에 연결

현재 내 응용 프로그램은 웹 기반입니다. 나는 PHP에서 이미 구현 한 로직을 재 작성하지 않고도 모바일 버전의 툴을 사용하고자한다. 기본적으로, 내 IOS 애플 리케이션을 얇게 유지하고 내 RPC 코드와 상호 작용하는 RPC의 형태를 사용하고 싶습니다.

XML을 사용하여 쿼리/응답 시스템을 만들어 사용자 지정 작업을 수행하려고 생각했습니다. 그러나, 나는 바퀴를 재생산하는 것이 두렵다. 이 작업을 수행하는 가장 좋은 방법에 대한 제안이 있습니까?

+0

사용 JSON XML 대신, IOS 5 애플이 쉽게 – meda

+0

와 함께 작동하도록 만들어진 이후 왜 PHP에서 UR 기존 응용 프로그램을 사용하는 API를 생성하고 모바일 앱에서 API를 조회 해달라고? 이렇게하면 외부에 노출하고자하는 것을 정확하게 제어 할 수 있습니다. – everconfusedGuy

답변

0

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으로 사용하지 마십시오.

+0

완벽한 - 감사합니다! –

+0

기꺼이 도와 드리겠습니다! 이것이 당신의 문제를 해결했다면, 그것을 답으로 표시하십시오 (그리고 그것을 선호하는 것이 좋습니다 : D). 그것은 응답자의 평판에 도움이됩니다! – eswick

관련 문제