投稿者:

iOS, Swift

Xcode 12がリリースされてから、Apple Silicon絡みでCarthageのビルドが通らなくなってしまい、途方に暮れたiOSアプリエンジニアは少なくないと思います。
この問題は公式のリポジトリに乗っているワークアラウンド(シェルスクリプト)で一時的に回避することができます。

Bitrise上でXcode 12を使いたい場合でも

ワークフローの「Carthage」ステップを「Script」ステップに置き換える
「Script」ス ...

投稿者:

iOS, Swift

iOS14からNavigationBarの戻るボタンを長押しすると、2階層以上前の画面にも一気に戻る機能が追加されました。戻るボタンを長押しするとNavigation History Stackと呼ばれるポップアップが表示され戻り先のViewが選べるというものです。

この場合に表示されるNavigation History Stackのリストで表示される各文字列はnavigationItem.backButtonTitleから動的に取得しているようですが、昨 ...

投稿者:

iOS, Swift

はじめに

こちらは前回の記事(Swiftの”?”と”!”,はじめからていねいに (1/2))の続きになります.今回もSwiftの”?”・”!”をまとめていきます.

前回のおさらい

前回の記事では最後にOptional Chainingの説明の際,以下の例を挙げました.

class Person {    var resid ...

投稿者:

iOS, Swift

UITableViewCellやUITableViewHeaderFooterViewをdequeueしようとした際にクラッシュが発生してしまい、「Nibのregisterかなんかで失敗したのかな…?」と思いregister済みのNibを確認する方法はないかと探したらありました。使い所があるかどうかは分かりませんが、備忘録として残しておきます。

register済みのNibを確認する方法UITableViewCelltableView.value(fo ...

投稿者:

iOS, Swift

はじめに

初投稿になります.19新卒の河野です.配属後はiOSエンジニアとして,日々精進しています.今回の投稿では,Swiftの1大テーマである”?”と”!”について一度整理しようと思い,このテーマにしました.

既存の解説記事とはやや切り口が異なりますが,個人的にこのまとめ方で理解するのもわかりやすいのでは,と試行錯誤してまとめてみました.

型の後ろの”?”と”!R ...

投稿者:

iOS, Swift

19新卒の永田です。10月の配属以降、iOSアプリの開発に取り組んでいます。
今回はタイトルの通り、Initialization Closureについてまとめようと思います。

TL; DRInitialization Closureは Stored Property の初期化に使われる書き方。
Computed Propertyではないので、{}の中は 1度しか呼ばれない。
未知との遭遇

現在開発中のアプリでUIViewController ...

投稿者:

fastlane, iOS

リッチプッシュ通知等を実装する際にApp Extensionを追加すると思います。

App Extensionにもバージョンがあるため、このバージョンとアプリのバージョンをあわせないとApp Store Connectへアップロードした際に毎回警告が出てしまいます。

それをfastlaneで自動で合わせるようにしました。

set_info_plist_value(  path: "path/to/AppExtension ...

投稿者:

iOS

UIScrollViewはAutoLayoutのみでスクロールできるよう設定できますが、
Xcode 11でその方法が少し変わりました。

作りたいもの

画面幅と同じサイズのViewを2枚横に配置し、スクロールできるようなものを作ります。

Xcode 10.3Xcode 11違い

Xcode 11では Content Layout Guide と Frame Layout Guide が追加されています。

Xcode 10.3(今ま ...

投稿者:

Bitrise, iOS

背景

ライブラリを増やしていくとだんだんとビルドにかかる時間が長くなってしまいます。
そこで少しでも早くできないかと調べてみたところ、簡単な方法で早くなったので紹介します。

結論

CarthageのビルドをBitrise上でキャッシュする。

結果

22m18s → 9m35s
10分以上も短縮できました。

前提

Carthageでライブラリを管理している。

方法

BitriseのWorkflowの一部を以下の順番で設 ...

投稿者:

iOS, Swift

iOS13からデフォルトのModal遷移がシート型に変更になりました。
スワイプでVCをDismissできたり遷移元の画面が見えたりといい感じにはなりましたが、
Dismiss時に遷移元のライフサイクルメソッドが呼ばれません。

printした結果

ViewController.viewWillAppearViewController.viewDidAppearSecondViewController.viewWillAppearSeco ...