Swift実践ブログ

ド文系アラサー社会人が独学でプログラミングを学ぶ記録

【Swift】WKWebViewでHTMLを表示する

■はじめに WKWebViewでHTMLを表示してみたので記録に残します。 ■開発環境 ・Xcode 10.1 ・Swift 4.2.1 ■サンプル import UIKit import WebKit class ViewController: UIViewController { var webView: WKWebView! var loadString: String = "{ここにHTMLが…

【Swift】WKWebViewで進む/戻る/更新(リロード)機能を実装する

■はじめに スワイプで進む/戻る/更新(リロード)機能を実装してみたのでまとめます。 ■開発環境 ・Xcode 9.4.1 ・Swift 4.1.2 ■進む/戻る機能の実装 インスタンスプロパティ「allowsBackForwardNavigationGestures」で、スワイプで進む/戻る機能を有効にで…

【Swift】WKWebViewでリンク先が開けない場合の対処法(ATS/target=”_blank”)

■はじめに 【Swift】WKWebViewでhttpsのページを表示できない原因(ATS) - Swift実践ブログでは、httpsのページに遷移できない現象について取り上げましたが、今回はリンク先が開けない現象に関してまとめたいと思います。 ■開発環境 ・Xcode 9.4.1 ・Swift…

【Swift】WKWebViewでhttpsのページを表示できない原因(ATS)

■はじめに WKWebViewでhttpsのページを表示できずはまってしまった時に調べたことのまとめ。 ■開発環境 ・Xcode 9.4.1 ・Swift 4.1.2 ■ 現象 httpのページを表示するにはATSの設定が必要ですが、一部httpsのページなのに表示できないもの(画面が真っ白にな…

【Xcode】All Exceptionの設定方法(デバッグ)

■はじめに デバッグでバグの原因を特定するのに役立つAll Exceptionの設定方法についてメモ。 ■環境 ・Xcode 9.4.1 ■設定方法 (1)「Breakpoint Navigator」内にある「Exception Breakpoint」を選択 (2)All Exceptionが設定される ※Break時に原因のログを…

プログラミング未経験からSwiftで事業会社のエンジニアになるまで(学習編)

■はじめに 自分がプログラミングを始める時に、未経験からエンジニアになった体験談を探したのですが、PHPやRubyなどを使ったWebアプリを使ってエンジニアになる話は多いものの、未経験でSwiftを最初に触るパターンはほとんどなかった気がします。 そのため…

【Swift】UserDefaultsを使ってUITextFieldに入力したテキストを自動で保存する

■はじめに 【Swift】UserDefaultsを使ったテキストの保存と読み込み - Swift実践ブログでは、「保存」ボタンを押すことでテキストを保存しました。今回は、「保存」ボタンを使わずに、入力したテキストを自動で保存できるように変更していきたいと思います。…

【Swift】UserDefaultsを使ったテキストの保存と読み込み

■はじめに UserDefaultsを使ったテキストの保存/読み込みについて試したので記事に残します。 ■開発環境 ・Xcode 9.4.1 ・Swift 4.1.2 ■実装 (1)Main.storyboard (2)ViewController.swift import UIKit class ViewController: UIViewController, UITextField…

【Xcode】「iPhone is busy: Preparing debugger support for iPhone」の対処法

■はじめに 表題のエラーに関して、新しいパターンの解決方法を見つけてしまった?のでメモ。 ■環境 ・Xcode 9.4.1 ■基本的な解決方法 今まで、以下3つの方法のいずれかを試せば解決できていました。また、ほとんどのケースがiTunesを終了させることで解決す…

【Bootstrap】Bootstrap4のテンプレートを試してみる

■はじめに CSSフレームワークまわりに興味があったこともあり、Bootstrapを利用したテンプレートを触ってみました。 ■環境 ・MAMP 4.4.1 ・Bootstrap4 ■試す手順 1.Start Bootstrapのサイトへアクセスしテンプレートを選ぶ 今回は「Creative」のテーマで試し…

【PHP】Visual Studio Codeでデバッグの設定(PHP Debug/XDebug)

PHP

■はじめに 業務でPHPに触る機会があり、プライベートでも環境構築をやってみようとしたのですが、PHP Debug/XDebugの設定でつまずいたのでメモです。 ■開発環境 ・Visual Studio Code 1.25.1 (1.25.1) ・MAMP 4.4.1 ・PHP 7.2.1 ・PHP Debug 1.12.3 ■つまず…

【Swift】Swift4でJSONのパース(SwiftyJSONを使わない方法)

■はじめに 以前、【Swift】APIからPOSTでデータ取得する(Alamofire/SwiftyJSON) - Swift実践ブログでAlamofireとSwiftyJSONを使いましたが、今回はSwiftyJSONを使わずにパースしてみました。 ■開発環境 ・Xcode9.3.1 ・Swift4.1 ■実装部分 今回はOpenWeather…

【Swift】ジェネリクスとは

■はじめに GitHubに上がっているコードを読んでいたところ、ジェネリクスが使われていたので調べてみました。 ■ジェネリクスとは 「配列型やディクショナリ型(辞書)でも型に左右されずに値を格納したり取り出すことが可能」 「型を気にせずにさまざまな処…

UI/UXについて調べてみる

■はじめに アプリ内のレイアウトを検討する際に、UI/UXについて調べたメモです。 ■UXの質を左右する要素 ・価値や有用性希望した結果や欲していた情報が得られたか否かは、UXの中でも特に大切な要素。役に立った、便利だった、楽しめたなど、ユーザーにとっ…

【Swift】Swift4でチャットボットを作る(Repl-AI)

■はじめに AIチャットボット作成サービス「Repl-AI」のAPIを利用して、以下記事で作ったチャットアプリへチャットボットの機能を追加してみました。 【Swift】Swift4でチャットアプリを作る(JSQMessagesViewController/Firebase) - Swift実践ブログ ※本記…

Postmanを試してみる

API

■はじめに 最近APIを叩くことが度々あるのですが、知り合いのエンジニアの方から「Postman触ってみなよ」とアドバイスいただいたので試してみました。 ■Postmanとは 「OAuth認証 〜 アクセストークン取得 〜 ユーザーの新規登録 〜 ユーザー情報取得 〜 ユー…

【Swift】APIからPOSTでデータ取得する(Alamofire/SwiftyJSON)

■はじめに AlamofireとSwiftyJSONを使いGET通信でデータ取得をしたことはあったものの、POST通信ではやったことがなかったので、今回取り組んだ内容を記事に残します。 ■開発環境 ・Xcode9.3.1 ・Swift4.1 ■実装部分 // {}にはクエストURLを記述 let URL = "…

【Swift】「FirebaseCore/FIRApp.h not found」の原因

■はじめに Firebaseを導入しているプロジェクトをxcodebuildコマンドでビルドすると、 「FirebaseCore/FIRApp.h not found」のエラーが出てしまいました。 あまりにくだらないミスだったのですが、 初心者であればやりかねないかも・・・とも思ったので、一…

【Swift】「Could not build Objective-C module 'Firebase'」の対処法

■はじめに Firebaseを導入したプロジェクトをビルドした時に、「Could not build Objective-C module 'Firebase'」のエラーが出てしまいました。エラー対処の方法に関して書きたいと思います。 ■開発環境 ・Xcode9.3.1 ・Swift4.1 ■対処法 以下のフローでキ…

【Swift】「Use of undeclared type 'DatabaseReference'/Use of unresolved identifier 'Database'」の対処法

■はじめに Firebaseを導入した時に出た表題のエラーに関して、状況と対処した内容に関して書きたいと思います。 ■開発環境 ・Xcode9.3.1 ・Swift4.1 ■エラーが出た時の状況 CocoaPodsを使用して、Firebaseをインストール。 その後、以下のようにデータベース…

【Swift】Swift4でチャットアプリを作る(JSQMessagesViewController/Firebase)

■はじめに JSQMessagesViewControllerとFirebaseを使ってリアルタイムチャットを作ってみました。以下参考にさせていただいた記事はSwift2で書かれてるので、Swift4でも動くように直したコードを本記事に残します。ライブラリの導入等、実装以外の部分は以下…

【Swift】Swift4でFirebaseに触ってみる

■はじめに Firebaseに触ってみたくなったので、以下記事を参考にさせていただき試してみました。 Swiftで始めるFirebase入門 - Qiita ■Swift4での書き方 上記記事はとても丁寧な説明なのでスムーズに試すことができるかと思いますが、Swift4だと若干書き方が…

【サービス開発】2日目:アイデアの検討

■はじめに サービス開発2日目です。概要に関しては【サービス開発】サービス開発に挑戦してみる - Swift実践ブログをご覧ください。 今回は、アイデアの検討を行なうために、課題設定とソリューションの設定に関してブレストしました。ブレスト内容を載せて…

【サービス開発】1日目:アイデアを考える観点

■はじめに サービス開発1日目です。概要に関しては、【サービス開発】サービス開発に挑戦してみる - Swift実践ブログをご覧ください。 今回は、アイデアを考える観点について考えるべく、まず以下記事の「アイデアに気づく」「アイデアの検証」に関して要点…

【Swift】ARCと循環参照の概要

■ARC(Automatic Reference Counting)とは インスタンスを生成するたびに、参照カウントを用いてそのインスタンスのためのメモリ領域を自動的に確保、不要になったタイミングでメモリを自動的に解放する方式です。デフォルトは強参照となります。 ■循環参照…

【サービス開発】サービス開発に挑戦してみる

■はじめに サービス開発をやってみたいので、そのプロセスをブログに残していこうと思います。 ■サービス開発の目的 ・純粋にサービス作ってみたい ・サービス開発の全体像を体験してみたい ■開発期間の想定 遅くても企画からリリース後の計測まで6月末まで…

【Swift】クラスメンバーとインスタンスメンバーの使い分け

■はじめに クラスプロパティの説明として、「インスタンスに依存しない値を扱う際に使う」、クラスメソッドの説明として「インスタンスに依存しない処理を扱う際に使う」とありますが、インスタンスメンバーとの使い分けがわかるようなわからないような・・…

テスト配信ツールの選定(TestFlight/DeployGate)

■はじめに iOSのテスト配信ツールには「TestFlight」がありますが、「なんとなくTestFlight選びました」というのもなぁ・・・と思い、「DeployGate」と併せて詳細を調べてみました。 ■前提:調べる前の選定基準 調べる前は以下2点を基準に考えていました。基…

【Swift】Computedプロパティって必要なの?(set/get)

■はじめに Swiftの入門書をやっていて、Computedプロパティの定義や書き方は掲載されているものの、具体的にどんな時にどんな目的で使うのか掲載されていませんでした。このままでは自分で開発する時に使えないので調べてみました。 ■Computedプロパティとは…

fastlaneとは

■はじめに 継続的デリバリーを実現するfastlaneに関して調べてみました。 ■そもそも継続的デリバリーとは 継続的デリバリーは、継続的インテグレーションを拡張したもので、すべてのコード変更が、ビルド段階の後にテスト環境または運用環境 (あるいはその両…