- Published on
ホームページをアプリ化する、xcodeとandroidのコード
目次
ホームページをアプリにして公開したい方向けの記事です。
xcodeとandroid studioでのコードです。
かなりシンプルです。
他にはmonacaでもできるようですが少し前から基本有料になったようです。
iosでアプリにする
xcodeを使います。このコードはxcode10とswiftです。
ホームページ・サイトはUlWebviewは非推奨になったようなのでWKWebViewで表示させます。
controllerで処理を書く。
// FirstViewController.swift
import UIKit
import WebKit
import GoogleMobileAds
class FirstViewController: UIViewController {
var bannerView: GADBannerView!
private var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// WKWebViewを生成
webView = WKWebView(frame:CGRect(x:0, y:0, width:self.view.bounds.size.width, height:self.view.bounds.size.height - 40))
// フリップで進む・戻るを許可
webView.allowsBackForwardNavigationGestures = true
// Googleを表示
let urlString = "https://google.com"
let encodedUrlString = urlString.addingPercentEncoding(withAllowedCharacters:NSCharacterSet.urlQueryAllowed)
let url = NSURL(string: encodedUrlString!)
let request = NSURLRequest(url: url! as URL)
webView.load(request as URLRequest)
}
}
実際の公開はタブバーをつけたりしないとリジェクトされるかもしれないので注意です。
タブバーはcontroller作ってストーリーボードで紐づけてアイコン設定します。
タブバーをつけるとこんな感じになります。
アプリは「Puroduct」「Archive」からビルドしてipaファイルにします。
シミュレーターの機種選択のところを「Generic ios Device」にしないとArchiveがグレーアウトして選択できないので注意しましょう。
App Store Connentへの登録はProvisioningの設定などが必要ですが省略します。
androidでアプリにする
manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test">
//これ追加
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
MainActivity.java
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
//ここ追加
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebSettings;
import android.view.View;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//サイト表示部分
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient());
//googleを表示
myWebView.loadUrl("https://google.com");
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.getSettings().setLoadWithOverviewMode(true);
myWebView.getSettings().setUseWideViewPort(true);
}
}
アプリを作ったらBuildのGenerate a signed app bundle/APKからビルドしてapkファイルにします。
その後はgoogle consoleでアプリを登録する流れになります。
swifの参考記事
https://qiita.com/fromage-blanc/items/079bc8d6da34ac90fecf
android studioの参考記事
https://techacademy.jp/magazine/3503