blahker keynote - ethan huang @ cocoaheads taipei 2017/03/09
TRANSCRIPT
-
https://github.com/ethanhuang13
Blahker - Safari
& iOS
Ethan Huang @ Cocoaheads Taipei 2017/03/09
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
About Me
Ethan Huang
13
@ethanhuang13
https://github.com/ethanhuang13mailto:[email protected]:[email protected]
-
https://github.com/ethanhuang13
About Me
iOS 3+ yr
94%
...
CATCHPLAY iOS App
87%
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
About Me
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
Project: Blahker Safari content blocker for interstitial ads
iOS app with Safari content blocker extension
macOS Safari extension
Blah blah blah + blocker
Open Source!https://github.com/ethanhuang13/blahker
Written in Swift 3
https://github.com/ethanhuang13https://github.com/ethanhuang13/blahker
-
https://github.com/ethanhuang13
Why?
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
Why?
vs
Peacehttps://marco.org/2015/09/18/just-doesnt-feel-good
https://github.com/ethanhuang13https://marco.org/2015/09/18/just-doesnt-feel-goodhttps://marco.org/2015/09/18/just-doesnt-feel-good
-
https://github.com/ethanhuang13
Ad blocker VPN
runtime filtering
Safari / WebKit New API since WWDC 2015
Safari Content Blocker
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
Safari Content Blocker Support iOS 9.0+
Support macOS 10.10+ with Safari 9.0
Doc: https://developer.apple.com/library/content/documentation/Extensions/Conceptual/ContentBlockingRules/Introduction/Introduction.html
README.md
https://github.com/ethanhuang13https://developer.apple.com/library/content/documentation/Extensions/Conceptual/ContentBlockingRules/Introduction/Introduction.htmlhttps://developer.apple.com/library/content/documentation/Extensions/Conceptual/ContentBlockingRules/Introduction/Introduction.htmlhttps://developer.apple.com/library/content/documentation/Extensions/Conceptual/ContentBlockingRules/Introduction/Introduction.htmlhttps://developer.apple.com/library/content/documentation/Extensions/Conceptual/ContentBlockingRules/Introduction/Introduction.htmlhttps://github.com/ethanhuang13/blahker/blob/master/README.md
-
https://github.com/ethanhuang13
1. Extension called by WebKit
2. Generate / fetch block rules in JSON
3. Return the JSON string
4. Done
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
Fast
Secure & no privacy issue
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
Trigger
url-filter
if-domain
Action
type: block (file)
type: css-display-none + selector: .classname
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
iOS
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
Extension:NSExtensionRequestHandling
Info.plist
NSExtension
NSExtensionPointIdentifier: com.apple.Safari.content-blocker
NSExtensionPrincipalClass:$(PRODUCT_MODULE_NAME).ContentBlockerRequestHandler
extension target
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
Extension: NSExtensionRequestHandling
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
Extension
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
App:SFContentBlockerManager
>
>iOS 10+ only
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
iOS 10+ only
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
Safariapp
background fetch
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
macOS
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
Safari Extension Builder
-
https://github.com/ethanhuang13
Global.html
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
app
appApp vs Extension
appbackground fetch
app
Extensions, including Widget
Actionable Notifications
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
11iOS App15
80%
Alexa Taiwan Top 100
macOS Safari extension gallery
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
PTT https://www.ptt.cc/bbs/iPhone/M.1481195200.A.78F.html
PTT https://www.ptt.cc/bbs/iPhone/M.1481439100.A.68B.html
Facebook https://www.facebook.com/blahker
https://github.com/ethanhuang13https://www.ptt.cc/bbs/iPhone/M.1481195200.A.78F.htmlhttps://www.ptt.cc/bbs/iPhone/M.1481195200.A.78F.htmlhttps://www.ptt.cc/bbs/iPhone/M.1481195200.A.78F.htmlhttps://www.ptt.cc/bbs/iPhone/M.1481439100.A.68B.htmlhttps://www.ptt.cc/bbs/iPhone/M.1481439100.A.68B.htmlhttps://www.facebook.com/blahkerhttps://www.facebook.com/blahker
-
https://github.com/ethanhuang13
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
https://free.com.tw/blahker-ios-app/
https://www.kocpc.com.tw/archives/122839
http://3c.ltn.com.tw/m/news/27742
https://github.com/ethanhuang13https://free.com.tw/blahker-ios-app/https://free.com.tw/blahker-ios-app/https://www.kocpc.com.tw/archives/122839https://www.kocpc.com.tw/archives/122839http://3c.ltn.com.tw/m/news/27742
-
https://github.com/ethanhuang13
1.0.0
issues
E-mail
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
Growth hacking
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
...
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
Apple
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
One More Thing13
https://github.com/ethanhuang13
-
https://github.com/ethanhuang13
app
iTunes Affiliate Program http://www.apple.com/tw/itunes/affiliates/
Totally free, any one can join
Provide link with your affiliate token
After user click your link, get 7% of any purchase within 24hr on the device
https://github.com/ethanhuang13http://www.apple.com/tw/itunes/affiliates/
-
https://github.com/ethanhuang13
app
https://itunes.apple.com/tw/app/blahker-ba-la-ke-gai-ban-guang/id1182699267?mt=8&at=1l3vpBq&pt=99170802&ct=readme
See your performance in https://itunes.phgconsole.performancehorizon.com
Put your link everywhere!
https://github.com/ethanhuang13https://itunes.phgconsole.performancehorizon.comhttps://itunes.phgconsole.performancehorizon.com
-
https://github.com/ethanhuang13
Want to talk about your iOS app?
Want to work with me @CATCHPLAY?
Contact me:
facebook.com/blesserx
@ethanhuang13
https://github.com/ethanhuang13http://facebook.com/blesserxhttp://twitter.com/ethanhuang13mailto:[email protected]:[email protected]