Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

iOS

WWDC2017

iOS

iOS11の忘備録まずQiitaを一読して後追いする。WWDC2017を個別にみていきたい。恐らくリンク先の堤さん等のまとめ(API Diffsから見る iOS 11 の新機能 #WWDC17 - Over&Out その後) を読むほうが早い..。以下作成中 WWDC2017 WWDC 2017 - Videos - Apple De…

AVPlayer

iOS

自分で作って忘れていたのだがシンプルな動画再生のプレーヤーとしてRDAVPlayerというコードを書いた。 github.com記事としては qiita.com 今ならもっと違う書き方になるかも。

インライン展開

iOS

CG_INLINEを使えば良い。

画面切替

iOS

snapshotViewとの組み合わせでいける。 let currentView = self.view.snapshotView(afterScreenUpdates: true)! self.view.addSubview(currentView) UIView.transition(with: currentView, duration: 0.5, options: [.transitionFlipFromRight], animations:…

iPhone/iPadの画面

iOS

基本的には以下をみるqiita.comデザイン的には基本は横幅を気にする。 5sだと320 6だと375 6plusだと414 ipad 768 ipad pro 1024縦はテーブル等で表示する場合はそこまで気にならない。ipadは回転を許容する場合は気にする必要がある。 5sだと 568 6だと 667…

Appleのサンプルムービー

iOS

http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8

回転させたときのレイアウト変更

iOS

XCode8で回転させた場合のレウアウト変更はSizeClassを使うとできる。 拘束条件を個別にinstallで設定する。全画面にしたい場合は上下左右にマージン0で設定してやる。サイズの変更は以下の参考に書かれているような変更で呼び出しを受ける。 iOS8以降で、ど…

強制回転

iOS

iOSで強制的に回転させる方法は以下の一文で良いようだ。 UIDevice.current.setValue(NSNumber(integerLiteral:UIDeviceOrientation.portrait.rawValue), forKey: "orientation")

FaceBookグラフ

単に以下のようにやるだけでJSONが返却される。 let req = FBSDKGraphRequest(graphPath: "me" , parameters: ["fields":"id,email,name"]) req?.start(completionHandler: { (con, result, error) in if let error = error { print("error") return } print…

FaceBookログイン

基本はdevelopers.facebook.com にすべて書いてある。フレームワークとしてFBSDKCoreKit、FBSDKLoginKitあたりをDLして入れる。ここでpodを使っても良い。 info.plistの設定でFaceBookAppIDの文字列を間違えないようにする。FBSDKCoreKitのFBSDKApplicationD…

ネットワーク

iOS

引き続き developer.apple.comの一部の要点 NSURLSessionを使う。 旧iOSとの互換がいるときはNSURLConnectionを使う。 dataTaskWithRequest:completionHandler:ないしdataTaskWithURL:completionHandler:を呼ぶ NSURLRequestにはリクエストに必要な情報をつ…

ネットワーク

iOS

iOSDevネットワーキングオーバービュー developer.apple.com 詳細はリンク先をみるとして冒頭の要点をまとめてみる。 ネットワークは信頼性が低いから以下に注意。 必要なデータのみ通信 タイムアウトじゃなくて取り消し手段を入れる というか遅い通信では取…

AppExtension

iOS

サンプルはgithub.comUIActivityViewControllerで外部アプリにイメージを渡し、それをセピアに変換して戻してくれるサンプルを作った。作り方を説明する。まずTargetを追加(ActionExtension)する。 アプリ間のデータのやりとりはextensionContextを通じて行…

カメラ UIImagePicker

iOS

UIImagePickerを用いるとカメラとフォトライブラリからの画像取得が簡単にできる。 あまり機能的なものはない。 UIImagePickerControllerを用いたカメラ、あまり機能はない。 画像フィルターは 画像フィルター画像の保存は UIImageWriteToSavedPhotosAlbum(i…

AttributeString

iOS

以下のサンプルコードを見れば大体わかると思う。 override func viewWillAppear(animated: Bool) { let str = "はろー World" let attrStr = NSMutableAttributedString(string: str) // フォント設定 http://iosfonts.com/ attrStr.addAttribute(NSFontAtt…

UICorrectionView、スペース調整

iOS

UICollectionViewFlowLayoutを継承し、layoutAttributesForElementsInRectをoverrideする。 superのlayoutAttributesForElementsInRectでattributeが帰ってくるのでその個々のframeを調整すれば良い。具体的には override func layoutAttributesForElementsI…

シュミレータのデータの場所

iOS

XCode6.4では/Users/ユーザ名/Library/Developer/CoreSimulator/Devicesコードで取得してみると良い。 var documentPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0]…

iOS技術情報リンク

iOS

iOS9API差分developer.apple.com

バージョン確認

iOS

一つは [[UIDevice currentDevice] systemVersion] で返ってくる文字列で見る方法、もう一つは NSFoundationVersionNumber のdoubleの値を見る方法がある。

iOS8

iOS

ポップオーバー ポップオーバーがiPhoneでもできるようになっている。UIPresentationControllerとUIPopoverPresentationController 以下調査中。 注 ポップオーバー系 BackGroundColorがiOS7からついている。

フラットUIの対応

iOS

iOS7のUI Transition Guideを読んで。 iOS 7 UI 移行ガイド: 外観および動作 ViewControllerで設定できる幾つかのプロパティで持っているビューの配置が色々変わる。 edgesForExtendedLayout UINavigationControllerやUITabBarViewControllerのようなものに…

CoreData

自動マイグレーションする場合 新しいモデルバージョンをつくる(Edit/Add Model Version) モデルバージョンの新しい方に設定しておく(File Inspecterで) エンティティをいじるなどの修正 マッピングモデルを作成する。(ソースが旧、ターゲットが新) NSPersis…

UIDynamicItemで重力

iOS

iOS7から可能。 タップすると重力で床に落ちていく。 UIDynamicItem GravityUIDynamicAnimatorに UIGravityBehaviorとUICollisionBehaviorを追加し、ビューを作ったらこれらのBehaviorにaddしていく。 参考にしたもの Safx: UIKit Dynamicsを使ってみるチュ…

appleのサンプル

iOS

CryptoExercise Reachability ネットワークチェック

開発に役立つリンク

QA系 appleの開発フォーラム https://devforums.apple.com/community/iosスッタクオーバーフローstackoverflow.com ja.stackoverflow.comキータqiita.com

ストーリーボードに切り替える

iOS

基本は以下を参照すれば良い。Beginning Storyboards in iOS 5 Part 1 - Ray Wenderlich流れとしては mainの引数にAppDelegateを入れる。 AppDelegateがUIAplicationから変更されている。 AppDelegateにはwindowsプロパティをつける。IBOutletを付けない。 d…

サンプルコード

iOS

Apple 2014/11 WatchKit Catalog: Using WatchKit Interface Elements Lister (for Apple Watch, iOS, and OS X) UICatalog: Creating and Customizing UIKit Controls (Obj-C and Swift) PhotoMap

AppDelegateでの向きの指定について

iOS

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window これをAppDelegateに実装するとシステムから特定のウィンドウにおいてビューコントローラで使うインターフェースの向きが尋ねられる。…