Skip to content

Instantly share code, notes, and snippets.

View ethanhuang13's full-sized avatar

Ethan Huang ethanhuang13

View GitHub Profile
@ethanhuang13
ethanhuang13 / mac-install.sh
Last active February 7, 2020 05:22
Install Mac apps and tools
## chmod +x this.file
#!/bin/bash
# install xcode command tool
xcode-select --install
# check
xcode-select -p
# install xcode from xcode-install

Keybase proof

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:

@ethanhuang13
ethanhuang13 / dear$FirstName.md
Created August 8, 2019 09:18
Important Updates to CNCopyCurrentnetworkInfo API in iOS 13

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:

@ethanhuang13
ethanhuang13 / TrackerTests.swift
Created August 5, 2019 08:42
Tracker API Poll
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:
@ethanhuang13
ethanhuang13 / .swiftlint.yml
Last active April 18, 2019 10:07
.swiftlint.yml
# 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
@ethanhuang13
ethanhuang13 / AppStoreReviewGuidelines.md
Last active June 29, 2018 06:26
App Store Review Guidelines

App Store Review Guidelines

1. Safety

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.

  • 1.1 Objectionable Content Apps should not include content that is offensive, insensitive, upsetting, intended to disgust, or in exceptionally poor taste. Examples of such content include:
    • 1.1.1 Defamatory, discriminatory, or mean-spirited content, including references or commentary about religion, race, sexual orientation, gender, national/ethnic origin, or other targeted groups, particularly if the app is likely to humiliate, intimidate, or place a targeted individual or group in harm’s way. Professional political satirists and humorists are generally exempt from this requirement
@ethanhuang13
ethanhuang13 / SKErrorThrowsAndCatch.swift
Created April 14, 2018 05:11
Some Error can be catch but not thrown
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()
@ethanhuang13
ethanhuang13 / wwdc-trip-preparations.markdown
Last active April 6, 2018 14:30
WWDC 2018 旅行建議

This mini guide has been moved to here.