コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

Xcode 2019

これまでのあらすじ

FBIの捜査官フォックス・モルダーは組織内でもとびきりの「変人」(スプーキー)として名高い。自他共に認めるオカルト信者かつ陰謀論者というモルダーだが、そうした一方で数々の難事件を解決してきたキャリアを持つ。彼は事実上一人でX-ファイル課という閑職部門を担当していた。そんなモルダーのもとにダナ・スカリーという組織内でもとびきりの才媛が送り込まれる。常識的かつ良識的な彼女は……

冒頭に謎のあらすじを差し込みましたがタイトルはXcodeなので、Xcodeの話とかしていきます。X-Fileの話はしません。そういうわけで今年はアプリのようなものをつくれたらいいなってことでなんか触っていこうと思いました。目標は年内リリースと言いたいところですが、僕はリンゴ社にびた一文お布施する気はないし、別に作りたいものないので思い付いたものを実装なんてことをしばらくやっていこうと思います。


そろそろSwiftいじってないでアップルでアップリつくる準備とかしようと思ったので

ということで、WKWebView使うと5分でWebブラウザできるよって言う風の噂を聞いたので、今日はそれでも作っていきます。なんか他にもWebブラウジングできる実装できる機能があるんですけど、公式ドキュメントみたら以下のようなこと書いてあるので、まあこれの使い方を覚えていきます。

Important
Starting in iOS 8.0 and OS X 10.10, use WKWebView to add web content to your app. Do not use UIWebView or WebView.

「UIWebView 」とか「WebView」使うなって推奨してるんですよね。なんでなのかは知らないですけど、そういうことなので「WKWebView 」使います。


つくった

はい、早速だがこんなのできました。5分でできた。
f:id:andron:20190101112054j:plain
僕のブログだけを閲覧するクソアプリができました。戻るとか進むとかそういう機能はありません。でも、素の表示させるHTMLの方をがんばればそれだけでアプリとしてもいける気がしません?

以下、クソース。

import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate{
    
    var myWebView: WKWebView!
    override func loadView() {

    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        let webConfiguration = WKWebViewConfiguration()
        myWebView = WKWebView(frame: .zero
            , configuration: webConfiguration)
        myWebView.uiDelegate = self
        view = myWebView
        let myURL = URL(string: "【ここにURL】")
        let myRequest = URLRequest(url: myURL!)
        myWebView.load(myRequest)
        
    }
}

適当に作った結果「loadView -> viewDidLoad」の順で呼び出されるということがわかった。これ違いなんなんですかね?とりあえずStoryboardと紐づいていたりするところは「viewDidLoad」がいいっぽいです。SwiftだけいじっててもどうにもiOSの仕様が頭に入らないのでこうやって作りながら覚えていくのがいいと僕は思う。まあ、IDEの補完機能がなんとかしてくれるので気にしないと覚えるとかそういうのには無縁になりますが……。

参考
WKWebView - WebKit | Apple Developer Documentation
ぶっちゃけここのソースの丸パクリです。戻るとか進むとかの機能は別途に実装が必要っぽい……。





ホーム画面アイコンを作ってみる

んで、このまま丸パクリのコードだけのせて動いたーやったーってやっても面白くないので、ホーム画面のアイコンもつくってみます。といっても、コードを書く必要はなく「Assets.xcassets->Application」に画像をねじ込むだけでできるっぽいです。へー。

f:id:andron:20181228070638j:plainf:id:andron:20181228070540j:plain

アイコンつくるとなんかアプリつくったって気になっていいですよね。中身はボロボロなんですが気にしてはいけない……。


おわり