最近の記録
iOS開発環境作成のためのRuby設定
概要新しいMacにiOS開発環境を作成するのにRubyの準備をするの好きではないが、iOS開発で多くのプロジェクトがCocoaPodsやfastlaneなどの利用のためRubyを必要とする。それも同じバージョンで、
MobSの紹介
MobSとはMobSはMobX, RxSwift, Combineからインスピレーションを受け、__SIMPLE & SAFE__を目指したSwift製リアクティブライブラリです。
MobS 소개
MobS란?MobS는 MobX, RxSwift, Combine로부터 인스피레이션을 얻은、__SIMPLE & SAFE__을 목표로 하는 Swift 리엑티브 라이프러리 입니다.
AssociatedObjectOwnerでobjc_g(s)etAssociatedObjectを利用
AssociatedObjectOwnerの利用123456789101112131415161718class TestClass {}extension TestClass: AssociatedObjectOwner { private static var test1Key = 0 var test1: TestClass { get { getAssociatedObject(key: &TestClass.test1Key, initialObject: TestClass()) } set { setAssociatedObject(key: &TestClass.test1Key, object: newValue) } } private static var test2Key = 0 var test2: String { get { getAssociatedObject(key: &TestClass.test2Key, initialObject: "" ) } set { setAssociatedObject(key: &TestClass.test2Key, object: newValue) } }}
flutterでiosのtoday-extensionを作って見る
以下の方法はFlutter 1.17以上では動かなくなりました。
Soft-UI(Neumorphism)をSwiftで作って見る
1. Soft-UI(Neumorphism)とはNew skeuomorphismというUI designの新しいトレンドっぽいSoft-UI(Neumorphism)
Sign in with Apple実装
1. アプリのcapabilityでSign in with Apple を選択 Xcodeで選択
iosのAVPlayerでlive動画を最新に維持する方法
AVPlayer のautomaticallyWaitsToMinimizeStallingをNOにしても通信環境などによっては遅延が発生して再生される。そのときは直接seekToTime で最新にする 12double time = MAXFLOAT;[player seekToTime: CMTimeMakeWithSeconds(time, NSEC_PER_SEC)];
UITextViewタップ時にlinkかの確認
UITextViewでのタップがattributedTextでNSLinkAttributeNameを指定したリンク文のタップか確認 1234567891011
UITextViewのDragを無効にする
UITextViewのUITextDragDelegateのメッソド[textDraggableView: textDraggableView: itemsForDrag:dragRequest]で空配列を返すiOS10以下も対応中なら@available(iOS 11.0, *), NS_AVAILABLE_IOS(11.0) も追加 12345678910111213- (void)viewDidLoad{ [super viewDidLoad]; self.textView = [[UITextView alloc] initWithFrame:CGRectZero]; if (@available(iOS 11.0, *)) { self.textView.textDragDelegate = self; }}- (NSArray<UIDragItem *> *)textDraggableView:(UIView<UITextDraggable> *)textDraggableView itemsForDrag:(id<UITextDragRequest>)dragRequest NS_AVAILABLE_IOS(11.0){ return @[];}