#Swift の記事リスト
アクセシビリティの設定で「ボタンの形」が有効になっていると予期せぬ表示になってバグり散らかした話。
ボタンの見た目や振る舞いなどをいじる時に ButtonStyle をカスタムしてそれを適用することがあるかと思いますが、その時に if 分を使っていると iOS のバージョン次第では動かなくなるかも?というお話
init(wrappedValue:) をつかって初期化すると意図しない挙動の原因になる可能性があるので呼び出さないほうが良いかもしれない
5月から本格的に始まる Privacy Manifest の仕組みですがそれの Widget Extension の対応をしたので、そこらの話。
Promoting IAPの実装自体は簡単なはずなのに何故か動かないケースがあってそこらの原因と対応の話
URLComponentsでmailtoリンクを生成してメール送信画面を起動させると、宛先のメールアドレスや本文部分の表示がおかしくなっていたという話
ツイートをしようとテキスト入力していたら全然別のアプリのトラッキング許可ダイアログが表示されたので、どうやったらできるのかな?と思ったのでちょっと遊んで…もとい検証してみた話です
IQkeyboardManagerを利用していると、TextFieldのplaceholderを参照して、キーボードのツールバー部分にも表示してくれるという便利機能があるのですが、たまにTextFieldのものとは別のテキストを表示させたいなという時があります。 その場合どうしたらできるのでしょうか?と調べて対応できたという話です
SwiftGenでリソースを利用するためのコードを生成してもらうついでに、それらがちゃんと利用可能なのかどうかっていうテストコードも自動生成してもらおう!という話です。
Publishで記事URLの階層を深くしたい場合は、Contentのフォルダ構造をその通りにして記事を書くだけ。という話です。
XCUITestでアプリを削除する方法。iOS 13からすこしフロー変わったのでそこらが注意するところです。
ざっくりまとめ。 WKWebViewのUserAgentに追記をしたい 編集したいのではく追記したい WKWebViewConfiguration.applicationNameForUserAgentというもので可能 です。
UniversalLinks対応のアプリがある場合はアプリで、ない場合はSafariViewControllerで開きたい universalLinksOnlyオプションを指定して開く 失敗したらSafariViewControllerで開く です。
IQKeyboardManagerを使用していてもキーボード表示時にPrev/Nextボタンが表示されないケースがある。 ネストが深いView構造をしていると発生するっぽい? その場合は、対象のTextFieldの共通の親ViewになるものをIQPreviousNextViewにする です。
SwiftlineをSwiftPM v4系で使いたい 本家は放置されているっぽいので、Forkして対応する SwiftPM v4を使うということを明示 さらにPackage.swiftにlibrary名などを追加で記述設定 です。
UITableViewでstyleをgroupedにする そしてheaderを非表示にするべく heightは.leastNormalMagnitudeを返す viewはnilを返す そうするとスクロールするたびにviewForHeaderInSectionが呼ばれ続ける そしてStoryboardで実装した場合とコードだけで実装した場合で挙動が変わる 最後のは意味がわからない です。
StringInterpolationと聞いてピンときますか? StringInterpolationとは文字列補間という意味らしくて、文字列内で変数の値を展開してくれる例のアレです "text: \(text)"こういう感じのやつです この展開は便利だけれどOptionalの場合ちょっと困ります "text: Optional("nullable")"上記の例でtextがOptionalだとこうなる Swift5からStringInterpolationをカスタマイズできるのでこの問題をサクッと回避できます! です。
UITableView.relodRows()を実行すると予期せぬdidEndDisplaying cellが呼ばれる cellForAtRow -> willDisplay cell -> didEndDisplaying の発生順 Cell自体は表示されているので本来呼ばれるべきではないのでは? 回避策はreloadData()ぐらいしか思い浮かばない 求むよい解決策(笑) です。
AppStoreから落としてきたやつだとUnivesalLinksが動かない Developだと問題なく動いている production.entitlementsが更新されていなかった ちゃんと確認しましょう!
UITabBarController でアイコンだけ表示したい タイトルを空にするだけだと不十分で、位置調整が必要 iPad対応もしようとするとさらにひと手間必要 iPad はタイトルとアイコンが上下じゃなくて左右にならぶ ただし iOS 10 以下は iPhone と同じ上下
KAKUSANというライブラリを作った ユーザがスクリーンショットをとったのを検知するとシェアを促すというもの テキストやURLを任意なものでシェアをできる Notificationでユーザがスクリーンショットをとったということを検知できる 実は(?)Notification.Name を指定しないと全部受信できる
Share Extensionで実装している共有画面を繰り返し開いていると落ちる 詳しく見ていくと、繰り返し表示していると使用中メモリがもりもり増えていく 何かが原因でメモリリークしている? プレビューを排除するとメモリが増えていくことがなくなって落ちなくなった!
ローカル通知が動いていないことに気づく 単に、通知許可とっていないだけだった そもそも error とかでないの?
DeallocationChecker を v2.0.1 から v3.0 をあげた dch_checkDeallocation() は deprecated だと怒られる DeallocationChecker.shared.checkDeallocation() に修正 error とか warning とかはでないけどまだやることがある! DeallocationChecker.shared.setup() が必要
3D Touch Shortcuts 実装した 表示されるメニューの並びがかわる? 対象のアプリアイコンが上半分か下半分どっちにあるかでかわる plist で指定した順に上からという並びではないみたい
アイコンを用意します info.plist を編集します 任意のタイミングで setAlternateIconName(_:completionHandler:) を実行する
Share Extension の `NSExtensionActivationRule` を勘違いしていた NSExtensionActivationSupportsText を false にしたときにサポートしないだけでアプリ自体は表示されると思っていた 仕様上いらないものでも受け入れられるように設定しておくほうが良いかもしれない
WKUserContentController.add()を使うとwebとアプリ側でやりとりができる 注意しないとメモリーリークするぞ add したなら remove もセットで実装しましょう
WKWebsiteDataStore.removeData() でざっくり削除できる ドメイン単位でやるなら、WKWebsiteDataStore.removeData() を利用して削除する さらに詳細に条件を指定したいなら WKHTTPCookieStore.delete() を利用して削除する
ANZSingleImageViewer っていう画像ビューワーつくりました 特定の UIImage を表示する 拡大・縮小表示できる ZoomTransition もできる 開発話 つくった理由 ハマったところ
Mint で作ったCLIアプリが実行できない Executable product not found とかいわれる Mint のバージョンが怪しい...!? Package.swift に products を追記したらイケた!
名刺代わりにCLIアプリ!? 作るしか無い!Swiftで... 作った! Mint でお手軽に実行できます!
スワイプで戻る操作を途中でキャンセルした場合を検知したい...どうしたら notifyWhenInteractionChanges(_:) で検知できる! なぜそのような物が必要になったのかっていう雑談
NSPredicate で正規表現利用すると意外な挙動をする 全角文字をうまく判定してくれない(半角としてあつかっている?) おとなしく NSRegularExpression を使いましょう
SwiftDate v5.0.0 がリリースされている! 4.x 以前のバージョンから上げる場合は注意が必要です DefaultRegion の扱いが変わっています DefaultRegion を明示的に指定しましょう
いまTODOアプリみたいなのつくってて... それのプッシュ通知に画像をつけようとしてちょいハマったのでそこらの話。 UNNotificationAttachment って画像移動させるんだね
Codable というか Decodable の話か。。。 とある json で root 階層を無視してマッピングするには...? という話
Realm をつかってると、今どんなデータがはいってるんだ...ちょっと確認したい。 ってなることが稀にあると思いますが... そんなときのために 簡易的な RealmBrowser をつくってみた
このご時世にこれだけ iOS 8 のこと書いてるのって僕だけじゃない?(笑) ってことで、AVPlayer.currentItem をKVOで監視してるとやばい...!!
TwitterKit をつかってTwitter連携処理をかくとそれ自体は簡単にできるのだけれど、 ただ、アプリを再起動したときに再度連携が必要になってしまって... どうやって保存するの??とかって思ってありゃこりゃしてしまったので、そこら辺の話。 TwitterKit つかって連携するとアプリ再起動時にまた連携が必要なんだが!?
内容はタイトルの通りで、別に回避策もなにもなくただの愚痴です(汗) AVPlayerViewController を使って動画再生させているんだけど謎のAutoLayout制約エラーがでて気になりすぎるんだが...
UICollectionView って各Cellのサイズ調整が簡単にできて結構好きなのですが、 ちょっと「おぉ...こんな挙動するのか」っていうケースがあったのでそのメモ。 UICollectionView...Cell配置のアルゴリズムよくわからん...
タイトルの通り(え?何言ってるかわからない?)なのですけど....。 特に解決策とかはなく(わからない)、ただの愚痴というか報告というか(笑) WKWebView をモーダル表示しているとリンクとか画像とかを長押ししたときに表示されるメニューを閉じるといっしょに画面も閉じられる です。 中身のある話でもないので、先に結論だけ...iOS11のバグらしいです
若干あおりっぽいですが...(笑) 先日こちらのブログ記事をみていて、そういえばそんなプロパティも追加されてたっけ... とふと思い、何か違うのかなぁ?ってちょちょっと検証してたら違ったのだけれど、それより大事なことを知ってしまったので UIRefreshControl導入方法によって違う...ってか、え?これダメなの!?
TwitterKitをつかって実装しているとTWTRTweetTableViewCellとうCellがいて、 これを使うと何もせずともTwitter公式アプリのようなデザインになって便利なのですが... ちょっとスワイプでメニューとかアクションとかさせたいのだけれど...
多分自分アプリ史上もっともちゃんとアップデートしているツイートスクラップですが、 それで「戻るボタンが見えなくて困っている。」という問い合わせを頂いていまして... 調査して対応したので、それの共有を...。 NavigationBarのボタンはiOS11.xで見えてるからってiOS10.xで見えるとは限らない
VaporでDBさわるときのORMとして用意されているのが**Fluent**ですが... そのFluentを通してインデックスを貼ってみると`prepare`が動かなかったのです。 ってことで Fluentでインデックス貼るときの罠
いつものようにToolBarを設定したのだけれど、なぜか英語設定のまま変わらない... という事象にぶちあたったのでそのメモ。 SystemButtonとかの言語設定について