pod 'IMQACrashAgent', '~> 3.24.1'
pod 'IMQAMPMAgent', '~> 3.24.1'
2. PPHybridViewControllerの変更
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"PPHybridViewController viewWillAppear");
[_poperaWebview.configuration.userContentController addScriptMessageHandler:self name:@"ImqaBridge"];
}
- (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のリクエストです。");
}
}
Morpheusはサーバーからモバイルページを読み込む方式ではなく、モバイル内部にstaticファイルを置く方式です。ご提供するMorpheus用webview agentをすべてのページにおいてheadの一番上に位置するようにします。Morpheusの構造上、cdnを使用せず、直接リソースを挿入してください。