Pragmatic ball boy

iOSを中心にやってる万年球拾いの老害エンジニアメモ

iOS9

動画のフォトアルバムへの保存

動画のフォトアルバムへの保存 iOS8まで import AssetsLibrary ... ALAssetsLibrary().writeVideoAtPathToSavedPhotosAlbum(filePathURL) { _ in // 完了後の処理 } iOS9以降 import Photos ... PHPhotoLibrary.sharedPhotoLibrary().performChanges( { PHAs…

3D Touch Peak, Popの使い方

1. 3D Touchの発火元となるviewの登録 UIViewControllerのregisterForPreviewingWithDelegateというメソッドを使って、3D Touchに反応するViewと、3D Touchが発生した際にハンドリングするdelegateを登録します。 override func viewDidLoad() { super.viewD…

iOS9のクイックアクション対応

ホーム画面のアプリアイコンを3D Touchすると実行されるクイックアクションの実装方法です。 Info.plistの変更 UIApplicationShortcutItemsを追加します。 例 Info.plist <key>UIApplicationShortcutItems</key> <array> <dict> <key>UIApplicationShortcutItemIconType</key> <string>UIApplicationShor</string></dict></array>…

Xcode7のCore AnimationのProfilerはiOS9には対応していない

訂正:Xcode7.1では治ってました Xcode7を使って、InstrumentsのCore Animationを使って実機でパフォーマンスを測ろうとしても下の図のように実機を選択することができません iOS8.4の端末を使って試してみたところ選択することができたので、iOS9にはまだ対…

Swift Bond v4

Swift BondがSwift2.0に対応し、更にインターフェースが大きくかわりv4としてmasterに統合されました。 主な変更点としては、 クラス名を刷新 これまではBond、Dynamicといった意味不明なクラス名がObservable, EventProducerに変わりわかりやすくなりました…

Swift2でArrayにArrayをinsertする

これまではsplice:atIndexでしたが items.splice(insertItems, atIndex: items.endIndex) Swift2(beta6以降)からinsertContentsOf:atに変わりました items.insertContentsOf(insertItems, at: 1) 例 var items = ["a", "b", "c"] let insertItems = ["1", "2…

iPadのマルチタスク(SlideOver, SplitView)対応

iOS9からiPadでmultitaskingが使えるようになります。 SlideOverはiPad Air以降、SplitViewはiPad Air2以降で利用できます。 SlideOver, SplitViewに対応したアプリの作成方法 新規で作成する場合 Xcode7で新しいプロジェクトを作ると特に何もしなくてもよい…

iOS9 ATSの設定方法

β4現在 Xcode7でビルドするとiOS9以降でApp Transport Security (ATS) が利用可能となります App Transport Security Technote: App Transport Security Technote デフォルトでhttps通信が必須となるので、この挙動を変更するには上の仕様に書いてあるように…