iOS: Migrate to Swift
This is in preparation for moving to SwiftUI at some point.
This commit is contained in:
parent
e039b7d5f5
commit
83b21ee89e
25 changed files with 816 additions and 1266 deletions
84
iOS/AboutController.swift
Normal file
84
iOS/AboutController.swift
Normal file
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||
*
|
||||
* https://heap.zone/git/scrypt-pwgen.git
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice is present in all copies.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
import UIKit
|
||||
|
||||
class AboutController: UIViewController, UIWebViewDelegate {
|
||||
@IBOutlet var webView: UIWebView?
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
self.automaticallyAdjustsScrollViewInsets = false
|
||||
|
||||
let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"]
|
||||
webView?.loadHTMLString(
|
||||
"<html>" +
|
||||
"<head>" +
|
||||
"<style type='text/css'>" +
|
||||
"body {" +
|
||||
" font-family: sans-serif;" +
|
||||
"}" +
|
||||
"" +
|
||||
"#title {" +
|
||||
" font-size: 2.5em;" +
|
||||
" font-weight: bold;" +
|
||||
"}" +
|
||||
"" +
|
||||
"#copyright {" +
|
||||
" font-size: 0.9em;" +
|
||||
" font-weight: bold;" +
|
||||
"}" +
|
||||
"</style>" +
|
||||
"</head>" +
|
||||
"<body>" +
|
||||
"<div id='title'>" +
|
||||
" scrypt-pwgen \(version ?? "")" +
|
||||
"</div>" +
|
||||
"<div id='copyright'>" +
|
||||
" Copyright © 2016 - 2019 Jonathan Schleifer" +
|
||||
"</div>" +
|
||||
"<p name='free_software'>" +
|
||||
" scrypt-pwgen is free software and the source code is available" +
|
||||
" at <a href='https://heap.zone/scrypt-pwgen/'>here</a>." +
|
||||
"</p>" +
|
||||
"<p name='objfw'>" +
|
||||
" It makes use of the" +
|
||||
" <a href='https://heap.zone/objfw/'>ObjFW</a> framework and" +
|
||||
" also uses its scrypt implementation." +
|
||||
"</p>" +
|
||||
"</body>" +
|
||||
"</html>", baseURL: nil)
|
||||
}
|
||||
|
||||
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest,
|
||||
navigationType: UIWebView.NavigationType) -> Bool {
|
||||
if #available(iOS 10.0, *),
|
||||
navigationType == UIWebView.NavigationType.linkClicked,
|
||||
let url = request.url {
|
||||
UIApplication.shared.open(url)
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue