anz blog

#Swift の記事リスト

2024-03-27 #Swift

5月から本格的に始まる Privacy Manifest の仕組みですがそれの Widget Extension の対応をしたので、そこらの話。

2023-04-28 #Swift

Promoting IAPの実装自体は簡単なはずなのに何故か動かないケースがあってそこらの原因と対応の話

URLComponentsでmailtoリンクを生成してメール送信画面を起動させると、宛先のメールアドレスや本文部分の表示がおかしくなっていたという話

2021-06-03 #Swift #ATT

ツイートをしようとテキスト入力していたら全然別のアプリのトラッキング許可ダイアログが表示されたので、どうやったらできるのかな?と思ったのでちょっと遊んで…もとい検証してみた話です

2021-05-28 #Swift

IQkeyboardManagerを利用していると、TextFieldのplaceholderを参照して、キーボードのツールバー部分にも表示してくれるという便利機能があるのですが、たまにTextFieldのものとは別のテキストを表示させたいなという時があります。 その場合どうしたらできるのでしょうか?と調べて対応できたという話です

2021-04-30 #Swift

SwiftGenでリソースを利用するためのコードを生成してもらうついでに、それらがちゃんと利用可能なのかどうかっていうテストコードも自動生成してもらおう!という話です。

2020-09-19 #Publish #Swift

Publishで記事URLの階層を深くしたい場合は、Contentのフォルダ構造をその通りにして記事を書くだけ。という話です。

2020-03-26 #Xcode #Swift

XCUITestでアプリを削除する方法。iOS 13からすこしフロー変わったのでそこらが注意するところです。

2019-09-02 #Swift

ざっくりまとめ。 WKWebViewのUserAgentに追記をしたい 編集したいのではく追記したい WKWebViewConfiguration.applicationNameForUserAgentというもので可能 です。

2019-06-27 #Swift #UniversalLinks

UniversalLinks対応のアプリがある場合はアプリで、ない場合はSafariViewControllerで開きたい universalLinksOnlyオプションを指定して開く 失敗したらSafariViewControllerで開く です。

2019-05-27 #Swift

IQKeyboardManagerを使用していてもキーボード表示時にPrev/Nextボタンが表示されないケースがある。 ネストが深いView構造をしていると発生するっぽい? その場合は、対象のTextFieldの共通の親ViewになるものをIQPreviousNextViewにする です。

2019-04-27 #Swift #SwiftPM

SwiftlineをSwiftPM v4系で使いたい 本家は放置されているっぽいので、Forkして対応する SwiftPM v4を使うということを明示 さらにPackage.swiftにlibrary名などを追加で記述設定 です。

2019-04-23 #Swift

UITableViewでstyleをgroupedにする そしてheaderを非表示にするべく heightは.leastNormalMagnitudeを返す viewはnilを返す そうするとスクロールするたびにviewForHeaderInSectionが呼ばれ続ける そしてStoryboardで実装した場合とコードだけで実装した場合で挙動が変わる 最後のは意味がわからない です。

2019-04-10 #Swift

StringInterpolationと聞いてピンときますか? StringInterpolationとは文字列補間という意味らしくて、文字列内で変数の値を展開してくれる例のアレです "text: \(text)"こういう感じのやつです この展開は便利だけれどOptionalの場合ちょっと困ります "text: Optional("nullable")"上記の例でtextがOptionalだとこうなる Swift5からStringInterpolationをカスタマイズできるのでこの問題をサクッと回避できます! です。

2019-04-02 #Swift

UITableView.relodRows()を実行すると予期せぬdidEndDisplaying cellが呼ばれる cellForAtRow -> willDisplay cell -> didEndDisplaying の発生順 Cell自体は表示されているので本来呼ばれるべきではないのでは? 回避策はreloadData()ぐらいしか思い浮かばない 求むよい解決策(笑) です。

2019-03-27 #Swift

AppStoreから落としてきたやつだとUnivesalLinksが動かない Developだと問題なく動いている production.entitlementsが更新されていなかった ちゃんと確認しましょう!

2019-03-02 #Swift

UITabBarController でアイコンだけ表示したい タイトルを空にするだけだと不十分で、位置調整が必要 iPad対応もしようとするとさらにひと手間必要 iPad はタイトルとアイコンが上下じゃなくて左右にならぶ ただし iOS 10 以下は iPhone と同じ上下

2019-02-25 #Swift #個人開発

KAKUSANというライブラリを作った ユーザがスクリーンショットをとったのを検知するとシェアを促すというもの テキストやURLを任意なものでシェアをできる Notificationでユーザがスクリーンショットをとったということを検知できる 実は(?)Notification.Name を指定しないと全部受信できる

2019-02-18 #Swift

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

2019-02-10 #Swift

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

2019-01-30 #Swift

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

2019-01-29 #Swift

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

2019-01-17 #Xcode #Swift

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

2018-12-27 #Swift

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

2018-11-27 #Swift

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

2018-11-18 #Swift

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

2018-09-29 #Swift #CocoaPods

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

2018-08-17 #Swift #SwiftPM

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

2018-08-03 #Swift #SwiftPM

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

2018-07-18 #Swift

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

2018-07-11 #Swift

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

2018-07-06 #Swift #SwiftDate

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

2018-06-27 #Swift

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

2018-06-14 #Swift

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

2018-06-05 #Swift #Realm

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

2018-05-28 #Swift

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

2018-04-30 #Swift #TwitterKit

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

2018-04-10 #Swift #AutoLayout

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

2018-04-04 #Swift

UICollectionView って各Cellのサイズ調整が簡単にできて結構好きなのですが、 ちょっと「おぉ...こんな挙動するのか」っていうケースがあったのでそのメモ。 UICollectionView...Cell配置のアルゴリズムよくわからん...

2018-03-14 #Swift

タイトルの通り(え?何言ってるかわからない?)なのですけど....。 特に解決策とかはなく(わからない)、ただの愚痴というか報告というか(笑) WKWebView をモーダル表示しているとリンクとか画像とかを長押ししたときに表示されるメニューを閉じるといっしょに画面も閉じられる です。 中身のある話でもないので、先に結論だけ...iOS11のバグらしいです

2018-03-08 #Swift

若干あおりっぽいですが...(笑) 先日こちらのブログ記事をみていて、そういえばそんなプロパティも追加されてたっけ... とふと思い、何か違うのかなぁ?ってちょちょっと検証してたら違ったのだけれど、それより大事なことを知ってしまったので UIRefreshControl導入方法によって違う...ってか、え?これダメなの!?

2018-02-22 #Swift

TwitterKitをつかって実装しているとTWTRTweetTableViewCellとうCellがいて、 これを使うと何もせずともTwitter公式アプリのようなデザインになって便利なのですが... ちょっとスワイプでメニューとかアクションとかさせたいのだけれど...

2018-02-15 #Swift

多分自分アプリ史上もっともちゃんとアップデートしているツイートスクラップですが、 それで「戻るボタンが見えなくて困っている。」という問い合わせを頂いていまして... 調査して対応したので、それの共有を...。 NavigationBarのボタンはiOS11.xで見えてるからってiOS10.xで見えるとは限らない

2018-02-10 #Vapor #Swift

VaporでDBさわるときのORMとして用意されているのが**Fluent**ですが... そのFluentを通してインデックスを貼ってみると`prepare`が動かなかったのです。 ってことで Fluentでインデックス貼るときの罠

2018-02-05 #Swift #Xcode

いつものようにToolBarを設定したのだけれど、なぜか英語設定のまま変わらない... という事象にぶちあたったのでそのメモ。 SystemButtonとかの言語設定について