初めての一歩を応援するアプリのiOS版
iOS 11 以上
- Swift 5.0
- Xcode 安定板最新バージョン
日本語訳: https://gist.github.com/Gab-km/3705015
- XLPagerTabStrip
- RealmSwift
初めての一歩を応援するアプリのiOS版
Home Page: https://github.com/yasasii-team/Stepippo-iOS.git
初めての一歩を応援するアプリのiOS版
iOS 11 以上
日本語訳: https://gist.github.com/Gab-km/3705015
開発進捗をOpenにしてユーザーがすぐ見れるようにする
「開発リポジトリを見る」セルをタップでWeb画面を開く
ローカルデータベースにRealmSwiftを使用する
RealmSwiftをCarthageを使ってStepippoプロジェクトに組み込む。
エラーなくビルドすることができる
Carthage、Realm共に最新版(Latest)を使う。
https://realm.io/docs/swift/latest
https://hirochan-blog5.com/2018/08/25/relam/
http://mtimsno.hatenablog.jp/entry/2017/04/23/150223
マネーフォワードなどのスワイプしてVC内ページを切り替えるライブラリは何種類も存在する
どのライブラリが使いやすいか、優れているかをザッと比較して、すてぴっぽで使うライブラリを決定する
該当ライブラリを列挙し、優劣を挙げて比較する
ライブラリ管理にはできればCarthage、次点でCocoaPodsを使いたいと考えています。
そもそも実現可能なのか?
ユーザーが手軽に機能のリクエストや不具合報告ができると良さそう
セルをタップすると、画面遷移し、機能の追加リクエスト、または不具合報告を送ることができる
GitHubの公開APIを使う?
GitHawkというアプリで同機能が使える
ライブラリのインストール・管理に必要です
※このIssueではXcodeは使用しません。Gitも必要ありません
$ brew install carthage
参考URLの②まで終えられることがゴール
人それぞれ何日を一月の開始日にしたいかは違うため
「月の開始時日」セルをタップすると日付を選択できる
どっちの方がいいだろ。ユーザーからしたら、画面遷移せずその場で設定できた方が良いかな?
例えば31日を選択したけど、30日しかない月の場合は、自動で30日にする?
それとも1日にする?
それをユーザーに選んでもらう?
設定の記憶には、UserDefaultsを使用
人それぞれ何曜日から始めたいかは違うため
「週の開始曜日」セルをタップすると、ActionSheetが表示されて曜日を選択できる
didSelectRowメソッドでActionSheetを表示
設定の記憶には、UserDefaultsを使用
やさしい会を知ってもらう
iOSチーム開発者を知ってもらう
詳細画面に遷移し、やさしい会とiOS開発チームについて詳しく知ることができる画面を用意する
YasasiiKai.storyboard
YasasiiKaiVC.swift
issueを追加するときに選択可能なテンプレートを設定する。
GitHubリポジトリページのSettings -> Features -> Issues -> Set up template
から追加できます。
これを追加すると、Issue登録時にテンプレートを選べるようになります。
複数追加可能
gitignoreの# Carthage/Checkouts
行のコメントアウトを解除して、Carthage/Checkouts
もリポジトリに含めないようにする
Line 85 in f68bd6b
Carthage/Checkoutsのファイル群はリポジトリ上に含める必要性がないため
# Carthage/Checkouts
のコメントアウトが解除され有効になっている
アプリをリリースするにあたって必須
正方形のアプリアイコンを作成できる
正方形のアイコン
関連するURLやスクリーンショット、その他画像などがあればこちらに追加してください
初心者にやさしい共同開発として誰もがわかる手順の記載が必要である。
メンバー(主にPM)の負担を減らす目的もある。
はじめに全体像をイメージすることで目指すべきゴールが明白になりやすい
わからないことはWikiを見れば理解できるようになる。
メンバー各自の負担の軽減
はじめて開発に挑戦する人の心的ハードルを下げる
git ignoreを入れる練習を誰かができれば良いなと思い作成しました!
話し合いながら、必要だと思ったものを追加していきましょう〜!
今後の資産にもなるので、ある程度溜まったらWikiページにまとめるのも良さそうです。
https://github.com/jarinosuke/swift-style-guide/blob/master/README_JP.md
実装の事前準備として。
Views
Controller
Prog = Progress screen(進捗画面)という意味。
初心者にやさしい共同開発として誰もがわかる手順の記載が必要である。
メンバー(主にPM)の負担を減らす目的もある。
わからないことはWikiを見れば理解できるようになる。
メンバー各自の負担の軽減
はじめて開発に挑戦する人の心的ハードルを下げる
--
画像の反映がうまくされないので一時中断。
最小限のプロジェクトを作成してコミット
画面定義書 #15
残期間と残タスクを確認できるメイン画面
その他画面の実装の第一歩
コーディングは別Issueで行う。あくまでメインはファイルの追加
上記のファイルを正しいディレクト配下に追加できており、ビルドが通る状態になっている。
XcodeのNew -> File から追加する
新しくcarthageにてライブラリがインストールされ、masterにマージされた場合、
ライブラリ依存に対応するために、全員ライブラリを手元でビルドする必要がある
(carthageでインストールしたビルド成果物そのものはリポジトリにpushしていないため)
エラーなくライブラリ使うことができる
App Storeにアプリを公開するため
アップデートの手順を踏んで、アプリのリリースを申請できる
アップロード
App Store Connect
アップロードとAppStore Connect、どちらからでも手をつけられるが、アップロードしたアプリがApp Store Connect に反映されるまでには数分かかる
初回リリースに必要
専用のプロトコルを作り、抽象化しておくことで以下のメリットがあります。
import RealmSwift
する(依存する)クラスを減らすことができるBrandNewTryWriter
: 挑戦をDBに書き込むプロトコル
BrandNewTryReader
: 挑戦をDBから読み込むプロトコル
「挑戦」を英語でいうとChallenge? Try?
https://ameblo.jp/eibunpo/entry-11427563971.html
「新しい」の英語の言い方
http://upgradeourenglish.com/speaking/new-expressions/
なるほどね!
右にある
Assignees → 誰がやるか 複数人も可能
Labels → タグ付けみたいなもん 複数選択可能
Projects → カテゴリわけ これは複数いけるのか?
Milestone → 作成したら、出てくるんだな。締め切りとかを入れるんだろうな。
なるほど。
人それぞれ何時から1日を始めたいか違うため
「1日の開始時間」セルをタップすると開始時刻を選択できる
どっちの方がいいだろ。ユーザーからしたら、画面遷移せずその場で設定できた方が良いかな?
設定の記憶には、UserDefaultsを使用
ユーザーが選択し、実行する「タスク」
データベースに保存することになるが、どんなプロパティ(値)を持つべきか議論して決めていきたい。
インジーケーターとチェックボタンにライブラリを使うため。
ライブラリを選定することにより、必要な機能を実現する。
参考記事はインジケーター・チェックボタンに関係ないものも多少含まれる。
Xcodeでプロジェクトを作成し、GitHubにプッシュする。
アプリ名: Stepippo
Pull Requestを作成するときに使うテンプレートファイルを追加設定する。
初心者にやさしい共同開発として誰もがわかる手順の記載が必要である
メンバー(主にPM)の負担を減らす目的
GiHubの基本的なことが理解できるになる
メンバー各自の負担の軽減
はじめて開発に挑戦する人の心的ハードルを下げる
新機能の案が思いついたら、コメントで気軽に書き残していきましょう!
そして、v1.0.0リリース後、次のアップデートではどの機能を入れようかー?
とここを見て決められたらいいなと思っています👌
実装する前の必要ファイルのみを入れておくことで、他の人が自分の画面の実装をする時にそのファイルを編集できるようになるため。
共同編集が可能になる。
機能の提案に関するその他の情報
関連するURLやスクリーンショット、その他画像などがあればこちらに追加してください
画面内ページ切り替えにXLPagerTabStripを使用する
XLPagerTabStripをCarthageを使ってStepippoプロジェクトに組み込む。
エラーなくビルドすることができる
Carthage、ライブラリは最新版(Latest)を使う。
TabbarControllerを使うため、各画面と繋ぐ必要がある
初心者にやさしい共同開発として誰もがわかる手順の記載が必要である。
メンバー(主にPM)の負担を減らす目的もある。
わからないことはWikiを見れば理解できるようになる。
メンバー各自の負担の軽減
はじめて開発に挑戦する人の心的ハードルを下げる
初心者にやさしい共同開発として誰もがわかる手順の記載が必要である。
メンバー(主にPM)の負担を減らす目的もある。
わからないことはWikiを見れば理解できるようになる。
メンバー各自の負担の軽減
はじめて開発に挑戦する人の心的ハードルを下げる
チーム開発するにあたり、フォルダの構成を整理整頓しておきたい。
★付きは新規作成フォルダ
💡フォルダに入れたいファイルを選択した状態でNew Group from Selectionを選択すると、選択していたファイルが入ったフォルダを作成することができます。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.