2019/01/29

iPhone用アプリ;Hello Worldを作る

2日でマスター本を買ったので、さっそく一番簡単な、HelloWorld表示アプリを作ってみる。ビルドは問題なかったけど、Simulatorで表示させようとすると、エラー?が出た。

メッセージは以下

2019-01-29 22:18:41.809357+0900 simpleUI[1316:21003] libMobileGestalt MobileGestalt.c:890: MGIsDeviceOneOfType is not supported on this platform.

サポートされていない機能を使ってるぞということのようだが、、無視してよしという記事もあるので、一旦無視

https://ja.stackoverflow.com/questions/48534/xcode%E3%81%A7mgisdeviceoneoftype-is-not-supported-on-this-platform-%E3%81%A8%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%A6%E3%81%97%E3%81%BE%E3%81%84%E3%81%BE%E3%81%99

次に実機のiPhoneに転送してテストしようとすると、「codesignはキーチェーンに含まれるキー"access"へアクセスしようとしています」とダイアログが出て、パスワードを入れろと聞かれる。思い当たるパスワードを入れたけど、認証は通らない。これは面倒なトラブル?の様で、証明書を一旦削除する必要があるらしい。。

https://www.weblog-life.net/entry/xcode_debug_error

もう一度やってみようとClean&Buildしたら、さらに厄介なエラーが出た。

Showing Recent Issues
CopySwiftLibs /Users/XXXXXX/Library/Developer/Xcode/DerivedData/simpleUI-cqliedfqibwugpchwummnyfxumxi/Build/Products/Debug-iphoneos/simpleUI.app (in target: simpleUI)

     *めちゃ長いので略*


error: Failed with exit code 1

ちょっとググっただけだが、このエラーもKeyChainが関係しているらしい。。はぁ。。

さらに調べると、「codesignは、、」と聞かれる件は、MACのログイン時のパスワードを入力して、「常に許可」をクリックすると回避できるとのこと。

ymy2642様記事より
https://qiita.com/ymy2642/items/9351d881edf7da897607

同じように操作すると、ビルドが通るようになった。感謝。何年かぶりに作った、HelloWorldシンプルアプリは左(本のままに作った)。真っ白で何がなにか分からないが、、中央にHello Worldと書いている。

2019/01/27

iPhone用アプリを作る(目標)

  これまでAndroidやiPhoneを使ってきて、中途半端なお試しアプリは作ったが、公式サイトに登録してダウンロードしてもらうのは作ったことがなかった。仕事の関係で、スマフォアプリデプロイも担当することになり、経験ほとんどなくて細かいことがよく分からないので、仕事を離れて自分の権限で(失敗してもいい)アプリデプロイできるよう、ミニマム機能に絞ったスマフォアプリを作ることにした。手元にはiPhoneしかないので、SwiftでiPhoneアプリを作ることを目標としたい。昔買って途中で読むのをやめた、「本気で作り始める・・・」というやつをもう一度引っ張り出して、DLしてもらえる程度のアプリを作る予定。ただ、「本気」本の前に、まずは最短コースでビルドしてiPhone上でお試しアプリを動かす所までやってみたいので、、「2日でできる・・・」というのをまずは買って読んでみる予定。 一通りの流れを理解した後に、GUI用のパーツとかSwift言語仕様とかを理解する。。と
 お気楽サンデープログラマー程度であるが、仕事にも繋がっているので途中でやめるわけにはいかない。途中で飽きることなく、無事公開に至ったら、アプリの作り方とかソースとかはすべて公開するつもりです。

■参考書籍


たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 10 Swift 4.2対応
本のタイトルが「2日」となっていて、ちょっとキワモノ本のようですが、stroryboardやAutoLayoutも説明があるようで、期待してます(まだ買っていないが、、まずはこの本に沿ってサンプルアプリを作る予定)


本気ではじめるiPhoneアプリ作り Xcode 10.x対応 (Informatics&IDEA)

■追記
どういう順番で勉強するか??ですが、以下の流れで勉強する予定です。
  1. MAC上で環境構築(MACを最新OSに上げてXcodeを入れる)(iOS12(はiPhone),Xcode10)
  2. 2日本を読みながら、Xcodeの使いかたを理解
  3. お試しアプリのビルドとiPhoneでのテスト実行
  4. GUI用パーツの理解
  5. AutoLayoutの理解
  6. storyboardの理解
  7. Swiftの言語仕様(ビジネスロジックの作りこみで必要)
  8. データの保存方法を理解(永続化機構)
  9. まともに使えるアプリに仕上げる(特にUI(各種ユーザごとの設定))
  10. 公開用アプリとしての体裁の整え方を理解(アイコンデザインとか)
  11. AppleStoreでの公開方法
あまり時間かけていられないので(そもそも仕事上の本物アプリのリリース日もどんどん近づくので)、おおよそ1か月程度でへなちょこアプリをAppleStoreで審査してもらえるようにする予定。機能なさすぎて、拒絶くらうかも。。

■追記
 久しぶりにMACを立ち上げるとバージョンは10.13(High Sierra)だった。これを、iOS12に上げないといけないのか? と思ったら、iOS12とはiPhone側の最新OSバージョンのことで、MAC側のOSはmacOS 10.14 Mojaveが最新であった。こんなレベルから勘違いしているとは。。とほほ
 手元のiPhoneのOSを確認すると、iOS 12.1.3であった。引き続き、MAC上のXcodeを最新に上げようとしているが更新に一時間以上かかっている。。

■ご参考URL
App Store Reviewガイドライン
App Review

AppReviewによると、、しょぼいアプリは却下と書かれている(ようにとれる)

Appで提供される価値が長く続かない
Appの機能やコンテンツが少ない、または小規模なニッチ市場にしか需要がない場合、却下される場合があります。Appを作成する前にApp Storeで同じカテゴリのAppを確認し、より優れたユーザー体験を生み出すにはどうすればよいか検討するようにしてください。

SGLabs様ブログ;しょぼくて拒否された記事
https://www.sglabs.jp/app-store-reject-1/

適合率、再現率メモ


妻が図書館司書になるための通信教育を受けていて、適合率(precision, 精度)、再現率(recall,網羅性)が話題になったのでメモ。


適合率:システムが出した結果において、正しかったものの割合(どれだけ正確に検索できたか?の割合 
再現率:どれだけ漏れなく網羅的に検索できたか?の割合

適合率と再現率の両方が高いのが理想(検索結果に不要な情報が混ざっておらず、見つかるべき情報はすべて見つかっている)。だがそううまくはいかない。

精度は高いが漏れが多いのは、適合:高/再現:低
(例:石橋を叩くように仕事する性格・・仕事の質は高いけど出来高少ない)
余計なものまで入っていて精度は低いがほとんど漏れなく見つけているのは、適合:低/再現:高
(例:勢いで仕事をこなす性格・・仕事は雑だが大量にこなす!?)

2019/01/26

ロードバイクで近所を走る(17K)

 普段運動は全くやってないが、健康のためには適度な運動が必要だ。食べ過ぎのせいかお腹も出てきた。かつてはロードバイクに乗っていたが、2017年8月を最後に走っていなかった。このままではこれからもずっと乗らないだろうと思い、寒いけど1年ぶりにロードで近所を走った。
 なにしろ1年ぶりで動かしたもので、走り出したはいいけど、Shimanoの105のSTIレバー(ブレーキとシフトが一体になったレバー)が異常になっていた。ワイヤーの巻き上げ(リア―のギアで言うと、ローへのシフトダウン)はできるけど、ワイヤーの解放(同じく、リア―のハイへのシフトアップ)ができない状態になっていた。簡単に言うと、フロント:アウター、リア:ローの状態にしからならない。何がしたいのか分からないギア構成にしからなず、これでは走ることができない(最適なギアで走っていないと、事故のもと)。近くの公園で急遽メンテナンスすることに(左はメンテ開始の状態。治る気がしない)。レバーを力いっぱいひねってもワイヤーが解放されることが無く今日はもう帰るか。。と走り始めたら、、なんとか力の入れ具合で、ワイヤーの解放の動きができることが分かった。今日は、逃げのシフトで代用することにした。
 いつも年初めはロードで磐船神社にお参りしてたので、今回も163号線→清滝峠→168号線→磐船神社のルートで走ることにした。電通大までの道も途中迷いまくってゆっくり走ったので、電通大前を通過する時はかなり心肺に余裕がある状態だった。このまま多少無理しながら清滝峠まで走れそうだったけど、ヘロヘロで坂を登るのは事故の元なので、某ホテル前で一旦休憩。フロントをコンパクトクランクに変えてからは、清滝までの道もかなり楽(昔の標準品のフロントギアの時は高負荷で視野が狭くなるほどしんどかった)。
 この時点で3時半になっていて、日も傾きかけ風も出てきて寒くなってきた。旧163号ですれ違う人は、峠から下ってくる人ばかりで、これから登ろうと言うローディはいなかった。その後、なんとか清滝峠までは走った。峠から168号の北田原まではずっと下りで季節が良ければお気楽なルートだが、夕方になり太陽の光も当たらず風もきつくて下りの走りは凍えそうになった。168号に乗っても依然風がきつく、磐船のトンネル近くに設置された温度計表示は2℃であった。磐船神社までは来たけど、あまりの寒さにお参りする気持ちの余裕もなく、境内の外から手を合わせただけで今日は帰ることにした。私市までの下りもこれまたえらく寒かった。。普通は、少し体が冷えるとすぐ風邪気味になるのだけど、運動で体を動かしていたせいか、この日は風邪にはならなかった(感謝)。

 久しぶりに走ってみて、、いつも仕事が辛くてヘロヘロで精神的にへこたれている自分だが、体を動かしたおかげで少し精神バランスが戻った(体からの情報が増えて、仕事に対する不安感が減った(不安は頭でっかちの妄想から来るので)。今を生きているという実感が増えた)。普段から体を鍛えているエリートサラリーマン(かつアスリート)の精神構造を想像することができた。たった1時間程度の運動だったけど、精神バランスを戻してくれる中身の詰まった1時間であった。これからも月一程度でいいから時間を作って運動すべきと痛感した。それに、、走ってるとロード乗り同士であいさつするのでちょとした心のふれあいが嬉しい。坂道だと相手はめちゃ飛ばしているので、すれ違いざまコンマ数秒の意思疎通だが。

■走行記録
Garmin ForeAthlete 35Jで記録しています。安いしGPS切っておけば電池も長持ち。

全然アスリートな数値ではないが。。まぁそんなもんです。
距離:17.3K (17K/h)
心拍数:平均 149 (max175) 消費:460Cal







■追記
 「STIレバーでギアが操作できない(すこんと抜ける)」という相談記事が結構見つかり、大半の回答は、STI自体の故障よりもワイヤのグリスが固くなっているからでは?というものであった。自分のチャリの場合、ワイヤのテンションはかなり高いので、ワイヤ自体の引っ張り力(ワイヤー解放に向かうワイヤー自体の力)が低いとは考えられないのだが。。STIレバーが悪いのか、ワイヤ―が古くなって(グリスが固着して?)抵抗が高すぎるのか、原因は分からないけど、一度ワイヤーをはずして掃除してあげる必要がある。

過去のロードバイクの記事(はてなダイアリー)
はてなブログ(茶国)ロードバイクカテゴリー

Blogger設定メモ

最初時刻表記がGMT(UTC?)であった。これをTokyo(UTC+9)に変更
Settings->Language and formatting -> TimeZone
GMT+9 (Tokyo)を選択することでJSTに変わる

勉強も兼ねて、はてなダイアリの過去記事をbloggerに自動投稿したい

 先人のご苦労のお陰で、MovableType形式からBloggerで読み込ませることのできる形式に変換するツールもあるようだけど、、勉強を兼ねてPythonでBloggerのAPIを叩くスクリプトを作って、そのスクリプトで投稿させたい。

APIは以下。記事投稿はそれほどややこしくないだろうけど認証がワケわからん。
https://developers.google.com/blogger/docs/1.0/developers_guide_python

2019/01/12

いただき物;エチオピアコーヒー

 知り合いの知り合いから、エチオピアのお土産をもらった。現地で売られているエチオピアコーヒーの豆。TO.MO.CA Coffeeというらしい。袋の説明にも「苦みが特徴」と書かれていて(確か)、飲んでみたらかなり苦い。酸味はほとんどない。コナコーヒーぐらいにガツンと苦い。でも風味は非常に強い。少し低温で淹れて苦みを抑えると(豆に失礼?)、この豆独自の風味が強く感じられる。かなり旨い豆でくせになりますね(下記サイトを見ると、日本でも買えるようです(売られているのは挽いた状態))。




左の写真が豆の状態。かなり濃い色に仕上がっており、ローストが強いです。これだけローストすると苦みも強くなるだろう。。と。








■ご参考URL
TO.MO.CA.Coffeeの店が東京にあるようです。
http://www.tomocacoffee.co.jp/
TO.MO.CAとは、Torrefazione(焙煎)、Moderna(近代的)、Cafe の略らいしいです。