Rodhos Soft

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

iOS

回転設定

iOS

出し分けはinfo.plistでiphone/ipadそれぞれサポートを指定する。

pdfがiOS13で表示されない。

iOS

これはcontents-typeの問題のようだ。サーバ側で修正がいる。 stackoverflow.com

htmlスクロール禁止

iOS

以下を参照 iOSはoverflow:hidden;でスクロールを無効にできない - Qiita スクロール禁止が overflow:hidden や preventDefault(); でできないときの対処法 - Qiita

ローカルHTMLのメモ

iOS

WKWebViewで実装すると フォルダ参照ならhtml内のlinkは./でプロジェクト直下になっているようだ。WKWebViewは今の所、コード上で貼り付けるしかない。WKNavigationDelegateでnavigationResponseでdocument.locationの移動を検知できる。 decisionHandler(.a…

window.location.hrefがきかない

iOS

バグがある。 How to fix window.location issue in iOS9 UIWebview - Stack OverflowsetTimeOutで次のイベントループまでまって実行してやる必要がある。

WKWebViewのデバッグ

iOS

iosのsafariの設定の詳細のwebインスペクタをON macのsafariの開発者モードでデバッグ

参照フォルダ

iOS

参照フォルダとして追加したいものをプロジェクトにドラッグして参照フォルダして登録、 Bundleをみるとフォルダごとアプルに入ることがわかる。よってパスはBundle.main.bundlePathを起点に相対パスを追加していけば良い。

データ共有

iOS

iOS8からAppGroup内で情報共有できる。つまり同じDeveloper内という制限がある。 Keychainを使わないでも良い。 Group IDを指定してNSUserdefault(suiteName)やNSFileManagerでデータを取得する。

サイズ

ios

https://developer.apple.com/library/content/qa/qa1795/_index.html developer.apple.com dev.classmethod.jp

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のようなものに…