I hereby claim:
- I am ethanhuang13 on github.
- I am ethanhuang13 (https://keybase.io/ethanhuang13) on keybase.
- I have a public key ASDAEzUKl1dvIut56bNB61xAdNlHIdUIFYlJ2bJ3k8SlAAo
To claim this, I am signing this object:
## chmod +x this.file | |
#!/bin/bash | |
# install xcode command tool | |
xcode-select --install | |
# check | |
xcode-select -p | |
# install xcode from xcode-install |
I hereby claim:
To claim this, I am signing this object:
Dear $firstName,
As we announced at WWDC19, we're making changes to further protect user privacy and prevent unauthorized location tracking. Starting with iOS 13, the CNCopyCurrentNetworkInfo API will no longer return valid Wi-Fi SSID and BSSID information. Instead, the information returned by default will be:
SSID: “Wi-Fi” or “WLAN” (“WLAN" will be returned for the China SKU) BSSID: "00:00:00:00:00:00"
If your app is using this API, we encourage you to adopt alternative approaches that don’t require Wi-Fi or network information. Valid SSID and BSSID information from CNCopyCurrentNetworkInfo will still be provided to VPN apps, apps that have used NEHotspotConfiguration to configure the current Wi-Fi network, and apps that have obtained permission to access user location through Location Services.
Test your app on the latest iOS 13 beta to make sure it works properly. If your app requires valid Wi-Fi SSID and BSSID information to function, you can do the following:
let tracker = Tracker() | |
// Which one do you prefer? Consider labels, indendentation, readability... | |
// 1 func trackEvent(_ event: Event, _ parameters: EventParameter...) | |
tracker.trackEvent(.viewItem, | |
.itemId("12345"), | |
.itemName("An Item"), | |
.list("List name")) | |
// 2. func track(event: Event, parameters: EventParameter...) | |
tracker.track(event: .viewItem, parameters: |
# Updated for SwiftLint 0.29.2 | |
# See all rules: https://github.com/realm/SwiftLint/blob/master/Rules.md | |
opt_in_rules: | |
# Opt-in (Default Disabled) | |
- anyobject_protocol | |
- array_init | |
- attributes | |
- closure_body_length | |
- closure_spacing |
When people install an app from the App Store, they want to feel confident that it’s safe to do so—that the app doesn’t contain upsetting or offensive content, won’t damage their device, and isn’t likely to cause physical harm from its use. We’ve outlined the major pitfalls below, but if you’re looking to shock and offend people, the App Store isn’t the right place for your app.
import StoreKit | |
//extension SKError: Error { } // Uncomment this line to make it throwable | |
func throwError() throws { | |
throw SKError.unknown // Can not be thrown. Thrown error code type 'SKError.Code' does not conform to 'Error' | |
} | |
do { | |
try throwError() |
This mini guide has been moved to here.