Skip to content

Instantly share code, notes, and snippets.

@kingiol
kingiol / ios10-url-open-location-service.swift
Created November 9, 2021 03:54 — forked from devxoul/ios10-url-open-location-service.swift
Open Settings > Privacy > Location Service in iOS 10
// Example Usage
func openLocation() {
guard let workspaceClass = NSClassFromString("LSApplicationWorkspace") else { return }
let workspace: AnyObject = execute(workspaceClass, "defaultWorkspace")
let url = URL(string: "Prefs:root=Privacy&path=LOCATION")!
execute(workspace, "openSensitiveURL:withOptions:", with: url)
}
private func getImplementation(_ owner: AnyObject, _ name: String) -> IMP {
let selector = Selector(name)
git config --global https.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080
git config --global --unset http.proxy
git config --global --unset https.proxy
npm config delete proxy
@kingiol
kingiol / PresentationLink2.swift
Created July 10, 2019 10:25 — forked from vmanot/PresentationLink2.swift
PresentationLink bug workaround for SwiftUI (Xcode b3)
extension UIApplication {
/// The top most view controller
static var topMostViewController: UIViewController? {
return UIApplication.shared.keyWindow?.rootViewController?.visibleViewController
}
}
extension UIViewController {
/// The visible view controller from a given view controller
var visibleViewController: UIViewController? {
let underlineAttriString = NSMutableAttributedString(string: text)
let range1 = (text as NSString).range(of: i18n("AgreementTerms"))
underlineAttriString.addAttribute(NSAttributedString.Key.underlineStyle, value: NSUnderlineStyle.single.rawValue, range: range1)
let range2 = (text as NSString).range(of: i18n("AgreementPrivacy"))
underlineAttriString.addAttribute(NSAttributedString.Key.underlineStyle, value: NSUnderlineStyle.single.rawValue, range: range2)
self.agreeLabel.attributedText = underlineAttriString
@IBAction func tapLabelDetect(_ gesture: UITapGestureRecognizer) {
let text = self.agreeLabel.text ?? ""
let termsRange = (text as NSString).range(of: i18n("AgreementTerms"))
@kingiol
kingiol / memoryAddress.swift
Created April 10, 2019 03:06 — forked from matsuda/memoryAddress.swift
Get memory address in Swift
///
/// https://stackoverflow.com/a/29741007
///
let s = Struct() // Struct
withUnsafePointer(to: s) {
print(String(format: "%p", $0)
}
///
/// http://stackoverflow.com/a/36539213/226791
@kingiol
kingiol / fiindsize.swift
Created March 13, 2019 06:07 — forked from rayfix/fiindsize.swift
Getting the Size of a file or directory in Swift
//
// main.swift
// findsize
//
// Created by Ray Fix on 2/6/16.
// Copyright © 2016 Neko Labs. All rights reserved.
//
import Foundation
@kingiol
kingiol / Mirror+.swift
Created February 11, 2019 06:25
通过反射机制获取符合条件的属性变量
extension Mirror {
/**
* 通过反射机制获取所有符合条件的属性
*
* - parameter target: 查看哪个target中的属性
* - parameter type:
* - parameter recursivelay: 是否进行递归查询
* - parameter closure: 查看出的符合条件的属性的回调函数
*/
@kingiol
kingiol / Task.swift
Created February 11, 2019 06:09
Task - single task, group tasks, sequence tasks
struct Task {
enum Result {
case success
case failure(Error)
}
struct Controller {
fileprivate let queue: DispatchQueue
fileprivate let handler: (Result) -> Void
@kingiol
kingiol / whatsapp-image-compression
Created November 22, 2018 07:56 — forked from akshay1188/whatsapp-image-compression
Whatsapp like image compression
- (UIImage *)compressImage:(UIImage *)image{
float actualHeight = image.size.height;
float actualWidth = image.size.width;
float maxHeight = 600.0;
float maxWidth = 800.0;
float imgRatio = actualWidth/actualHeight;
float maxRatio = maxWidth/maxHeight;
float compressionQuality = 0.5;//50 percent compression
if (actualHeight > maxHeight || actualWidth > maxWidth) {
@kingiol
kingiol / AsynchronousOperation.swift
Created November 18, 2018 08:26 — forked from Sorix/AsynchronousOperation.swift
Subclass of NSOperation to make it asynchronous in Swift 3
//
// AsynchronousOperation.swift
//
// Created by Vasily Ulianov on 09.02.17.
// Copyright © 2017 Vasily Ulianov. All rights reserved.
//
import Foundation
/// Subclass of `Operation` that add support of asynchronous operations.