本ブログで紹介した iOSアプリケーションの開発Tipsをまとめている記事です。
- 導入
- 基本的なプログラミング
- UIKit
- 拡張機能・エクステンション
- マルチメディア
- カメラ
- ネットワーク
- デバイス/センサー
- データ・ストレージ
- Apple Watch
- ライブラリ
- その他
- CocoaPods関係
導入
基本的なプログラミング
- (Swift)カードをシャッフルする
文字列操作
- (Swift)文字列操作する
- (Swift)UnicodeScalarクラスを使って①や⑩の丸囲み文字に変換する
- (Swift)reduceメソッドを使って配列の中から文字列長の長いオブジェクトを取得する
リフレクション
- (Swift)文字列のクラス名からインスタンスを動的に生成させる
- (Swift)リフレクションを使ってインスタンスからプロパティの一覧を取得する
マルチスレッド
UIKit
- (Swift)シングルタップとダブルタップとロングプレス(ホールド)に同時に対応する
- UILabel
- (Swift)NSAttributedStringを使って文字列を装飾する
- (Swift)NSAttributedStringを使ってUILabelに画像を表示する
- (Swift)UILabelでカスタムフォントを使う
- (Swift)AutoLayoutで複数行テキストのボタンが正しく改行されない
- UITabBar/UITabBarItem
- アニメーション
- UICollectionView
- MKMapView
拡張機能・エクステンション
- (Swift)Share Extensionの実装でハマったところ
- (Swift)SwiftでToday Extensionのデバイスの向きを判定する
マルチメディア
- (Swift)iOSデバイスに入っている楽曲データを取得する
- UIColor
- (Swift)UIColorの色を一段階暗くする
画像処理
動画編集
- (Swift)AVFoundationを使ってひとつの動画から異なる動画を生成する (動画編集の基本編)
- (Swift)AVFoundationを使って複数枚の静止画から動画(mp4)を生成する
- (Swift)AVFoundationを使って動画をクリッピングする(動画サイズを変更する)
- (Swift)AVFoundationを使って動画と静止画を合成して新しい動画を生成する
- (Swift)Photos.frameworkを使って動画コンテンツからサムネイル画像を生成する
- iOS 13.4シミュレータで AVVideoCompositionCoreAnimationTool を使うとアプリがクラッシュする
カメラ
ネットワーク
- HTTPモックサーバー
- SwiftでOHHTTPStubsを使ってHttpスタブを利用する
デバイス/センサー
データ・ストレージ
Apple Watch
ライブラリ
Firebase
SDWebImage
iOSでネット上の画像をダウンロードしてキャッシュしてしまう機能を持った代表的なライブラリです。
Realm Swift
その他
システム
デバッグ
CocoaPods関係
社内でビルドするマンをしているのでJenkinsとの組み合わせ、環境の問題等でCocoaPodsの問題を踏むことが多いです。それらの記録を書き残していこうと思います。
- CocoaPodsをv1.0.0にアップデートしたら「TypeError - Unable to convert Ruby value "FBSDKCoreKit" into a CFTypeRef.」がでてpod installが失敗するようになった
- CocoaPodsをv1.0.0にアップデートしたら「ArgumentError - invalid byte sequence in US-ASCII」でpod installが失敗するようになった
- Ruby 2.3.0にしてCocoaPods 0.39.0を使ったらpod installでエラーが出た
- 「Undefined symbols for architecture armv7:〜」という警告が出たときの対策方法
ビルド、Jenkins
- Xcodeでのビルドを自動化するxcodebuildコマンドとIPAファイルを作成してiTunes Connect(Testflight)に投げる方法
- ipaファイルを再署名(resign)する
- xcodebuildコマンドで出力した.xcarchiveが malformed でエクスポートに失敗するようになった
最近は、BitriseというCIサービスを利用するようになりました。
Windows Bridge for iOS
この項目では、Windows Bridge for iOS (旧名: WinObjC)についてを紹介しています。
Windows Bridge for iOSは、Windows 10で使用できるようにブリッジさせて、Objective-CのコードやiOS APIを使ったコードを再利用するためのプロジェクトです。
- Windows Bridge for iOSについて
- Windowsアプリへ変換後の挙動についてのレビュー
- Windows Bridge for iOSではUISplitViewControllerを使うと画面が表示されなくなるようです
- 「Windows Bridge for iOS」でUITableViewを使ったiOSアプリを変換できるのか試してみる
- 「Windows Bridge for iOS」でUITableViewを使ったiOSアプリを変換できるのか試してみる その2
- Windows Bridge for iOSで表示できるUIコントロールを調べてみた
- 「Windows Bridge for iOS」でGame Technologyを使ったiOSゲームプロジェクトを変換できるのか試してみる