FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
WebViewJavascriptBridge/ExampleApp/ExampleAppDelegate.m at master · xzeror/WebViewJavascriptBridge · GitHub
This repository was archived by the owner on Feb 12, 2019. It is now read-only.
xzeror
/
WebViewJavascriptBridge
Public archive
forked from
marcuswestin/WebViewJavascriptBridge
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
WebViewJavascriptBridge
/
ExampleApp
/
ExampleAppDelegate.m
Copy path
More file actions
More file actions
Latest commit
History
History
History
73 lines (56 loc) · 3.07 KB
Breadcrumbs
WebViewJavascriptBridge
/
ExampleApp
/
ExampleAppDelegate.m
Copy path
File metadata and controls
73 lines (56 loc) · 3.07 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#
import
"
ExampleAppDelegate.h
"
@implementation
ExampleAppDelegate
@synthesize
window = _window;
@synthesize
javascriptBridge = _bridge;
- (
BOOL
)
application
:
(UIApplication *)
application
didFinishLaunchingWithOptions
:
(
NSDictionary
*)
launchOptions
{
self.
window
= [[UIWindow
alloc
]
initWithFrame:
[[UIScreen
mainScreen
]
bounds
]];
UIWebView* webView = [[UIWebView
alloc
]
initWithFrame:
self
.window.bounds];
[
self
.window
addSubview:
webView];
[WebViewJavascriptBridge
enableLogging
];
_bridge = [WebViewJavascriptBridge
bridgeForWebView:
webView
handler:
^(
id
data, WVJBResponseCallback responseCallback) {
NSLog
(
@"
ObjC received message from JS:
%@
"
, data);
responseCallback
(
@"
Response for message from ObjC
"
);
}];
[_bridge
registerHandler:
@"
testObjcCallback
"
handler:
^(
id
data, WVJBResponseCallback responseCallback) {
NSLog
(
@"
testObjcCallback called:
%@
"
, data);
responseCallback
(
@"
Response from testObjcCallback
"
);
}];
[_bridge
send:
@"
A string sent from ObjC before Webview has loaded.
"
responseCallback:
^(
id
responseData) {
NSLog
(
@"
objc got response!
%@
"
, responseData);
}];
[_bridge
callHandler:
@"
testJavascriptHandler
"
data:
[
NSDictionary
dictionaryWithObject:
@"
before ready
"
forKey:
@"
foo
"
]];
[
self
renderButtons:
webView];
[
self
loadExamplePage:
webView];
[_bridge
send:
@"
A string sent from ObjC after Webview has loaded.
"
];
[
self
.window
makeKeyAndVisible
];
return
YES
;
}
- (
void
)
renderButtons
:
(UIWebView*)
webView
{
UIButton *messageButton = [UIButton
buttonWithType:
UIButtonTypeRoundedRect];
[messageButton
setTitle:
@"
Send message
"
forState:
UIControlStateNormal];
[messageButton
addTarget:
self
action:
@selector
(
sendMessage:
)
forControlEvents:
UIControlEventTouchUpInside];
[
self
.window
insertSubview:
messageButton
aboveSubview:
webView];
messageButton.
frame
=
CGRectMake
(
20
,
414
,
130
,
45
);
UIButton *callbackButton = [UIButton
buttonWithType:
UIButtonTypeRoundedRect];
[callbackButton
setTitle:
@"
Call handler
"
forState:
UIControlStateNormal];
[callbackButton
addTarget:
self
action:
@selector
(
callHandler:
)
forControlEvents:
UIControlEventTouchUpInside];
[
self
.window
insertSubview:
callbackButton
aboveSubview:
webView];
callbackButton.
frame
=
CGRectMake
(
170
,
414
,
130
,
45
);
}
- (
void
)
sendMessage
:
(
id
)
sender
{
[_bridge
send:
@"
A string sent from ObjC to JS
"
responseCallback:
^(
id
response) {
NSLog
(
@"
sendMessage got response:
%@
"
, response);
}];
}
- (
void
)
callHandler
:
(
id
)
sender
{
NSDictionary
* data = [
NSDictionary
dictionaryWithObject:
@"
Hi there, JS!
"
forKey:
@"
greetingFromObjC
"
];
[_bridge
callHandler:
@"
testJavascriptHandler
"
data:
data
responseCallback:
^(
id
response) {
NSLog
(
@"
testJavascriptHandler responded:
%@
"
, response);
}];
}
- (
void
)
loadExamplePage
:
(UIWebView*)
webView
{
NSString
* htmlPath = [[
NSBundle
mainBundle
]
pathForResource:
@"
ExampleApp
"
ofType:
@"
html
"
];
NSString
* appHtml = [
NSString
stringWithContentsOfFile:
htmlPath
encoding:
NSUTF8StringEncoding
error:
nil
];
[webView
loadHTMLString:
appHtml
baseURL:
nil
];
}
@end
Back
|
FazBrowse Home
|
New Git URL