杏z学習帳

Swift、Unityなどを中心に節操なく手を出してますまる

[Swift]Share Extension…もしかしてメモリリークしてるかもっていう話

ざっくりまとめ。 Share Extensionで実装している共有画面を繰り返し開いていると落ちる 詳しく見ていくと、繰り返し表示していると使用中メモリがもりもり増えていく 何かが原因でメモリリークしている? プレビューを排除するとメモリが増えていくことがなくなって落ちなくなった! です。

[Swift]ローカル通知が届かない問題

ざっくりまとめ。 ローカル通知が動いていないことに気づく 単に、通知許可とっていないだけだった そもそも error とかでないの? です。

[Swift]DeallocationCheckerをv3.0にあげたときの注意点

ざっくりまとめ。 DeallocationChecker を v2.0.1 から v3.0 をあげた dch_checkDeallocation() は deprecated だと怒られる DeallocationChecker.shared.checkDeallocation() に修正 error とか warning とかはでないけどまだやることがある! DeallocationChecker.shared.setup() が必要 です。

[Swift]3D Touch Shortcuts のメニューの並びについて

ざっくりまとめ。 3D Touch Shortcuts 実装した 表示されるメニューの並びがかわる? 対象のアプリアイコンが上半分か下半分どっちにあるかでかわる plist で指定した順に上からという並びではないみたい です。

[Swift]アプリアイコンをユーザが選択可能にする方法

ざっくりまとめ。 アイコンを用意します info.plist を編集します 任意のタイミングで setAlternateIconName(_:completionHandler:) を実行する です。

[Swift]NSExtensionActivationRuleを勘違いしていた

ざっくりまとめ。 Share Extension の `NSExtensionActivationRule` を勘違いしていた NSExtensionActivationSupportsText を false にしたときにサポートしないだけでアプリ自体は表示されると思っていた 仕様上いらないものでも受け入れられるように設定しておくほうが良いかもしれない です。

[Swift]WKUserContentController.add(_:name:)を使うときに気をつけること

ざっくりまとめ。 WKUserContentController.add(_:name:) を使うとwebとアプリ側でやりとりができる 注意しないとメモリーリークするぞ add したなら remove もセットで実装しましょう です。

[Swift]Cookieの削除

ざっくりまとめ。 WKWebsiteDataStore.removeData(ofTypes:modifiedSince:completionHandler:) でざっくり削除できる ドメイン単位でやるなら、WKWebsiteDataStore.removeData(ofTypes:for:completionHandler:) を利用して削除する さらに詳細に条件を指定したいなら WKHTTPCookieStore.delete(_:completionHandler:) を利用して削除する です。

[Swift]シンプルなImageViewerをつくった

ざっくりまとめ。 ANZSingleImageViewer っていう画像ビューワーつくりました 特定の UIImage を表示する 拡大・縮小表示できる ZoomTransition もできる 開発話 つくった理由 ハマったところ です。

[Swift]SwiftPMで作ったものがMintで実行できない...

ざっくりまとめ。 Mint で作ったCLIアプリが実行できない Executable product not found とかいわれる Mint のバージョンが怪しい...!? Package.swift に products を追記したらイケた! です。

[Swift]名刺代わりになる(?)CLIアプリ作ってみた

ざっくりまとめ。 名刺代わりにCLIアプリ!? 作るしか無い!Swiftで... 作った! Mint でお手軽に実行できます! です。

[Swift]スワイプで戻る操作のキャンセルを検知したい

ざっくりまとめ。 スワイプで戻る操作を途中でキャンセルした場合を検知したい...どうしたら notifyWhenInteractionChanges(_:) で検知できる! なぜそのような物が必要になったのかっていう雑談 です。

[Swift]NSPredicate で正規表現を利用する場合、全角文字の扱いに気をつけるべし

ざっくりまとめ NSPredicate で正規表現利用すると意外な挙動をする 全角文字をうまく判定してくれない(半角としてあつかっている?) おとなしく NSRegularExpression を使いましょう です。

[Swift]SwiftDate を v5.x に上げるときの注意事項

ざっくりまとめ。 SwiftDate v5.0.0 がリリースされている! 4.x 以前のバージョンから上げる場合は注意が必要です DefaultRegion の扱いが変わっています DefaultRegion を明示的に指定しましょう です。

[Swift]画像つきプッシュ通知でちょいハマった話

いまTODOアプリみたいなのつくってて... それのプッシュ通知に画像をつけようとしてちょいハマったのでそこらの話。 UNNotificationAttachment って画像移動させるんだね です。

[Swift]Codable で root 階層無視したい場合

Codable というか Decodable の話か。。。 とある json で root 階層を無視してマッピングするには...? という話

[Swift]簡易的な RealmBrowser を作ってあそんでみた

Realm をつかってると、今どんなデータがはいってるんだ...ちょっと確認したい。 ってなることが稀にあると思いますが... そんなときのために 簡易的な RealmBrowser をつくってみた っていう話。

[Swift]AVPlayer.currentItemをiOS8で取り扱うときの注意

....。 このご時世にこれだけ iOS 8 のこと書いてるのって僕だけじゃない?(笑) ってことで、 AVPlayer.currentItem をKVOで監視してるとやばい...!! です

[Swift]TwitterKitを使って連携すると期待している通りに動かない

TwitterKit をつかってTwitter連携処理をかくとそれ自体は簡単にできるのだけれど、 ただ、アプリを再起動したときに再度連携が必要になってしまって... どうやって保存するの??とかって思ってありゃこりゃしてしまったので、そこら辺の話。 TwitterKit つかって連携するとアプリ再起動時にまた連携が必要なんだが!? です

[Swift]AVPlayerViewController で謎の AutoLayout 制約エラー

内容はタイトルの通りで、別に回避策もなにもなくただの愚痴です(汗) AVPlayerViewController を使って動画再生させているんだけど謎のAutoLayout制約エラーがでて気になりすぎるんだが... です