39ギター

35年ぶりに弾き始めたクラシックギター
神経痛と戦いながら
どこまでバッハに迫れるか
蝶も花もアーチェリーもあるよ

もうちょっと頑張ってみよう

2020-03-12 21:03:41 | 日記

こんばんは

 

Macのメモリー不足は深刻です

2つに分けて開発していたアプリを一つにまとめると途端にxCodeがハングアップします

アクティビティーモニターでメモリーの状況を見ると、最初は順調に動いているようですがビルドの途中から急にswiftが大きなメモリーを取り始めてすぐにスワップが数ギガも取られます

二つのプロジェクトを同時に開いていてもなんともないのに一つにまとめるとダメ

ファイルを一つ外すと少し状況が良くなるので一つのファイルを無理やり別のファイルに移すと少し楽になった

しかししばらくするとダメになる

コードに問題があってメモリーリークとかを起こしている可能性は無いのか

そうも思ったが、二つのときはなんとも無いし、このswift言語はそもそもC言語のようなメモリーの確保や解放をプログラマーレベルですることはないはずだ

やはり物理メモリーの不足、これしか考えられない

思い切ってなん画面か削除しようと思う

メイン画面のアーチェリーについてとか注意事項などはこの際省いてみたら結構いけるかもしれない

 

今までずっと「何かの問題を抱えて何日かかけてそれを解決する」その連続だったではないか

よし、ちょっと頑張ってみよう


SMCクリアとPRAMクリア

2020-03-11 22:03:55 | 日記

こんばんは

 

Macの調子が極端に悪い

アーチェリーアプリの開発は今日ついに2つの部品をドッキングさせた

一つのプロジェクトにまとめるだけなので簡単にできる

ドッキングさせて走らせてみて、なかなかいい感じになったとほくそ笑んでいたのも束の間でした

点数の付け方とか色々と微調整していたら突然、虹色のカーソルが回り始めて操作不能に陥った

なんとかファインダーに戻り仕方がないのでxCodeを強制終了

再起動して再度xCodeを起動して同じ作業を続けようとしたが、同じくいうことを聞いてくれない

まあしばらく電源を切って休ませれば機嫌を治すだろうと、ちょうどウォーキングの時間だしそのあと晩ご飯とお風呂と時間を稼ぎ頭を冷やした

風呂上りのすっきりとしたところで再度Macの電源を入れてしばらく放っておいてからxCodeを起動したがまたおかしくなった

どういうことかと思ったがこれはメモリー不足に違いないわけで、じゃあアクティビティモニターで調べてみようということで起動したが、これも満足に立ち上がってくれない

なんとかして立ち上がったところでメモリーマップを見てみると、ビックリ

なんとスワップが11GBも取られているではないか・・・

なんじゃこれ〜

実メモリー8GBに対してスワップがどんどんん増えて12GB

さらによく見るとメモリーを食っているのは「swift」あれよあれよとswiftだけで16GBと表示している

何度も、なんじゃこれ〜

2本のプログラムをドッキングしたのでそれなりに大きくなったとは思うが、プロジェクトを2本走らせてもこんなことはなかった

どこかおかしい・・・

こんなときは最後の手段、確かSMCクリアとPRAMクリアだった

SMCクリアは単に電源コードを外して1分ほど放置し完全放電、再度電源コードをつなぎ5秒待ってからスイッチオン

続けてPRAMクリアは電源ボタンを押すと同時にoption+command+P+R

4つのキーを同時に押し続ける

りんごマークが1度表示され2度目に表示されたらキーから指を離す、これでOK

しばらくして完全に立ち上がってから、またアクティビティモニターを起動してメモリーを見ると、今度は正常でスワップもゼロになっている

何が起きたのか、単に連日の高負荷でどこか調子が悪かったのか、大きくなったアプリの処理に限界が来たのか

まあとにかく極貧メモリーでやるしかない

火を吹くかもしれないがその覚悟で頑張るしかない

Macが火を吹くとは思えないがこちらの頭と目が火を吹きそうだ


zIndexというモディファイア

2020-03-10 22:59:27 | 日記

こんばんは

 

コロナウィルスはまだ衰えてないようです

ウィルスはじわじわと世界中に広がって行きますが、その影響を受けた世界経済は一気に世界に広がっていったようです

日経平均は2万円を切りましたし、僕の持っている株も高値の時の半分にまで落ち込みました

今慌てて売るほどのことでもないのでほったらかしにしておきますけどね

消費増税前ならこれがリーマン級の出来事となり消費増税はまた延期となったんでしょうね

今は個人が出歩かなくなった影響で小売店や外食産業やそこに食材などを提供しているところが影響を受けているようです

大きな会社はまだ影響は小さいのでしょうが、世界で株が安くなり円高が進むとそのうち大不況ということになってくるんでしょうか

僕の仕事も契約解除にならないことを祈るばかりです

副収入を狙ってiPhoneアプリの開発を急ぎましょう

 

そのアプリですが

いよいよドッキングする段取りが整いました

データを選択してから的の画面に映るところです

的の画面はこんな感じにできました

フィールドアーチェリーらしく森の中の雰囲気です

ただ、イメージファイルを後から追加した影響なんでしょうか十文字のマークが下に隠れて出てきません

zIndexというモディファイアがあって上下の重なりを調整できるはずなんですが、全然効きません

この辺がまだxCodeの未熟なところなんでしょう

色々とやってみますがダメならイメージ抜きの白い画面で我慢です

ABCDの選手選択と的番号の矢印による選択とそれぞれの矢に対してデータベースからデータを取り出すところも完璧に動作しています

さて、いつドッキングしましょうか

そのあともまだ色々な作業が続き、アップルに申請するのはもう少し先になります

開発者登録は12,200円が必要になりますが、へそくりでなんとかなるでしょう

広告をつけて少しでも回収できるようにしようとか、今からがめついことを考えています

楽しみですね

 

 


SwiftUIによるアーチェリーアプリの作成中間報告

2020-03-07 22:18:02 | 日記

こんばんは

 

最近はプログラミングに没頭していてブログの更新がすっかり疎かになっていました

しかし、今日やっと作業が一段落したので進捗をまとめておきたいと思います

一段落と言っても完成からすると程遠く進捗率は半分以下、まだ1/3というところでしょうか

今日もこの2日ほど苦しんでいた謎の現象をやっとクリアできたので、やっとのことで到達した感じです

 

起動画面

 

アーチェリーについて

テキストファイルは簡単に差し替えができます

文章は日本アーチェリー連盟のHPからの抜粋で、少し文言を変えてあります

 

注意事項

アーチェリーは間違えると命に関わる危険なことも起きかねないのでそのために気をつけることです

前のアーチェリーとはと同じく日本アーチェリー連盟のHPからの抜粋ですが、最終的には両方の文面は自分の文章に差し替えます

許諾が取れれば別ですが・・・

 

選手登録

氏名を入力し分類を設定して登録ボタンを押します

開発中のプレビュー画面では日本語が入力できないのですが、実機では大丈夫です

 

「記録...」ボタンを押すとデータ選択画面です

過去の保存データを呼び出したり「New」ボタンで新しいファイルを作ることができます

 

データ詳細画面

データファイルを選択するとこの画面になります

登録した選手から4名まで選択でき、ABCDを選択するとその選手のスコアが上の欄に表示されます

一つのファイルでは2ラウンド分が記録できます

INコースOUTコースの別も選択しておきます

 

右上の赤い「Go!...」ボタンを押すと最初に作った的(マト)の画面になり、一本ずつの矢が登録できます

今回はここまでで的(マト)の画面はこの次からの作業になります

 

ちなみに的(マト)の画面はこんな感じ

ここまでできているので後は早そうなんですが、アプリのサイズがだんだん大きくなってくると見通しが悪くなるのでこれからは注意が必要です

さらにこの画面には選手のABCDを選択するボタンとかコース詳細画面とかを追加して、できればコース写真の撮影機能もつけたいと思っています

 

データはSQLite3をGRDBSwiftというラッパーモジュールで使っています

データベースの管理は「DB Brouser for SQLite」という無料のユーティリティーを使っています

よくできていてMicrosoftの「SQL Server Manager」にも負けない高機能です

 

いや〜長かったですねぇ

2月の初め頃からですから1ヶ月ちょっと

よく頑張りました

何度もクジけそうになりましたが、そこは持ち前の粘り強さというかシツコサで乗り切りました

昔と違うのは今はネットという大きな助っ人があり、ちょとググればたくさんの情報が得られます

SwiftUIに関して本はこの2冊が最高に参考になりました(今のところこの2冊しか出版されてない)

 

最初に勉強した本はこれ

次は高度になって

Swift5言語については

 

この1ヶ月ほど頭を使ったことは最近ではないでしょう

 

さあ、まだまだ先は長いぞ

頑張ろう・・・


GRDBがDyld errorということで実機にロードできない現象:解決!

2020-03-04 23:35:24 | 日記

こんばんは

 

朗報です

アーチェリーアプリにデータベースを組み込んだのはいいのですが、肝心の実機の方にGRDBがロードされない現象で途方に暮れていたんですが、解決しました

 

出ていたエラーはこんな感じ

 

Dyld Error Message:
  Library not loaded: /Library/Frameworks/GRDB原因と対処方法を色々とググってみては探していましたが、日本語の範囲では解決しないので思い切って英語の記事も読んでみました今年に入って5月の末ごろのFacebookかなんかの記事にiOS13.3.1で起きるのでiOS13にしたら治ったとか色々と書いてあるんですが、英語が分からんなりにもあるところに目が止まりました

それはGRDBをインストールするときに使っているCocoapodのpodfileなんですが、その中の「use_frameworks!」をコメントアウトすると大丈夫ということです

早速該当行の頭に#をつけて「pod install」とやってからまたプロジェクトを起動し、iPhoneに転送してみたところ何事もなかったかのようにあっけなく起動しました

念のためにアプリで選手登録をしてみましたが問題ありません

なぁ〜んだ、こんなことだったのか

 

このまま開発を続けて大丈夫なんだろうかと思っていましたが、これで安心しました

とにかくこのxCodeとSwiftは謎が多いですね

しかし、根性で勝利しました

とにかく食い下がること、これが肝心です

今日はぐっすり眠れそうだ・・・