Skip to content

Instantly share code, notes, and snippets.

Keybase proof

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:

@hashaam
hashaam / strip-html-tags-in-swift.swift
Last active May 13, 2022 06:18
Strip HTML tags in Swift
// https://hashaam.com/2017/06/11/strip-html-tags-in-swift/
let htmlString = "LCD Soundsystem was the musical project of producer <a href='http://www.last.fm/music/James+Murphy' class='bbcode_artist'>James Murphy</a>, co-founder of <a href='http://www.last.fm/tag/dance-punk' class='bbcode_tag' rel='tag'>dance-punk</a> label <a href='http://www.last.fm/label/DFA' class='bbcode_label'>DFA</a> Records. Formed in 2001 in New York City, New York, United States, the music of LCD Soundsystem can also be described as a mix of <a href='http://www.last.fm/tag/alternative%20dance' class='bbcode_tag' rel='tag'>alternative dance</a> and <a href='http://www.last.fm/tag/post%20punk' class='bbcode_tag' rel='tag'>post punk</a>, along with elements of <a href='http://www.last.fm/tag/disco' class='bbcode_tag' rel='tag'>disco</a> and other styles. <br />"
let htmlStringData = htmlString.data(using: String.Encoding.utf8)!
let options: [String: Any] = [
NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
NSCharacte
@hashaam
hashaam / configure-audio-session-for-background-audio-mode.swift
Last active June 14, 2017 20:52
Configure Audio Session for background audio mode (iOS Project)
// 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?
@hashaam
hashaam / display-now-playing-information-in-command-center.swift
Created June 14, 2017 21:11
Display now playing information in Command Center
// 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()
@hashaam
hashaam / handle-remote-control-commands.swift
Last active August 31, 2017 11:28
Handle Remote Control Commands
// https://hashaam.com/2017/07/19/handle-remote-control-commands/
import UIKit
import MediaPlayer
class ViewController: UIViewController {
var player: AVPlayer?
func setupRemoteCommandCenter(enable: Bool) {
@hashaam
hashaam / custom-sorting-an-array-in-swift.swift
Last active August 31, 2017 11:27
Custom Sorting an Array in Swift
// 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)
@hashaam
hashaam / get-device-token-for-remote-push-notifications-in-swift.swift
Last active October 30, 2021 13:55
Get device token for remote push notifications in Swift
// https://hashaam.com/2017/07/22/get-device-token-for-remote-push-notifications-in-swift-3/
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let tokenParts = deviceToken.map { data -> String in
return String(format: "%02.2hhx", data)
}
let token = tokenParts.joined()
@hashaam
hashaam / uiwindow-presentation-context.swift
Last active August 31, 2017 11:26
UIWindow Presentation Context - Get top most presented UIViewController of UIWindow
// 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
}
@hashaam
hashaam / using-uiwindow-presentation-context.swift
Last active August 31, 2017 11:24
Using UIWindow Presentation Context
// 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
}
@hashaam
hashaam / get-filename-without-extension.swift
Last active March 22, 2019 10:11
Get filename without extension
// https://hashaam.com/2017/09/02/get-filename-without-extension
let path = "hls_a128_v4.m3u8"
let url = URL(string: path)
let filename = url?.deletingPathExtension().lastPathComponent
print(filename) // hls_a128_v4
let fileExtension = url?.pathExtension