鳩ブログ

サラリーマンが綴るブログ

SwiftUIの勉強 3日目

f:id:hato36:20200818165921p:plain
途中でいったん考えていたプログラムを作ってみようと思ったがやっぱりダメだった。
改めて本を見ながらの勉強を進めることにした。

 

まだまだ慣れていないことが多い

特に慣れていないことはエラー時のメッセージの対処方法。
理解が浅いせいでエラーが出ても原因を見つけるのに時間がかかる。
Webで調べたりもしているが進みが遅い。

なので、SwiftUIの本に沿って再び勉強していくことにした。
趣味?勉強?であり仕事ではないので焦らない。

お盆休みですっかり抜けているのも事実なので、再び日課にするべく本日から取り組んでいく。

 

StepperというUIパーツを使う

f:id:hato36:20200818165525p:plain

Stepperとは上記のようなパーツ。
マイナスとプラスが表示され、これにより値を上下させる。
これをもとに、個数を変化させて同時に金額をいじるというのが今日のお題。

f:id:hato36:20200818165956p:plain

実際に作ったアプリはこんなもの。

久しぶりで忘れていた@State

@Stateを使うことで、リアルタイムに画面上の数字を変えることができる。
SwiftUIがリアルタイムに値をチェックしてくれる。
基本的に@Stateは当該Viewとその子Viewにしか適用されないようなので、PrivateをつけるのがAppleの推奨だ。(Webで調べたらそう書いてあった)

 

すぐに解決したが私の環境だからこそ?のエラーにつまづいた

私の環境は以前にも書いた通り、Macbook Pro 13インチ Earlyである。
Simulatorでプログラムを動かすとファンが唸り出すので、iPhone7を繋げて、シミュレーター代わりに使っている。そうすることで、MacbookではSimulatorを動かす必要がなく、尚且つiPhoneの実機で動作確認ができる。

しかし、本日の勉強初めのタイミングでプロジェクトを作り直したりしていたら以下のメッセージが表示された。

Showing Recent Issues
Communication with Apple failed: Your maximum App ID limit has been reached. You may create up to 10 App IDs every 7 days.
私は無料のDeveloperアカウントを使っているのだが、その場合はiPhoneで試せるプログラムの上限があるとのこと...(涙
上限を調べてみると7日で10アプリまで
お盆休みの合間にもちょくちょく試していて適当にプロジェクトを作っていたのと、本日勉強の続きをする上で名前を間違っていくつか作り直したのが原因だろう...
 
回避方法としては...
  • 別のAppleIDを使う
  • 有償のDeveloperに切り替える
  • 過去のAppIDを使い回す(方法は調べてないw
  • iPhoneで動作確認するのを諦めてXCodeのSimulatorを使う

ということになるが、今時点で有償は考えていないし、別のAppleID取得についてはセキュリティを考える(複数アカウントを持つということは守るべきアカウントが増える)と嫌だし、使い回しとかなんか面倒そうなのでMacbook上のSimulatorを使うことにした。まぁプログラム自体が小さいからそれほど待たないし。(昔開発していたCのコンパイルとか死ぬほど長かった記憶w)

ということで、自分がまたはまらないに様にするためのメモでした。

大体本読みながらこのブログも書きつつ勉強してきっかり1時間ほど。昨日はお盆明けで大量のメールと会議責めでしんどかったけど徐々に普通に戻ると信じよう。(ちょっと忙しくなることがわかっているのだが信じるものは救われる...汗)