Skip to content

Instantly share code, notes, and snippets.

View npu3pak's full-sized avatar
🏠
Working from home

Evgeniy Safronov npu3pak

🏠
Working from home
View GitHub Profile
@npu3pak
npu3pak / gist:ef924d10ba770d12296fee8089f5b63b
Last active May 29, 2022 15:21
Compiling dhewm3 for MacOS.
Pre-requirements:
* cmake
* zlib
* libjpeg
* libogg
* libvorbis
* openal-soft
* sdl2
Installation:
@npu3pak
npu3pak / isolate_environment.dart
Created June 23, 2020 08:41
2-way communication for isolations in Dart.
import 'dart:async';
import 'dart:isolate';
typedef IsolateEnvironmentEntryPoint(SendPort sendPort, ReceivePort receivePort);
class IsolateEnvironment {
Isolate isolate;
ReceivePort receivePort;
SendPort sendPort;
@npu3pak
npu3pak / fix_twitter_warnings.sh
Last active August 20, 2023 16:39
This script fixes all TwitterKit related warnings in XCode 10.1. Add new run script build phase with this code:
readonly MODULEMAP="${PODS_ROOT}/TwitterCore/iOS/TwitterCore.framework/Modules/module.private.modulemap"
readonly HEADER="${PODS_ROOT}/TwitterCore/iOS/TwitterCore.framework/Headers/TwitterCore.h"
if ! grep -q "TwitterCore_Private" "${MODULEMAP}"; then
cat >"${MODULEMAP}" <<EOL
module TwitterCore_Private {
}
EOL
fi
@npu3pak
npu3pak / gist:77587c4d52bd3f4a145441f487e5912b
Last active November 12, 2018 11:58
Script creates 4Gb RAM disk and uses it for DerivedData
#!/bin/bash
readonly disk_path="$(hdid -nomount ram://7800000)"
readonly disk_number="$(echo $disk_path | sed 's|/dev/disk||g')"
echo $disk_number
newfs_hfs -v "DerivedData" "/dev/rdisk$disk_number"
diskutil mount -mountPoint ~/Library/Developer/Xcode/DerivedData "/dev/disk$disk_number"
@npu3pak
npu3pak / RoundCornerViewWithBorder.swift
Created October 13, 2018 05:51
Round cornered view with border
import UIKit
extension UIView {
func configureBorder(_ roundCorners:UIRectCorner, cornerRadius: CGFloat, borderColor: UIColor, borderWidth: CGFloat) {
let path = UIBezierPath(roundedRect: bounds,
byRoundingCorners: roundCorners,
cornerRadii: CGSize(width: cornerRadius, height: cornerRadius))
let mask = CAShapeLayer()
mask.path = path.cgPath
mask.borderColor = UIColor.white.cgColor
@npu3pak
npu3pak / xcode_unit_tests.sh
Created October 13, 2017 05:36
Запуск модульных тестов XCTest из консоли
# Скрипт для автоматического юнит-тестирования iOS-проектов
# ТРЕБОВАНИЯ:
# Требуется наличие гема xcpretty (https://github.com/supermarin/xcpretty)
# Установка: sudo gem install xcpretty
# РЕЗУЛЬТАТ:
# В результате выполнения формируется каталог, имя которого содержит дату и время запуска скрипта REPORT_PATH, который содержит
# - zip-архив с результатами выполнения скрипта в родном формате XCode
# - log-файл, содержащий полный консольный вывод сборки выполнения тестов
import UIKit
class PlaceholderTextView: UITextView {
@IBInspectable var placeholderColor: UIColor = UIColor.lightGray
@IBInspectable var placeholderText: String = ""
override var font: UIFont? {
didSet {
setNeedsDisplay()
import UIKit
class TintedImageButton: UIButton {
let normalColor = UIColor.turquoise
let pressedColor = UIColor.lightSeaGreen
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setImage(self.imageView!.image?.tintedImage(normalColor), for: UIControlState())
setImage(self.imageView!.image?.tintedImage(pressedColor), for: .highlighted)
@npu3pak
npu3pak / WKWebViewStringContent.swift
Last active May 25, 2017 18:10
Извлекаем коненте из отображаемой страницы WKWebView
func htmlAsString()-> String? {
var result: String?
webView.evaluateJavaScript("document.documentElement.outerHTML.toString()") { (html: Any?, error: Error?) in
result = html as? String
}
return result
}
@npu3pak
npu3pak / SuperviewMagic.swift
Created March 17, 2017 15:31
Proof of concept. Индикатор загрузки для любого View
//: Playground - noun: a place where people can play
import UIKit
extension UIView {
class Indicator: UIView {
}