ios

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…

Fastlaneにてcordova(ionic)プロジェクトのiOSアプリをDeploygateにアップロードする手順

今回やりたいことは以下 ・cordova(ionic)プロジェクトで作成したアプリをビルド ・ビルドしたアプリをデプロイゲートへアップロード とりあえずはデプロイゲートまでアップするのが目標 fastlaneインストール fastlaneをインストール $ sudo gem install fa…

iOS iTunesConnectに継続課金の自動更新登録(Auto-Renewable Subscription)が表示されない原因

ios

https://terakoya.site/ios_dic/ios-dic-in-app-purchese/ こちらを参考にiTunes Connectで設定を行なうところでつまづいた。App内課金コンテンツを追加するところで以下の3種類しか選択肢に出てこず、自動更新登録が表示されない。。 ・消耗型 ・非消耗型 …

【iOS】AdHoc版アプリが起動しなくなったときに調べたこと

前提としてはずっとAdHoc版でデプロイゲートから配布していたアプリが突然起動しなくなったとのこと。 ipaの有効期限を見ても期限内だったのでちょっととまどったがその時に調べたことをメモしておく。AdHoc版のipaからembedded.mobileprovisionを確認発生日…

SNSでAPNS(iOSプッシュ通知)使う場合のJSONひな形

アプリ側だけawsのコンソールからチャチャッと動作確認しようと思ったらけっこうハマったのでひな形メモしておく。このエラーがなかなか消えず。。 Invalid parameter: Message Reason: Invalid notification for protocol APNS_SANDBOX: Notification is ma…

iOSアプリ申請時に最低限必要な画像

前に用意したことあったけど全然覚えてないしよくわからなかったので次回用に最低限準備しないとならない画像をメモ。 スプラッシュ画像 3125x5571を1枚用意。これ1枚用意して、LaunchScreen.storyboardのViewControllerにUIImageViewを貼り付けてAutolayout…

【xcode】AppIconにiPadのエリアがなかった時の対応

またたいした話じゃないけど、アプリの開発をひととおり行ってアプリのアイコンを設定しようとしたらiPad用のエリアがなかった。iPhoneのみ iPhone、iPad両方あり 理由はプロジェクトを作った時にDevicesをiPhoneを選択して作ったから。 あとからUniversalに…

【swift】UILabelの高さを計算して動的に変更(調整)する

よくやってるつもりだったけど意外と整理できていなかったので整理 var myLabel = UILabel(); // 最大行数を指定(0は無制限) myLabel.numberOfLines = 0; // 表示するテキストをセット myLabel.text = "テキスト・・・"; // セットした文字からUILabelの幅と…

【swift】iosで画面の回転を検知してUITableViewを再描画する

はじめに 今回やりたかったのは画面一杯にUITableViewをセット。 端末の向きが変更されたら画面サイズに合わせてUITableViewの幅と高さを更新。ということなにも対応しないと縦向きから横向きにしたときにテーブルの幅が半分くらいになってしまうので対応が…

【swift】SWTableViewCellでボタンとテキストが重なったときの対応メモ

テーブルビューのセルをスワイプしたら削除ボタンが出てくるメールアプリみたいなUI。 これを簡単に実現できるライブラリでSWTableViewCellというのがあった。で、使い方自体はわかりやすくて簡単だったんだけどUITableViewCellの中身がスライドしないで 削…

【swift】uiscrollviewを更新する方法メモ

はじめに 今回やりたかったことは以下 ・UIScrollViewの中にUILabelをもつ ・UILabelのテキストにはAPIから取得した値をセットする ・テキストの文字数が多いのでUIScrollViewの高さをセットしてテキスト全体がみれるようにする今まではUITableViewのヘッダ…

【swift】uitableviewで読込中indicatorを表示する方法メモ

はじめに 今回やりたかったのは、APIから取得した値をテーブルビューにセット。 テーブルビューの1番下までスクロールしたら読込中のクルクルインジゲーターを表示。 というまぁありがちなやつで、やりかた調べたらここにありました。 http://d.hatena.ne.jp…

【swift】iOSでWebViewのjavascriptと連携する方法メモ

はじめに 以下のような問題があってWebViewの使用を検討 ・開発中のアプリのある画面のデザインがけっこう複雑で実装するのに時間かかりそう。 ・HTML、CSSで実装するとそんなでもなさそう。問題点としてはこの画面でのユーザー操作によってアプリの他の画面…

【swift】RealmSwiftとObjectMapperでローカルDBを使う方法メモ

はじめに 今回作りたかったものは辞書アプリみたいなイメージで 書籍のカテゴリーが一覧表示されていて選択すると紐づく書籍がリスト表示されるだけやりたかったことは以下 ・辞書データはサーバーに保存 ・できるだけオフラインでも使えるようにしたいで、…

【swift】エラーメモ clang: error: linker command failed with exit code 1 (use -v to see invocation)

ついさっきまで同じビルドできていたのに突然このエラーが出る場合があります。 特に開発始めたばかりのときはビルドが通らないだけで一苦労です自分の場合は、「command + shift + k」で1度クリーンしてから再度ビルドすると大抵解決していると思います cla…

【swift】fabricのcrashlyticsでクラッシュレポートが送信されなかった時の対応メモ

はじめに サンプルアプリを作って、マニュアルの手順通りに導入すると上手くいくのに携わっていた案件のアプリに入れた際になぜか上手くいかなかった。 そのときの対応方法をメモ 実装 AppDelegate.swift import Fabric import TwitterKit import Crashlytic…

【ios】アプリ開発〜リリースまでのまとめ

はじめに アプリ開発してお客さんに確認していただいて、アップルに審査してもらうまでにやっとたどり着いたので備忘録としてメモイメージとしてはこんな感じで、webアプリとか受託開発するとよくある形だと思われます 環境 アプリを確認する人 開発 開発者 …

【xcode】ArchiveのExportでタイムアウト

開発環境を別PCに移行した際に、証明書と秘密鍵を移行元PCから持ってきて移行先PCにインポート。 で、プロビジョニングファイルとアカウント等もXcodeに追加してビルドもできたので、ArchiveしてExportをしようとしたら以下のエラーで先に進めませんでした。…

【ios】Universal Linksを実装する - 概要とか

はじめに 今回やりたかったことは、あるurlへアクセスした際に ・未インストールならAppStoreへ誘導 ・インストール済であればアプリを起動(起動時の画面も指定したい)ios8以下では、ココとかの記事の通り、 アプリにカスタムurlスキームを設定して、html…

【swift】カスタムUIView上のボタンが押せなくてハマったときのメモ

はじめに 久々にこんなにハマりました、、、 共通で使い回すために作るカスタムUIVIew上のボタンを押してもウンともスンともいわなかったことでしたコードは以下のような感じで、なんてことはなくボタンを持ってるだけのUIViewをaddSubViewして、見た目的に…

【swift】api通信処理を共通化/エラー処理もちゃんとやる

はじめに 以前、こちらで同じようなことを書いたのですが。 そのときはまだswiftやりたてというのとエラー処理とかちゃんと考慮できてなかったので今回もう1度ちゃんとまとめてみようと思いました実装したい機能としては以下 >サーバーからのレスポンス arr…

【swift】AppDelegateのopenURLが呼ばれなかったときの対応メモ

はじめに 「example://」のような形でアプリを起動したときにAppDelegateのopenURLメソッドが呼ばれませんでした。 ちなみに、アプリを起動した状態でブラウザから起動すると期待通り呼ばれました。原因としては、AppDelegateのdidFinishLaunchingWithOption…

【swift】AFNetworkingでタイムアウト処理メモ

やりたかったこと AFNetworkingを使っていて、タイムアウトまでの時間を計ってみるとちょうど1分間でした。 1分間待つのはちょっと長いかなと思って、この時間を設定する方法を調べてみましたAFNetworkingの中をtimeoutでgrepしてみると、requestSerializer…

【swift】シュミレータービルドの方法メモ

はじめに Facebookアプリに申請を出す際にアプリの提出が必要だとのこと。 が、現時点でアプリはリリース前でアプリを実機で動作確認する際にはUDIDをプロビジョンファイルに含めて、デプロイゲートよりインストールしてもらう形で進めてきました。で、これ…