2012-03-14 2 views
6

에서 열리지 않습니다. childbrowser 플러그인을 설치하는 데 어려움을 겪었지만 올바르게 설치되었다고 생각합니다. 그렇지만 아이 브라우저에 보여줄 수없는 것 같습니까? 나는 여기 (http://bit.ly/ifK9lM)와 여기 (http://bit.ly/wOlq6k) 다양한 자습서를 시도했습니다. 빌드 오류나 콘솔 오류는 없지만 링크를 클릭하면 자식 브라우저가 표시되지 않습니다.폰갭 1.5 (코르도바) IOS의 childbrowser 내가 완전한 폰갭 초보자 그렇게 나를 쉽게 이동 해요 모든

"Open Url : http://www.google.com"버튼을 클릭하면 콘솔에 들어갑니다. 마치 노력하고있는 것처럼 보입니다 ...하지만 시각적 인 결과는 얻지 못합니까 ??

나는 cordova.js 파일과 함께 www 폴더의 루트에 ChildBrowser.js 파일을 갖고 있습니다. 나는 모든 하위 브라우저 플러그인 파일을 xcode의 내 플러그인 폴더에 추가했습니다.

내가

사람이 내가 잘못 그 일을하고 무엇을 제안 할 경우, 엑스 코드 3.2.6을 사용하고는 많이 주시면 감사 것입니다.

관련 코드를 모두 게시 할 수는 없습니다. 요청 된 코드를 게시 해주십시오.

<!DOCTYPE html> 
<html> 
<head> 
<title></title> 

<meta name="viewport" content="width=device-width, initial-scale=1.0, 
maximum-scale=1.0, user-scalable=no;" /> 
<meta charset="utf-8"> 
<script type="text/javascript" charset="utf-8" src="cordova-1.5.0.js"></script> 
<script type="text/javascript" charset="utf-8" src="ChildBrowser.js"></script> 

<script type="text/javascript"> 
var childBrowser; 
function onBodyLoad() 
{  
    document.addEventListener("deviceready", onDeviceReady, false); 
} 


function onDeviceReady() 
{ 
    childBrowser = ChildBrowser.install(); 
} 

function openChildBrowser(url) 
{ 
    try { 
     childBrowser.showWebPage(url); 
    } 
    catch (err) 
    { 
     alert(err); 
    } 
} 

</script> 
</head> 
    <body onload="onBodyLoad()"> 
    <h1>Hey, it's Cordova!</h1> 
    <button onclick="openChildBrowser('http://www.google.com');">Open Google</button> 
</body> 
</html> 
+1

당신이 기억나요에 나를 위해 작동 -

또한 엑스 코드 4로 업그레이드해야 할 수 있습니다? – Dofs

답변

6

브래드

난 당신과 같은 문제가 있었다 그것이 아래로 내가 엑스 코드에 파일을 추가하는 방법을 깨달았다. 실제로 파일을 Xcode의 Plugins 폴더로 드래그하십시오 - 단지 폴더 자체에 파일을 배치하지 마십시오.

또한 .xib 파일을 추가했는지 확인하십시오. 여기 지침을 따르는 경우 : http://blog.digitalbackcountry.com/2012/03/installing-the-childbrowser-plugin-for-ios-with-phonegapcordova-1-5/ 그는 .h, .m 및 번들 파일 만 추가한다고 언급하고 있지만 스크린 샷에서 xib 파일도 볼 수 있습니다. 그룹으로 파일을 추가하고 참조하지 엑스 코드 4.2 코르도바 1.5

+1

고마워, 너는 나 한테 무리를 구해 줬어. xib 파일이 자리에 있었어. –

+0

라이언의 링크와 결합 해 주신 고마워, 너의 의견은 매우 도움이되었다. 내 가장 큰 문제는 오래된 Xcode를 사용하고 있었다고 생각합니다. 좋아. 감사합니다. –

+0

Xcode에서 "프로젝트 새로 고침"명령은 어디에 있습니까? 사랑 때문에, 한 시간을 보냈는데, 내 파일이 올바른 위치에서 Xcode가 보지 못했기 때문에 모든 것이 었습니다! 어쨌든, 이것을 지적 해 주셔서 대단히 감사합니다. 지금 큰 작품! – CWSpear

0

이 같은 페이지를 표시하는 함수를 호출 시도 : 여기

#import "AppDelegate.h" 
#import "MainViewController.h" 

#ifdef CORDOVA_FRAMEWORK 
#import <Cordova/CDVPlugin.h> 
#import <Cordova/CDVURLProtocol.h> 
#else 
#import "CDVPlugin.h" 
#import "CDVURLProtocol.h" 
#endif 

#import "ChildBrowserCommand.h" 
#import "ChildBrowserViewController.h" 

@implementation AppDelegate 

@synthesize invokeString, window, viewController; 

//Code excluded for brevity here..... 

#pragma UIWebDelegate implementation 

- (void) webViewDidFinishLoad:(UIWebView*) theWebView 
{ 
// only valid if FooBar.plist specifies a protocol to handle 
if (self.invokeString) 
{ 
    NSString* jsString = [NSString stringWithFormat:@"var invokeString = \"%@\";", self.invokeString]; 
    [theWebView stringByEvaluatingJavaScriptFromString:jsString]; 
} 

// Black base color for background matches the native apps 
theWebView.backgroundColor = [UIColor blackColor]; 

return [self.viewController webViewDidFinishLoad:theWebView]; 
} 

- (void) webViewDidStartLoad:(UIWebView*)theWebView 
{ 
return [self.viewController webViewDidStartLoad:theWebView]; 
} 

- (void) webView:(UIWebView*)theWebView didFailLoadWithError:(NSError*)error 
{ 
return [self.viewController webView:theWebView didFailLoadWithError:error]; 
} 

- (BOOL) webView:(UIWebView*)theWebView shouldStartLoadWithRequest:    (NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    return [self.viewController webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType]; 
} 


- (void) dealloc 
{ 
[super dealloc]; 
} 

@end 

내 index.html을 수 있습니다 : 여기

내 현재 appdelegate.h 파일입니다 .plugins.childBrowser.showWebPage (url);

어떤 키와 값을 Cordova.plist 파일에 넣었습니까? 외부 호스트에 대한 것을 기억 했습니까?

+0

안녕하세요, 답변 해 주셔서 감사합니다. 나는 그 방법을 시도하고 같은 결과를 얻었다. 내 콘솔에서 똑같은 출력 ... 아무 것도 나타나지 않습니다. 내 외부 호스트를 "*"로 설정하여 모든 것을 허용합니다. 지금까지 ChildbrowserEntries 내가 다음이가는대로 : 가 키 : ChildBrowserCommand 는 유형 : 키 ChildBrowserCommand : ChildBrowser 형태 : String (기본값) 값 : 문자열 (기본값) 가치있는 최종 ChildBrowser.js –

+0

있는가 ChildBrowser를위한 Cordova.plist에 적절한 항목이 무엇인지에 대한 대답은 무엇입니까? – Bob

0

나는 Childbrowser가 아직 Cordova (1.5)와 함께 작동한다고 생각하지 않습니다.

phonegap 1.4.1을 사용해야합니다. 은 여기에서 1.4.1에 대한 몇 가지 예를 가지고 : https://github.com/RandyMcMillan/CDVPluginDemos

사람은 코르도바 작업을 한 경우가 여기에 몇 가지 예를 게시하시기 바랍니다 :

3

당신은 AppDelegate에 파일에 아무것도 변경할 필요가 없습니다. 수입, 코드 변경 없음, 아무 것도. OS 특정 파일을 Plugin 디렉토리에 복사하고 Cordova.plist 파일을 수정 한 다음 JS 파일을 www 폴더에 복사하면됩니다. 그리고 너는 설정되어야한다. 나는 라이언 스튜어트가 사용하는 것과 같은 플러그인을 사용하고 http://blog.digitalbackcountry.com/2012/03/installing-the-childbrowser-plugin-for-ios-with-phonegapcordova-1-5/

+0

라이언에게 감사드립니다. 저는 그가 제공 한 추가 정보로 인해 supermethod의 답변을 올바른 것으로 받아 들일 것입니다. 당신의 기여에 대해 대단히 감사합니다. –

0

을하고 그것 때문에 체크 아웃에 work.He 좋은 기사를 작성했다 않습니다 -

이 도움이된다면 알려주세요. 플러그인 폴더에있는 readme 파일로 작업 할 수있었습니다. 약간의 수정이 필요합니다.

또한 Xcode 버전을 업그레이드해야 할 수도 있습니다. 나에게 그것은 4.2에서 작동했고 지금은 4.3.1에있다.하지만 이전 버전을 사용 중이라면 도약을해야 할 수도 있습니다.

Cordova 자체를 설치할 때 'Cordova upgrade'문서를 반드시 읽었는지 확인하십시오. 이것이 플러그인 자체가 아니라 플러그인 설치에 문제가 있었기 때문에 모든 것을주의 깊게 읽으십시오.

행운을 빈다.