프로젝트 Podfile 에 다음과 같이 작성합니다.
Copy pod 'IMQACrashAgent', '~> 3.24.1'
pod 'IMQAMPMAgent', '~> 3.24.1'
2. PPHybridViewController 수정
viewWillAppear 코드와 userContentController 함수 부분을 수정합니다.
Copy - (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"PPHybridViewController viewWillAppear");
[_poperaWebview.configuration.userContentController addScriptMessageHandler:self name:@"ImqaBridge"];
}
Copy - (void)userContentController:(nonnull WKUserContentController *)userContentController didReceiveScriptMessage:(nonnull WKScriptMessage *)message {
if([message body]) {
if([message.name isEqual: @"ImqaBridge"]) {
[[IMQAMpm sharedInstance] saveWebviewPostMessage:self :message.body];
}
NSLog(@"[message body] = %@", [message body]);
NSDictionary *dictJson;
if([[message body] isKindOfClass:[NSDictionary class]]) {
dictJson = [message body];
} else {
NSData *jsonData = [[message body] dataUsingEncoding:NSUTF8StringEncoding];
//colors is a NSArray property used as dataSource of TableView
dictJson = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableContainers
error:nil];
}
}
else{
NSLog(@"잘못된 javascript 요청입니다.");
}
}
모피어스는 서버에서 모바일 페이지를 가져오는 방식이 아닌 모바일 내부로 static 파일을 내려놓는 방식입니다. 제공해 드리는 모피어스용 webview agent를 모든 페이지에 head의 최상단에 위치하도록 합니다. 모피어스 구조상 cdn 을 사용하지 마시고 직접 리소스를 삽입하시기 바랍니다.