ios

ios SideMenu ライブラリの使い方

アプリの左から開くサイドメニューを作りたくライブラリを探したらけっこう出てきた。こちらの使い方を調べたので簡単にまとめておく github.com今回やるながれはこんな感じ 1. メニュー化するViewControllerの作成 2. AppDelegateで1.で作成したViewControl…

iOS Share Extensionで保存したuserDefaultsの値が取得できなくてハマったよ

https://qiita.com/KosukeQiita/items/994693da551a7101cc9c こちらを参考にほぼ同じコードで試していたが上手くいかないこと数時間...保存した値をuserDefaultsから取得しようとしたらこんなエラーぽいメッセージが出てた [User Defaults] Couldn't read va…

swift codableのデバッグ

型や項目の必須、任意が正しくないと1件もヒットしなくなってしまうのでエラー時のデバックプリントはたぶん必須Swift let data = """ [{ "id": 1, "name": "USER1", },{ "id": 2, "namexxx": "USER2", }] """.data(using: .utf8)! struct User: Codable { v…

node dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.xxx.dylibエラー

node6がEOLになったのでnode8にあげてfastlaneでionicプロジェクトをビルドしようとしたら以下のエラー発生 dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib Referenced from: /usr/local/bin/node Reason: image not found (省略)…

carthage SWIFT_VERSION '5.0' is unsupported, supported versions are: 3.0, 4.0, 4.2.エラー

タイトルのエラーの原因と解決策のメモ 今回は「Smile-Lock」というパスコードの入力画面を簡単に実装できるライブラリを使おうとして発生。プロジェクトの都合でxcodeのバージョンは10.1でSwift4.2を使用。Cartfile github "recruit-lifestyle/Smile-Lock"c…

ios WKWebViewでWebViewアプリの作り方まとめとく

iOSで簡単なWebViewアプリの作るときに必要そうなことまとめておく。以下のiOS版 android WebViewアプリの作り方まとめとく - とりあえずphpとか WKWebViewを作ってサイトを表示する ViewController import UIKit import WebKit class ViewController: UIVie…

旧バージョンのxcodeを使うときに考慮すべきことまとめ

最新のxcodeを使えなくて、実際にアプリ開発で困ったこととその対策をまとめておく 最新のiOSのiPhoneにXcodeからアプリをインストールできない iPhoneのiOSのバージョンアップを基本的に自動更新にしている人が多いと思うが、xcodeのバージョンは古いままだ…

swift4 AlamofireとImageViewでURLから取得した画像を拡大表示

http://kimagureneet.hatenablog.com/entry/2019/02/27/025807 ここでやったのとほとんど同じ。ちがいは以下だけ ・URLからの画像を表示 ・キャッシュとか考えるとAlamofireImage使う import UIKit import AlamofireImage import ImageViewer class ViewCont…

ios uiwebviewとwkwebviewのローカルストレージの保存先パス

ios

UIWebView NSString* appLibraryFolder = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString* storagePath = [appLibraryFolder stringByAppendingPathComponent:@"Caches"]; // storagePath ->…

swift 普通のアプリを作るのにつかったライブラリまとめ

はじめに 普通のアプリってなんだと突っ込まれそうだけど...・APIへリクエストしたり ・リスト表示したり ・画像を表示したり ・入力フォーム作ったりアプリ開発してると自分のスキルだとやはりサードパーティのライブラリに頼りまくることになる。できるだ…

ios circleciでcarthageのキャッシュが効かなかった原因と対応

はじめに CircleCI 2.0 + Carthage で carthage bootstrap に時間がかかる場合の解決方法 - Qiita こちらを参考にcarthageのキャッシュを使ってcircleciでのビルド時間を短縮。が、とあるタイミングでキャッシュが上手く効いていないようだった。circleciで…

ios carhage_supportでcarthageのライブラリ管理

carthage_supportの使い方メモしておく。 Cartfileに記述した内容と「Linked Frameworks and Libraries」、「Run Script」の内容を手動で合わせるのを管理してくれる。carthage_supportインストール $ sudo gem install carthage_supportプロジェクトのルー…

cordova carthage対応のライブラリを使ったプラグイン開発

Carthageを使ったライブラリを使用して開発されたCordovaプラグインをいくつか見つけた。が、導入方法はプラグインインストール後や`platform add ios`した後にXcodeからCarthageのお決まりの作業を行わなくてはならないようだった。問題点は以下 ・手間がか…

swift4 アプリのバージョン番号とビルド番号取得

// バージョン番号 Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") // ビルド番号 Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString")参考 https://qiita.com/arthur87/items/802d17387ae46fb44fc2

xcode カスタムURLスキームを本番と開発アプリで切替える

今回やりたかったことはカスタムURLスキームの設定。ブラウザから「myapp://」等のリンクをクリックしたときにアプリを起動させたいとかの場合に設定するものです。 アプリ開発していて、開発と本番アプリで別の名前で設定したいと思いやり方を調べたのでメ…

Swift LUExpandableTableViewを使って折りたたみ可能なUITableViewを実装

こんな感じのありがちなUI。ライブラリを使わずに自前で実装する方法もけっこう書いていただいている人がいて実装することはできたのだが、テーブルのレコード数が増えると開閉したときのスクロール位置がガタガタ。自分の実装方法に問題があるかもしれない…

Swift 一定以上スクロールしたらタブの位置を固定する(SwipeMenuViewControllerを使う)

やりたいことはこちらのページに書かれていたようなこと https://techblog.zozo.com/entry/scroll_tab_pagehttps://github.com/yysskk/SwipeMenuViewController SwipeMenuViewControllerというライブラリを使って試してみたViewController.swift import UIKi…

Swift UIViewを再描画

autolayout使わない方法メモ と言ってもframeをセットしなおしてるだけ import UIKit class ViewController: UIViewController { var wrapper: Wrapper! class Wrapper: UIView { var message = UILabel() required init?(coder aDecoder: NSCoder) { super.…

Swift UITableViewのセクションヘッダーをカスタマイズする方法メモ

やることは以下 ・カスタムUIViewの実装 ・viewForHeaderInSectionとheightForHeaderInSectionメソッドの定義viewForHeaderInSectionはカスタムViewを返す heightForHeaderInSectionはカスタムViewの高さを返す テーブルセルのカスタマイズと考え方は同じ カ…

Swift 動画からキャプチャ画像を抽出する

動画ファイルから1秒単位でキャプチャ画像を生成するサンプルをメモしておく import UIKit import AVKit class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate { var picker = UIImagePickerControlle…

Swift Dateで日付のみのリスト作成

大した話じゃないけどDateFormatterは入力と出力でそれぞれ用意すると考えるとなんとなくわかりやすいと思った start = "2018-01-01" end = "2018-01-31" // 入力文字列のフォーマット var inputFormatter = DateFormatter() inputFormatter.dateFormat = "y…

Swift Alamofire + Codableでapiリクエストでの最低限必要そうな処理まとめ

はじめに アプリ開発でWebAPIにリクエストしてレスポンスを画面に表示したりデータを更新したりありがちな処理をまとめておく。やりたいことは主に以下 ・APIへリクエスト(Get、Post、Patch、Delete) ・APIのレスポンスからCodableなクラスのインスタンス…

iOS12でLine SDK Loginエラー

ios

https://developers.line.me/ja/docs/ios-sdk/ LINEが提供しているこちらのSDKを使ってLINEログインを自分のアプリに組み込んでいるのだが、iOS12でSDKでログインに失敗するケースが多発。LINEブログやその他のLINE製アプリでも確認したがエラーになることが…

Swift UITextField textFieldShouldReturnが呼ばれない

UITextFieldDelegateもちゃんと実装したのになぜか呼ばれなくてハマった誤 func textFieldShouldReturn(textField: UITextField) -> Bool { return true }正 func textFieldShouldReturn(_ textField: UITextField) -> Bool { return true }昔のソース貼り付…

Swift TagListViewでタグ入力UI実装

はじめに 今回作りたかったのはこんなありがちなUIhttps://github.com/ElaWorkshop/TagListView このライブラリを使ったら簡単に実装できた。使い方簡単にメモしておくハマりポイントはあまりなかったが、タグを追加していったときに高さの取得方法がわから…

Swift codableなclass(object)のプロパティに変数で動的にアクセスする

あまり応用シーンはなさそうだけど今回やりたかったことは user["id"]、user["name"]みたいなかんじでプロパティにアクセスしたかった。やりたかった理由はObjectから特定のプロパティを表示する画面を作りたかった。こんなクラスがあってプロパティがたくさ…

Swift LINEぽいメッセージアプリの入力UIをつくったのでメモ

はじめに かなり前にこちらでメッセージを表示する部分の吹き出しの作り方をメモした。 http://kimagureneet.hatenablog.com/entry/2015/09/19/005407今回はメッセージ入力部分のUIの作り込みの方法をメモ。こんな感じのものを作りたかった。 やりたいことは…

Swift ImageSlideshowのPagerの色、位置を変更する

https://github.com/zvonicek/ImageSlideshow こちらのライブラリの話デフォルトだと画像とページャーガ重なっていて見づらいので、色を変えて画像の下にくるようにする var slideShow = ImageSlideshow() let pager = UIPageControl() pager.pageIndicatorT…

Swift UITableViewですぐ忘れる細かいことまとめておく

セルの罫線を消す tableView.separatorStyle = .noneセルの罫線の隙間をなくす UITableView.appearance().separatorInset = UIEdgeInsets.zero空のセルは表示しない tableView.tableFooterView = UIView(frame: .zero)セルをタップした時の色がかわらないよ…

ionic(cordova) CircleCI2とFastlaneでiOSアプリをデプロイゲートにアップロードする手順まとめ

はじめに 今回やりたかったことは ・ionicで開発したiOSアプリをCircleCI2上でAdHoc版ビルド ・ビルドしたアプリをデプロイゲートへアップロード ・Fastlane Matchは使わず手元にある証明書とプロビジョニングプロファイルで行う ビルドとアップロードはFast…