I hereby claim:
- I am hashaam on github.
- I am hashaam (https://keybase.io/hashaam) on keybase.
- I have a public key whose fingerprint is 9B13 E340 5453 901A CB45 8408 2B0C BF4B F563 75A7
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
// https://hashaam.com/2017/06/15/configure-audio-session-for-background-audio-mode-ios-project/ | |
import UIKit | |
import AVFoundation | |
@UIApplicationMain | |
class AppDelegate: UIResponder, UIApplicationDelegate { | |
var window: UIWindow? |
// https://hashaam.com/2017/06/15/display-now-playing-information-in-command-center/ | |
import UIKit | |
import MediaPlayer | |
class ViewController: UIViewController { | |
override func viewDidLoad() { | |
super.viewDidLoad() | |
// https://hashaam.com/2017/08/31/uiwindow-presentation-context/ | |
if let delegate = UIApplication.shared.delegate, let window = delegate.window, let viewController = window?.presentationContext() { | |
// perform action on viewController | |
} |
// https://hashaam.com/2017/08/31/uiwindow-presentation-context/ | |
extension UIWindow { | |
func presentationContext(context: UIViewController? = nil) -> UIViewController? { | |
var presentationContextViewController = rootViewController | |
if let context = context { | |
presentationContextViewController = context | |
} |
// https://hashaam.com/2017/07/20/custom-sorting-an-array-in-swift/ | |
struct Business { | |
let businessId: Int | |
let rating: Int | |
} | |
func sortBusinesses(_ businesses: [Business]) -> [Business] { | |
let set = NSOrderedSet(array: businesses) |
// https://hashaam.com/2017/07/19/handle-remote-control-commands/ | |
import UIKit | |
import MediaPlayer | |
class ViewController: UIViewController { | |
var player: AVPlayer? | |
func setupRemoteCommandCenter(enable: Bool) { |
// https://hashaam.com/2017/09/02/get-specific-urlqueryitem-from-urlcomponents | |
if let utmTermValue = queryParam(urlString: "http://www.example.com/?utm_source=adsite&utm_campaign=adcampaign&utm_term=adkeyword", param: "utm_term") { | |
// handle utmTermValue | |
} |
// https://hashaam.com/2017/09/02/get-specific-urlqueryitem-from-urlcomponents | |
func queryParam(urlString: String?, param: String) -> String? { | |
guard let urlString = urlString else { return nil } | |
guard let urlComponents = URLComponents(string: urlString) else { return nil } | |
guard let queryItems = urlComponents.queryItems else { return nil } | |
return queryItems.filter { queryItem in | |
return queryItem.name == param | |
}.first?.value |
// https://hashaam.com/2017/09/02/adjust-scroll-view-content-inset-based-on-keyboard-frame | |
override func viewWillAppear(_ animated: Bool) { | |
NotificationCenter.default.addObserver(self, selector: #selector(adjustForKeyboardHandler(notification:)), name: NSNotification.Name.UIKeyboardWillChangeFrame, object: nil) | |
NotificationCenter.default.addObserver(self, selector: #selector(adjustForKeyboardHandler(notification:)), name: NSNotification.Name.UIKeyboardWillHide, object: nil) | |
} |