Location: Home Notes: Productive with 2 pomodoros
11:04 PM - 11:07 PM Plan 11:10 PM - 11:21 PM Mimic 11:21 PM - 12:03 AM Sales 02:19 PM - 03:32 PM Mimic 04:36 PM - 04:47 PM Mimic
| def session_with_basic_auth | |
| return @session_with_basic_auth if @session_with_basic_auth | |
| configuration = NSURLSessionConfiguration.defaultSessionConfiguration.tap do |conf| | |
| any_username_will_do = 'xxx' | |
| userPasswordString = "#{any_username_will_do}: #{api_key}" | |
| userPasswordData = userPasswordString.dataUsingEncoding(NSUTF8StringEncoding) | |
| base64EncodedCredential = userPasswordData.base64EncodedStringWithOptions(0) | |
| authString = "Basic #{base64EncodedCredential}" | |
| #TODO test error handling when authorization is invalid, or when URL is wrong | |
| conf.HTTPAdditionalHeaders = {'Accept'=>'application/json', |
| # coding: utf-8 | |
| class IAPScene < SKScene | |
| include ScreenSizes | |
| attr_accessor :root | |
| def button_size | |
| device_screen_width.fdiv(buttons_per_row + 2) | |
| end |
JavaScriptCore is a built-in iOS library that enables you to use JavaScript in apps alongside Objective-C and Swift. It lets developers read JavaScript from a string, execute it from Objective-C or Swift, and share data structures and functions across languages. We JavaScriptCore to share code between Web and iOS.
Sharing code helped us produce a high-quality, consistent experience across devices while iterating rapidly.
This post is about why we chose to use JavaScriptCore and what we learned. The biggest challenges to using JavaScriptCore in a production app were performance optimization for older devices and getting the build process right. Luckily, these problems have simple solutions that just weren't documented.
A killer feature of one of our apps is search that is optimized for finding guests by name. Our goals included:
| let abi = { | |
| "name" : "balanceOf", | |
| "stateMutability" : "view", | |
| "outputs" : [ | |
| ], | |
| "inputs" : [ | |
| { | |
| "name" : "expiry", | |
| "type" : "uint256" | |
| }, |
| import Foundation | |
| import WebKit | |
| final class WebCacheCleaner { | |
| class func clean() { | |
| HTTPCookieStorage.shared.removeCookies(since: Date.distantPast) | |
| print("[WebCacheCleaner] All cookies deleted") | |
| WKWebsiteDataStore.default().fetchDataRecords(ofTypes: WKWebsiteDataStore.allWebsiteDataTypes()) { records in |
| // The trick is to link the DeviceSupport folder from the beta to the stable version. | |
| // sudo needed if you run the Mac App Store version. Always download the dmg instead... you'll thank me later :) | |
| // Xcode 10.2 to Xcode 11 Beta | |
| sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.0 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport | |
| // Then restart Xcode and reconnect your devices. You will need to do that for every beta of future iOS versions | |
| 1. Check that in `/token/origins/<ethereum contract="holdingContract">` the string `holdingContract` refers to an existing contract defined in `/token/contract` | |
| ref: https://github.com/AlphaWallet/alpha-wallet-ios/issues/1440 |
| * TokenScript repo is up | |
| * Main homepage is up | |
| * Verify sig API is up and working | |
| * Check express of trust API is up and working | |
| * Any other API is up | |
| * Any other important site is up |