このアプリはカレンダーでスケジュール管理ができるアプリです。
データベースはRealmを利用しています。
主な機能としては
-
日付ごとのイベント管理機能(CRUD)
-
リマインダープッシュ通知
-
カスタマイズ可能なカレンダー表示(スライド方向の切り替え設定、曜日順)
-
六曜の表示
-
土日祝のみと平日のみの表示機能
-
Widget
-
Googleカレンダーアプリと同期、iOS標準カレンダーアプリと同期
となっております。
苦労した点:これまで利用していたSQLite、Firebaseと比べてRealmはRealmSwiftの設計思想や使い方を理解して使わなければトラブルがよく発生する点。
現状での課題:UXの考え方や既存アプリとの差別化をするためにはどうすればいいか模索中です。
このアプリはAppStoreに公開済みです。
https://apps.apple.com/jp/app/re-%E3%82%B9%E3%82%B1/id1607735456
-
FSCalendar
カレンダーの実装 -
RealmSwift
日付ごとのイベント管理 -
TextFieldEffects
TextFieldのUI -
IQKeyboardManager
キーボード表示時の画面のスライド -
PKHUD
通信時のローディングインジケーター -
SwiftLint
ソースコードの品質管理 -
AppAuth
OAuth2.0およびOpenIDConnectプロバイダーと通信するためのクライアントSDK -
GTMAppAuth
AppAuthでリクエストを認証するためGTMFetcherAuthorizationProtocolの実装を提供する -
GoogleAPIClientForREST/Calendar
Googleの様々なAPI へのアクセス・データの取得などを簡単にできるようにしてくれるもの(今回はGoogleカレンダー) -
Google-Mobile-Ads-SDK
Googleモバイル広告の最新世代で、洗練された広告フォーマットと、モバイル広告ネットワークや広告ソリューションにアクセスするため -
LicensePlist
CocoaPods、SwiftPMなどで管理しているライブラリのライセンス表示を自動的に生成するツール -
Firebase
Firebaseのアナリティクスでユーザー解析をするため
- Swift5.5.2
- Xcode13.2.1
ターミナルで以下を入力
sudo gem install cocoapods
下記のエラーが出る場合は、
orta/cocoapods-keys#198 (comment)
を参考にRubyのバージョン2.6.3を入れる
ERROR: Error installing cocoapods:
ERROR: Failed to build gem native extension.
current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.12.2/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /Library/Ruby/Site/2.6.0 -r ./siteconf20211113-24669-declh0.rb extconf.rb
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:546:in `block in try_link0'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tmpdir.rb:93:in `mktmpdir'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:543:in `try_link0'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:570:in `try_link'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:672:in `try_ldflags'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1832:in `pkg_config'
from extconf.rb:9:in `system_libffi_usable?'
from extconf.rb:34:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/Library/Ruby/Gems/2.6.0/extensions/universal-darwin-20/2.6.0/ffi-1.12.2/mkmf.log
extconf failed, exit code 1
gitでcloneしたディレクトリをターミナルで開き、ディレクトリに移動後以下を実行
pod setup
pod install
Xcodeでgitでcloneしたディレクトリを開く。
./CarendarApp.xcworkspace
ディレクトリが生成される。
Xcodeが入っていない場合はAppleのアプリストアでインストールする。