読者です 読者をやめる 読者になる 読者になる

swift

【xcode】プロジェクト名を変更するのが思ったより面倒だったので手順まとめておく

はじめに アプリ名とかを仮のまま開発を進めて途中でアプリ名が決定。 プロジェクト名などが旧名称のままだと気持ち悪いのでプロジェクト名を変更したかったのでその時の手順をまとめておきます。今回は以下の名前をで変更します。 変更前:SampleOld 変更後:…

【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で実装するとそんなでもなさそう。問題点としてはこの画面でのユーザー操作によってアプリの他の画面…

【xcode】「no such module afnetworking」対応

久々にxcode作業 xcodeのアップデートしたらバージョン8.2になってた。 で、swiftのバージョンも3.0.2にで、cocoapodsでAFNetworkingをインストールして以下を書こうとすると「no such module afnetworking」という経緯でした import AFNetworking漠然とxcod…

【swift】uitextviewで文字数を制限したテキストコピーを実装

はじめに uitextviewにコンテンツを表示。コンテンツの内容はコピー可能だけど全文を一括ではコピーできないようにしたい ということでした実装手順としては ・uitextviewのUIMenuControllerを無効にしてコピーできなくする ・文字数制限してコピー可能なUIM…

【swift】uitextviewの選択範囲の文字列を取得する方法

今回やりたかったことはタイトルのとおりですが、 uitextviewに表示しているテキスト中でユーザーが選択状態としている部分の文字列を取得するということでしたswift let location = textView.selectedRange.location let length = textView.selectedRange.l…

【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アプリとか受託開発するとよくある形だと思われます 環境 アプリを確認する人 開発 開発者 …

Error ITMS -90362"Invalid info.plist valueエラー!!

はじめに やっとこざアプリの審査作業を行っているのですが、xcodeよりアプリをアップロードする際に今度は以下のエラーが発生しました ERROR ITMS-90362: "Invalid Info.plist value. The value for the key 'MinimumOSVersion' in bundle *****.app/Framew…

【ios】Universal Linksを実装する - 実装方法

はじめに 前回書いた概要の続きです。手順としては以下 Apple Developer ・「Identifiers」の「App IDs」より「Associated Domains」がEnabledになっていることを確認(または設定) その際に、アプリの「ID」と「Prefix」もあとで使うのでメモしておく※ここ…

【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をプロビジョンファイルに含めて、デプロイゲートよりインストールしてもらう形で進めてきました。で、これ…

【swift】UIBarButtonItemを右寄せする方法メモ

はじめに 今回やりたかったのは、こんな感じ。 UIDatePickerの上にUIToolbarをおいて、UIToolbarの中にUIBarButtonItem(決定ボタン)をおいて右寄せにする 実装 UIBarButtonItemのbarButtonSystemItemをUIBarButtonSystemItem.FlexibleSpaceに設定して これ…

【swift】UITableViewをタップされたらキーボードを隠す(けど画面遷移はしない)方法メモ

はじめに タイトルがわかりずらいんですけど、やりたかったこととしては以下画面としては、UISearchBarがあってUITableViewがあって、UISearchBarを編集中に画面をタップしたらキーボードを閉じる。 けど、素直に実装するとUITableViewのセルがタップされた…

【swift】ios7で画面上下に黒い帯が出たときの対応

はじめに 検索するといくつか出てきました。次回のために端的に手順だけメモ 必要なもの 以下、2ファイルを準備 640×960 Default@2x.png(iPhone4/4s) 640×1136 Default-568h@2x.png(iPhone5/5s)今回はなかったので適当に真っ白な画像を準備 // imageMagic…

【swift】複数のUITextField、UITextViewがキーボードで隠れないにする1番簡単な方法

はじめに まぁ、1番簡単というのは個人的にはなのですが、、、以前にもこちらで同じような内容を書いたんですけど 今回のやり方のほうが個人的には汎用的であって、今後、このやり方でやるだろうなとういことでメモしておく 実装 今回は、1画面にUITextField…

【xcode】xcode7でios7シュミレータを使う方法メモ

はじめに xcode6からxcode7にした際にios7のシュミレータが消えちゃって一苦労しました。 で、検索してみると以下に答えがのってました。 http://stackoverflow.com/questions/31056634/how-can-i-run-the-ios-7-1-simulator-in-xcode-7-0-beta-2 登録中デバ…

【swift】ios9でUITableViewCellの罫線を左端まで引っ張る方法メモ

はじめに UITableViewのデフォルトだと、セル間の罫線が画面左から少し離れたところからスタートしているんですね。 今回やりたかったことはこれを画面の左端からスタートさせることです 実装 で、検索するとこの辺に答えっぽいのがあったのですが、自分のア…

【swift】UITabBarControllerにスライドメニューを追加する方法

はじめに スライドメニューで検索すると色々出てきたのですが、今回は SlideMenuControllerSwiftというライブラリを使わせていただきました。紹介されている使い方をそのままでした。 Podfileに以下を追加して、podinstallするとインストール完了ですPodfile…

【swift】配列を結合する方法メモ

はじめに 今回やりたかったのは以下のようなこと // 2つの配列 var array = ["test1", "test2"] var array2 = ["test3", "test4"] // 1つの配列に結合したい var array3 = ["test1", "test2", "test3", "test4"] 実装方法 // 2つの配列 let array = ["test1"…

【swift】xcode7.1へアップグレートした際のAdMob SDKの対応メモ

はじめに xcode6から7にバージョンアップするときほど、問題は発生しないと思って軽い気持ちでアップグレートしました。 予想通り、ほとんどそのままいけたんですけど、Googleの広告SDKのAdMob SDKの箇所でエラーが出てて、ちょっと詰まったので対応したとき…

【swift】画面遷移をJLRoutesを使ってurlルーティングで管理 by web感覚

はじめに webのフレームワークだと、アクセスされたurlを解析して対象のコントローラを呼び出すっていうのが一般的な処理の流れです。 iosアプリでも同じような形で実装できればコードの見通しがよくなると思って調べてみたのが今回の経緯でした。で、調べて…

【swift】文字列(String型)の末尾の文字を削除する方法メモ

地味にはまったので自分用にメモ // URLの末尾の「?」を削除したい var url = "http://example.com?id=1?" // NSMutableStringにキャストして文字切り出し var _url :NSMutableString = NSMutableString(string: url) _url.deleteCharactersInRange(NSRange(…

【ios】AdHoc(デプロイゲートでの)版プッシュ通知が遅れなくてハマったときのメモ

はじめに 2日間くらいハマりました、、、 理解力が低いのでたぶんリリースのときにまたハマると思いますが、いちおうなんとなく納得したのでメモしておきます Push通知での参考記事 以下の記事はすごいわかりやすいので、このとおりやればできると思います i…

【swift】AFNetworkingで複数ファイルをアップロードする方法メモ

はじめに 余談ですが当初は、ネットワーク系のライブラリはAlamofireを使っていたのですが、xcode7にしてSwift2になったらビルドできなくなりました。Alamofireのバージョンをあげたらビルドは通るようにはなったのですが、ios8以上とういことでした。客の要…

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

はじめに pcにiPhoneをつないでxcodeでcpuやらメモリの使用量やらをリアルタイムに見ることができるのでそれをしました。 画面をひらくたびにメモリ使用量が増えるはわかるんですけど、UiNavigationControllerの戻るとかやってもメモリが減らなくておかしい…

【swift】TTTAttributedLabelでSizetoFitとSizeThatFitsが効かなかったときの対応メモ

はじめに 今回やりたかったのは、 TTTAttributedLabelで生成したラベルにnumberoflinesを設定して高さ可変の対応したときにハマったのでメモしておきます。 解決方法 通常のUILabelだと、以下のコードみたいなかんじでいけたのですが今回はいけませんでした …

【swift】UILable内のurlをリンク化するライブラリ

はじめに TTTAttributedLabelの紹介です今回やりたかったのはラベルで文章を表示して、その中にhttp(httpsも)から始まる文字列があったら HTMLのアンカーみたいなかんじにしてタップされたらブラウザなりWebビューなりを起動する。ということでしたイメー…

【swift】ネットワーク通信状況でのエラー処理を実装する方法メモ

はじめに アプリの場合、インターネットとつながっていない場合の処理を考慮する必要があります。 僕の場合、ある程度アプリを作ってからこのことを考え始めましたが、本来であれば最初から頭にいれて開発を進めるべきだったんですね。で、どうするのがいい…

【swift2】urlを正規表現で解析する方法

はじめに 今回やりたかったのは、カスタムurlスキーマから起動されたときに指定されたurlによって特定の画面を開くとということ。 カスタムurlスキーマについてはあとでまとめます。今回はurlを正規表現で解析する部分をメモします url解析用の関数 たぶん、…

【swift】吹き出しでLINEぽいメッセージアプリのUIを作ったのでメモ

はじめに 今回やりたかったのはこんなかんじの画面です。iosで吹き出しのライブラリとか実装方法とか検索するとちょいちょい出てくるのですが、ちょっと難しかったりで結局自分で実装することにしました。最初は吹き出しの画像を用意してそれを背景にしたUIL…

【swift】UIRefreshControlが動かなくてハマったことメモ

はじめに 今回もまさに超初心者のハマり方をした。 やりたかったのはUITableViewでリスト表示してあるデータを1番上を引っ張ったら最新の情報に更新するっていう 1番最初にみんなやりそうなやつです。Pull To Refreshとかいうのかな 実装方法 けっこういろん…

【swift】UISearchBarのアイコン(虫眼鏡の)を非表示(というか削除)にする方法メモ

やりたかったことはタイトルのとおりなのですが、地味に時間かかりました // UISearchBarを生成 var searchBar: UISearchBar = UISearchBar() for subview in searchBar.subviews { for subview2 in subview.subviews { if var _subview2 = subview2 as? UIT…

【swift】初案件でつかったライブラリまとめ by sns系アプリ

はじめに はじめてアプリ案件を経験していろいろありましたが、実際につかわせていただいたライブラリをメモしておきます。 経験者の方からしたら使いすぎだろっていわれそうですが、、、僕みたいな素人でもつかえたのでおなじような初心者のかたでもつかえ…

【swift】ios7対応でしたことをメモ

はじめに ios8のことしか考えずに開発を進めて、ios7もまだまだ利用者がいるので当然対応してあるはずですよね? ということで即席で対応中です。まだ途中なんですけど、とりあえずこれをやったら形になったということをまとめておきます ・UINavigationBar…

【swift】無限スクロールするUItableViewを実装する方法メモ

はじめに 今回やりたかったのは、またありがちなこんな感じの画面です。 といってもやりたかったのは、こちらで書いた内容をコードレベルにしたもので。 【swift】uitableviewが重いときに対処すべき2つのこと - とりあえずphpとかUITableViewを使うときにパ…

【swift】uitableviewが重いときに対処すべき2つのこと

はじめに 今回やりたかったのは、twitterのタイムラインみたいな無限スクロールを軽くしたいということ。今までも重いのは知ってたんだけど放置してきましたが、いよいよ開発も終盤にさしかかってきてパフォーマンスやら細かい部分も修正しないとならなくな…

【swift】カスタムUIView・カスタムUITableViewCell作り方メモ

自分用にメモ UIView、UIButton、UIImageView・・・ class CustomView: UIView { override init(frame: CGRect) { super.init(frame: frame) } required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } } UITableViewCell class CustomTabl…

【swift】fabricでtwitter投稿する方法メモ

はじめに まず事前準備でやることは以下 1. こちらのtwitter公式のfabricにユーザ登録(返信メールが遅かったりサイトが全部英語だったり地味にはまった)2. fabricからsdkをダウンロードしてインストール3. sdkをプロジェクトに組み込む(xcode)4. twitter…

【swift】UIButtonひな型

アプリ開発してると、サンプルアプリ作ってみてうまくいったら開発中のアプリに組み込むっていうながれが多いんですけど、僕の場合はサンプルアプリつくるさいにとりあえずボタンをおくことが多いんですが、そのボタンをおくのに過去のソースから探して・・…