Skip to content

Instantly share code, notes, and snippets.

Avatar
🐱
Meow

Yoshimasa Niwa niw

🐱
Meow
  • San Francisco, CA
  • @niw
View GitHub Profile
View thread.swift
import Foundation
func th() {
print(Thread.current)
}
th()
func a(_ i: Int) async -> Int {
th()
print("sleep \(i)")
@niw
niw / README.en.md
Last active Jun 16, 2021
How to run Windows 10 on ARM or Ubuntu for ARM64 in QEMU on Apple Silicon Mac
View README.en.md

How to run Windows 10 on ARM or Ubuntu for ARM64 in QEMU on Apple Silicon Mac

Here is easy steps to try Windows 10 on ARM or Ubuntu for ARM64 on your Apple Silicon Mac. Enjoy!

NOTE: that this is current, 6/6/2021 state.

Running Windows 10 on ARM

  1. Install Xcode from App Store or install Command Line Tools on your Mac running on Apple Silicon.
@niw
niw / README.md
Last active Apr 2, 2021
macOS Big Sur Icon Template for Affinity Photo
View README.md

macOS Big Sur Icon Template for Affinity Photo

Usage

Open it in Affinity to create new Icon. It has template for each size that developer need to create (not all,) also exporting settings for all sizes.

@niw
niw / swift_corelibs_foundation_windows_build-ja.md
Last active Aug 28, 2020
Swift の swift-corelibs-foundation を Windows で手軽にビルドするためのメモ
View swift_corelibs_foundation_windows_build-ja.md

Swift の swift-corelibs-foundation を Windows で手軽にビルドするためのメモ

ここ に移動しました。

@niw
niw / UITextView_and_accessibility.md
Last active Jun 28, 2020
UITextView accessibility is unique
View UITextView_and_accessibility.md

UITextView and Accessibility

isAccessibilityElement

isAccessibilityElement は Voice Over などが稼働して、UIKit.axbundleが読み込まれて始めて true になる。

  • See also:
    • -[UITextViewAccessibility isAccessibilityElement] (UIKit.axbundle)

isEditable

@niw
niw / README.md
Last active Jun 21, 2020
Text View の内容を変更したりすると Undo でクラッシュしたりする原因はこれ
View README.md

特定のタイミングで setText: すると Undo がおかしくなる、場合によってはクラッシュする問題

  • setText: などの変更は、Text Storage の NSTextStorageDidProcessEditingNotification によって、undoManagergroupingLevel0 の時だけ removeAllActions を呼ぶ。
  • groupingLevel はキーボードから入力があった時は RunLoop が終わらないと 0 にならない。
  • キーボードから入力したときには、coalesceInTextView:affectedRange:replacementRange:replacementText: で、 まず最初に undoManager に Text Storage を target_UITextUndoOperationTypingobject にした Undo が登録される。
  • 次回の入力以降、coalesceInTextView:affectedRange:replacementRange:replacementText: では、 NSUndoManager_shouldCoalesceTypingForText:: (これは::二回で正しい、2つめの引数は名前がない。) を呼んで、 前回の_UITextUndoOperationTyping に変更を追記する方法で入力の Undo を結合するか、新しい Undo を登録するか決めている。 改行の直後などでは新しい Undo が追加される。
@niw
niw / why_RTIDocumentState_crashes_the_app.md
Last active May 25, 2020
Describes why `RTIDocumentState` crashes your app.
View why_RTIDocumentState_crashes_the_app.md

RTIDocumentState and related method calls can crash app. Why?

Short version

A pointer to RTIDocumentState is read and written on multi threads.

Long version

When the application launches, it establishes XPC connection with so called RTIInputSystemService and creates a RTIInputSystemServiceSession.

@niw
niw / TextView.swift
Last active May 23, 2020
`textInputMode` is not working on iOS 13.0 to iOS 13.3.
View TextView.swift
final class TextView: UITextView {
private var preferredTextInputModePrimaryLanguage: String?
/**
Use given primary language for the preferred text input mode when next time text view becomes first responder.
- Parameters:
- primaryLanguage: `String` represents a primary language for the preferred text input mode. Use `"emoji"` to use Emoji keyboard.
*/
func usePreferredTextInputModePrimaryLanguage(_ primaryLanguage: String) {
preferredTextInputModePrimaryLanguage = primaryLanguage
@niw
niw / netlify_cli_knoen_issues.md
Last active May 18, 2020
`netlify-cli` knwon issues
View netlify_cli_knoen_issues.md

netlify-cli known issues

A memo about netlify-cli. Too lazy to file issues or create pull requests for now.

Headers

Looks like it has no ability to read headers in netlify.toml