Brew the Mash

クラフトビール好きなITエンジニア@mashmorgan_jpの開発メモなど

【iOS】【Google】Maps SDK for iOSで任意のUIViewに地図をセットしたい場合は、Storyboard上で指定したほうが良い

基本的な内容だけど公式にも特に記載なかったのでメモがてら。

GMSMapViewを全画面ではなく一部のUIViewに表示させたいことは多々あると思います。

私はこれまで空のUIViewを作ってそこにコードでGMSMapViewを生成しaddSubViewしていたのですが、どうもサイズが意図した通りにならず都度、微調整してました。

そこでどうにかならんかと探してみた結果、こんな記事を発見。

つまりStoryboard上でClassをGMSMapViewにして、outletで繋ぐだけでOK。

言われてみればその通りなんですが、私は長年気づけなかったのでメモっときます。

 

参考記事:

stackoverflow.com

【Google】Places Libraryのレスポンスで緯度経度が取得できなかった問題

Google Places Libraryを使って周辺施設情報を取得するWebアプリを作成していたのですが、どうしてもResponseの緯度経度(LatLng)が取得できませんでした。

console.log(place.geometry.location);
// ->(39.xxxx,135.xxx)というような出力になる
console.log(place.geometry.location.lat);
// ->[NG] return($a)みたいな出力になる

型がObject型でないとか色々試しましたが、結論から言うと取得方法がダメだったようです。

console.log(place.geometry.location.lat());
// ->[OK] 39.xxx で取得できた

Stackoverflowに全く同じ内容があったのでリンク貼っときます。ほんとにridiculousですね。。

stackoverflow.com

【ConohaVPS】「Jitsi Meet」テンプレートで2人目接続がエラー切断される場合の解決方法

普段お世話になっているConohaVPSで、Jitsi Meetなるオープンソースのビデオ会議ソフトのテンプレートが用意されたとのこと。(ジッチと呼ぶらしい)

最近流行っているZoomを嫌がる人もいるので試しに構築してみました。

support.conoha.jp

基本的には上記の手順に沿ってVPSサーバーを立ち上げるだけなんですが、そのまま起動すると2人目が参加した時点で何故か会議室がエラーで落ちる。。。

2日かけてやっと原因を突き止めたのでメモとして残しておきます。

原因は、一部ドメインが正しく設定されていなかったため。

conohaVPSコンソールで以下を実施。

$ grep -r meet.example.com /etc/jitsi/

検索結果の有効行として以下が出てくるので全て正しいFQDNへ置き換える。

→例でmeet.example.comhogehoge.com に置き換え

/etc/jitsi/videobridge/sip-communicator.properties:org.jitsi.videobridge.xmpp.user.shard.DOMAIN=auth.meet.example.com

/etc/jitsi/videobridge/sip-communicator.properties:org.jitsi.videobridge.xmpp.user.shard.MUC_JIDS=JvbBrewery@internal.auth.meet.example.com

/etc/jitsi/jicofo/sip-communicator.properties:org.jitsi.jicofo.BRIDGE_MUC=JvbBrewery@internal.auth.meet.example.com

以下でサービスを再起動

$ systemctl restart nginx.service jicofo.service jitsi-videobridge2.service

これで無事に使用可能となりました! セキュリティとか気になるのでこの辺は設定してたほうが良さそう。

jitsi.github.io

あとデフォルトだとポートが全オープンなのでufw enableファイアウォールONとポートも制限しといたほうが良いですね。

使用感はZoomと全く変わらないし、3人で3時間くらい打ち合わせしたけど全く途切れることなかったので実務で使うのも問題なさそうですね。

一件落着。

【ConohaVPS】rootパスワード忘れたぁぁーー!時の最終手段

かなり昔に作成した、Conoha VPSを久しぶりに更新しようと思いまして。

rootパスワードはあったかなーどこかなー。。。ない。

しかも昨年末にパソコン内のデータ整理もしたため古いメモ的なものも残ってない。。。

あーこりゃ建て直しかなぁと思ってたら「ちょっと待ったぁぁー!」

公式のページを見るとヒントがさり気なく書いてあるではないか。

rootパスワードやVPS内で作成したアカウント情報ついて弊社側では確認ができません。サーバー再構築やシングルユーザモード・レスキューモードにてパスワードの再設定をご検討ください。

基礎が出来ていないアテクシ、ざっくりとお勉強。

どうやらシングルユーザモードで起動すればパスワード入力なしでrootログイン出来るので、そこでpasswdでパスワード変更すればイケるかもよ?ってことらしい。

とりあえず色々試してみた結果、こちらのサイトの内容が最もマッチ(というかほぼこのままでOK)していた。

https://it.rin-ka.net/centos7-single-mode/

注意点というか補足があるとすれば以下くらい。

  • ConohaVPSの管理画面から接続
  • [Ctrl]+[Alt]+[Del]キーを特殊キーで送信
  • 起動画面でキーボードの↑↓を適当に連打してるとOS選択画面になる
  • たくさんあるのでResqueでない最新のOSを選んで"e"キーでOK

あ、あとMacbook(英語キーボード)だと"="が入力できなかったのでWindowsからやりました。ここも地味にストレスだったな。。。

普段からちゃんと管理していればこんな作業は不要なので、今後はまとめて管理するよう気をつけなはれやっ!(自分)

【iOS】SFSafariViewControllerがblank(真っ白)になってしまう

古いiOSアプリ改修時にちょっと躓いたのでメモ。

SFSafariViewControllerでURLを正しく設定しているのにも関わらず、ページが真っ白になってしまう現象が発生。

どうやらViewの指定がよろしくないケースみたい。

presentの指定時にrootViewControllerを指定してあげることで解決。

NG

let safariViewController = SFSafariViewController(url: URL)
present(safariViewController, animated: true)

OK

let safariViewController = SFSafariViewController(url: URL)
view.window?.rootViewController?.present(safariViewController, animated: true)

【iOS】XCode11.2でApp Storeへアップロードできない

タイトル通り!XCode11.2.1以降へバージョンアップするとエラー消えた! そして参考記事もそのまま!

dev.classmethod.jp

今年のAppleは盛り込み過ぎて品質がほんと芳しくないですね。。。

【GitUp】ローカルブランチをリモートにPushできない

GitUp、非常に高速なので便利に使っているのですが、先日ローカルブランチをリモートにPushしようとしたら Failed connecting to "origin" remote: authentication required but no callback set というエラーが発生。

解決方法は、ターミナルで以下のコマンド実行すればOKでした。

ssh-add ~/.ssh/id_rsa

参考元はこちら

github.com

2019/06/04追記

Macを再起動すると設定が消えてしまうので都度コマンドを叩く必要があります。 恒久的に対策する場合はこちらも合わせて実施ください。

qiita.com