Command PhaseScriptExecution failed with a nonzero exit code の対処

Carthageのライブラリが読み込めないとかそういう理由に一見見えるエラー.

シミュレータビルドは通るのに実機ビルドしようとするとこれが出てコケる

修正方法はこれ.

Its because of Keychain Access.
 Open Keychain Access
 Right Click Login Tab
 Lock Keychain Login
 Right Click Login Tab again
 Unlock Keychain Login

キーチェーンアクセスの問題らしい. 最近macicloudに紐づくappleidを別のidに変えたのでそれが原因かも.

・参考

stackoverflow.com

大手キャリアからMNPで格安simに移行した

今年の新型iPhoneは買うと決めていたので,事前予約して発売日にAppleStoreに出向いて手に入れた. そこで,この機会なので長く使っていた大手キャリアもMNPして格安simに移行することにした.

その手続きを今朝行ったところやり口の汚さにびっくり. MNPを行うためには「MNP予約番号」なるものを発行する必要がある. これはweb上から発行することはできず,電話で直接オペレータの方と話すことでしか発行できない. この時点でもうゲンナリであるが,この方法しか大手キャリアを脱出できないのである. 一応あるにはあるけれど,ショップに出向くのは面倒臭すぎる.web上から発行できるようにしてほしい.

オペレータは転出引き止め係と番号教える係に分かれていていて,引き止めはニャンニャン声の女の人が出てきて情に訴えかけてくる. 〇〇様は9年間も継続された大切なお客様で〜とか言われても知らんがな,という感じ. ここで,転出の意志が固いと分かったとなると,途端に番号教える係である野太い声のおじさんに回される. なんとも厳しい分業制度だなと思った.

高速片手タイピングへの道

年始に骨折した時に書いた記事の下書きが残っていたのでちょっと書き加えて公開する. どうしても片手でキーボードを打たないといけない人に役立つこと間違いなし!


2018年の抱負は,初詣の出先で左手を骨折した時に"健康"でいくと決めた . まさか人生初の骨折を修論執筆のこの時期にやらかすとは…

というわけで,修論提出までの残り一ヶ月を,なんと右手一本の縛りプレイでこなすことが決まった. かなり厳しいが,なってしまったものは仕方ないので,なんとか片手でやりきれるように準備している. 今回はそのための"片手タイピング"について,片手タイピングの練習がてら書く.

準備

片手タイピングについてはこの記事が詳しい.

qiita.com

今回はここで紹介されているMirror-QWERTYを使うことにした. この方法は,スペースキーを押している間キーボードの並びを反転させることで,片手での効率的なタイピングが可能になるというものである.

導入の手順については,記事の内容が少し古いため補足する. Mirror-QWERTYの導入には,Karabiner-Elementsを使った. 公式にオプションが用意されているので,それを導入すると手っ取り早い. Preference -> Complex modifications -> Rules -> Add rules -> import more rules from internetで,ブラウザが立ち上がるので,その中からHalf-QWERTZ (German one-handed layout)を探してImportする.

自分はUSキーボードを使っていて,左右のコマンドキーに英かなの変換を割り当てていたが,特にコンフリクトすることなく導入できている.

その後

数ヶ月経って,骨折もすっかり完治し,元気に指が動いている. 片手キーボードの設定はというと…もう外してしまった… 両手でキーボードを使う時に,誤タイプが頻発して使い物にならない.

東京一人暮らしチェックリスト・スタート編

長きに渡る学生生活を終えた僕は,ついに就職して社会で働くこととなった. 配属地はなんと東京.田舎からの上京というなんともありがちな状況… 今回は生活を始めるにあたって必要な,一人暮らしの家探しなどについて覚えているうちに書く. 次に自分が引越しするときにもう一度思い出したい.

なお,現在僕が住んでいる部屋はユニットバスで1K8畳.

事前準備

  • あらかじめsuumo,homesで候補をリストアップする
    • 実際の部屋の状態がsuumo,homesに反映されるまで2,3日の遅れがある,2,3月は繁忙期で激しい部屋の争奪戦となっているので,良いなと思った物件はsuumo.homesにあったとしても大体なくなっている.あまり絞り込まずにいっぱい候補を挙げておく.
    • やたら条件がいい物件がある場合,事故物件・近隣トラブルによる値下げの可能性がある.不動産屋に直接問い合わせると,電話の中だとそれを明らかにしてくれずとりあえず店に来いと言われることがある.だまされないように.
  • とりあえず不動産屋に行く
    • ネットだけで部屋を確保することは難しい.とりあえず行く.
    • 周りから聞く印象として,大手の不動産屋の方が丁寧に対応してもらえる印象がある(要出典).
    • 契約の書類を書き終えた瞬間から対応が杜撰になるところもあるらしい.

内見

  • あらゆる寸法をはかる
    • カーテンの高さ,幅
    • 部屋の奥行き,高さ,幅
  • 両隣上下の隣人がどんな人が住んでいそうか
    • あんまりよくないけどベランダからチェック
  • 駅から自宅まで歩く
    • 道中に何があるか確認
    • 距離感を体感で得る
  • ユニットバスに磁石はくっつくか?
    • めちゃくちゃ狭いユニットバスでは磁石でくっつけるタイプの棚を使うと便利
  • 鍵の受取は時間を自由に動かせるか?
    • 急な予定変更で元の場所に長くいたくなる事がある.
    • 管理会社の定休日を確認
  • 近隣に臭い匂いを発する飲食店はないか?
    • 焼肉屋など,夜じゃないとわからないパターンがある
    • 内見を昼頃に行ったため,夜に焼肉屋の匂いが流れてくることがわからなかった.

  • 部屋に到着から引っ越しの荷物が届くまでに時間があくとつらい
    • 持ち込んだ荷物しかない無の部屋で生活することになる.
      • 実際自分は無の部屋で2晩過ごした.
      • ダンボールを敷布団にするとあったかい.
    • とにかくなんでも良いので照明を持っていく.
      • 運送会社に照明を預けてしまったので照明なしで2晩を過ごした,照明すらない部屋だと一切のやる気をなくす.
  • 住民票さっさと移す準備をする
    • 転居する14日前から転居の届けを現住所の市役所などでできる
      • 転居後は転居から14日以内に
    • インターネットの契約に新しい部屋での身分証明書を提出する必要
      • 前の住所のまま身分証明を行った場合,改めて送る必要が出てくるので非常に面倒.
    • あらゆる行政サービスを受けれるようになる.
    • 個人事業主青色申告する場合,納税地の変更届を出す.
      • 転居先の税務署に行ったら転居前の税務署に出せとの指示をもらった.失敗した.

まだ生活を始めてから2週間ほどしか経っていないので,これから「あれやっとけばよかった」みたいなのが出てくると思う. 落ち着いた頃にまた纏めるつもり.

学会ラスト

学生としての最後の学会に参加するために東京に来ている. インタラクションとiuiの2つの学会をまたぐことになっていて,1週間の長期滞在である. 4月からずっと東京にいるのにね.

自分の発表として,インタラクションでは1件のデモ発表をした. 作っている時は実装の粗さばかりが目について,全くもって良さがわからなかったのであるが,実際に人に触ってもらうと面白いと言ってもらえたのでよかった. ただ,それと同じくらい「これはどんな時に使うの」という質問を受けた. こっちが聞きたいぐらいやがな.

他の発表を見ていても,背景,問題を正しく設定することの大切さを感じる. 背景,問題設定がうまくないと,どれだけ実装に力を入れても何も解決されていなかったりする. 逆にうまく行っていると,最小の実装量であっても評価されたりする. 先生が飲んでいる時に「どれだけ楽をして最大の成果を出せるか追求していくのが研究のミソ」といったことをおっしゃっていて,まさにその通りだと思った.

MultipeerConnectivityで"[ViceroyTrace] [ICE][ERROR] Send BINDING_REQUEST failed"などとエラーが出て接続できない場合の対処

MultipeerConnectivityのエラーにずっと悩まされ続けていたのをとりあえず解決にこぎつけたのでメモ.

概要

猛烈にエラーを吐いて働かないのを,暗号化周りのコードを加えればとにかく動くようになった. 元々不具合が多いフレームワークらしく,普通に使っているだけでもエラーを吐く. どうしてエラーが出るのか,根本の原因までは特定していない. 原因知っている人いたら教えて欲しい.

動作環境

実際に解決に至った動作環境は下の通りであるが,前バーションを利用した環境でも同様のエラーが出ることを確認している.

症状

  • とにかく端末同士が接続できない
  • 端末を発見してからsession(_ session: MCSession, peer peerID: MCPeerID, didChange state: MCSessionState)が呼ばれてconnectingになるが,接続に失敗してnot connectedになる
  • 実際に吐いているエラーの文面
[ViceroyTrace] [ICE][ERROR] Send BINDING_REQUEST failed"
Failed to send a DTLS packet with 107 bytes
[GCKSession] Not in connected state, so giving up for participant [0033CD39] on channel [0].
[ERROR] ICEStopConnectivityCheck:2688 ICEStopConnectivityCheck() found no ICE check with call id (3394873)

ただ,解決後も消えなかったものがある.

解決策

  1. MCSessionの初期化時にencryptionPreference.optionalにする
let session = MCSession(peer: self.ownID, securityIdentity: nil, encryptionPreference: .optional)

2.MCSessionDelegateにdidReceiveCertificateを実装する

func session(_ session: MCSession, didReceiveCertificate certificate: [Any]?, fromPeer peerID: MCPeerID, certificateHandler: @escaping (Bool) -> Void) {
     certificateHandler(true)
}

以上2点の変更を施すとconnectedが出て,接続できるようになった.

おまけ

Edit Scheme -> Arguments -> Enviroment Variables でOS_ACTIVITY_MODEをdisableにすると邪魔なエラー類が出力されないようになるので便利.

感想

動いてくれないとかなりまずかったので助かった. 先にも書いたが,MultipeerConnectivity自体がかなり怪しいらしく,調べていると至る所で同じような症状に引っかかっている人を見つけることができた. 今後は,なるべく使わないようにしていきたい.

参考

stackoverflow.com

forums.developer.apple.com

学会発表・山形かみのやま温泉にて

学会発表で山形県かみのやま温泉へ行った.

f:id:teakun:20171118142454j:plain
会場の温泉宿から見えた紅葉の様子.これぐらいしか見るものはなかった.
北陸の方へ行くのは初めてでそれなりの寒さを予想していたが,雪がちらつく様子が見られるなど予想以上の寒さであった. 滋賀から山形までは新幹線で5時間くらい. 新幹線に乗る度に,金さえ積めばいくらでも日本中どこでも素早く移動できることが分かる. 開催地の温泉宿は駅からは歩いて15分弱とアクセスも良く快適だった. 僕が参加する研究会では毎年この時期のイベントが,首都圏から近く交通の便の良い温泉地を開催地とし,半ば旅行のような形で開催されることになっている. 重鎮の先生達の希望で,毎年これまでに開催されたことのない地域を選んでいるという話を他の参加者から聞いた. 確かに過去十数年の開催地の一覧をみると日本各地を転々としており,担当者の苦労が伺える. 2日間の学会中,若手研究者がコンビニへの買い出しや各種準備など,パシられている様子が多く見られた. アカデミックの世界,引いては社会の厳しさのようなものを感じる.

久々の学会参加で集中していたこともあって,他の大学の方の発表はかなり楽しく聞いていた. ネタとしてわかりやすい分野を扱っている研究会なので,とっつきやすい発表ばかりである. その中でも,誰も扱っていない分野をとりあえずアイデア勝負で切り開くような印象の発表が多く,そういった発表の方が質疑が盛り上がっていた.

肝心の自分の発表は,いまいちウケが悪くがっかりであった. 研究分野が違っていたのか,発表の内容が悪かったのか.テーマ設定が悪かったのか.多分全部だろう. M2の11月ながら対外発表として出すのは初めてのネタでそれなりにウケてもいいかなと期待していたのだが,そうはうまくいかないものである. 発表中,先生たちに興味を持ってもらえている様子はなかった. 研究は技術的な正しさよりも,テーマ設定の正しさが正義だと思わされる. 作業できる期間としては実質残り2ヶ月ほどしかなく,もう研究は収束に向かうしかない. 現状の厳しさを乗り越えつつ,ごまかしつつ,なるべくいい形で終われるように持っていきたい.