全4件 (4件中 1-4件目)
1
できるのかな、と半信半疑でコーディングしてみましたが、できました。// メッセージを送信するTimer.scheduledTimer(timeInterval: timerCount, target: TMGPSCommonModule.self, selector: #selector(timer_SendMessage(_:)), userInfo: message, repeats: false)timerCount += 0.7// appSyncに同時処理をさせないようにするため、一定間隔時間を開けてメッセージ送信を行う@objc class func timer_SendMessage(_ sender: Timer) { let appDelegate = UIApplication.shared.delegate as! AppDelegate let message = sender.userInfo as! TMGPSMessage appDelegate.dbProc.createMessageData(sndMsg: message, postName: .rcvmessage_sendMessage) return}GraphQLでは、CRUDの処理依頼から実行されるまでに若干のタイムラグがあるようです。ほぼ同時タイミングでappSyncClientに複数のCRUD操作を行うと、ある操作が何も処理をされないで終わるということがあり、そのためのWait処理を入れることにしました。appSyncClientを使いまわしているせいもあるかもしれないため、その辺は検証が必要かもしれません。ただ、同時接続数の問題もあるため、Clientを大量に作ればいいってものでもないでしょうし、みなさんどう解決しているんでしょう友人からの依頼で朝チャレへのゲーム追加をしないといけないため、記録係&AWSとの奮闘は一旦中断します。再開したとき全てを忘れていそうで怖い。
2020.11.30
コメント(0)
4月頃からコツコツ作っていたGPSロガーアプリ。 AppStoreに公開すべくAppStoreConnectで審査を依頼していましたが、無事却下されました。 なんでだ!?と思って審査結果を見たら、よくわからないからデモビデオを作れということらしい。 たしかにわからないよね、という感想と、そんなところまで見てるんだねっていう素直な驚き。 面倒くさいなぁ 2020/12/22 追記 デモビデオを作ってAppStoreConnectにアップロードし、再び申請したところ、1日程度で承認されました。 アプリ内の認証機能に不具合チックなものがあるので手動でテストしてるのであればまた却下かな、と思ってましたが、あっさり許可。 やっぱり機械的にテストしてるだけかなぁ 動画作成に要した時間 プライスレス
2020.11.30
コメント(0)
情報を取得するアプリ提供者みやたくワークス取得する情報と目的ゲーム実行情報の記録当アプリケーションでは、利用者の位置情報を記録し保存しますが、走行記録を取得し、客観的に表示することを目的としており、その他の目的では一切使用致しません。ユーザーのニックネーム・パスワード・所属グループ、および、走行記録・利用者の位置情報をAamazon Web Serviceのデータベースに保存し、同じグループに所属するユーザーに共有をしますが、グループ内での情報共有を目的としており、他のグループに所属する利用者には開示されることはありません。当アプリケーションでは、個人が特定できる情報、Wallet等の電子的なキャッシング情報は一切利用致しません。AWS プライバシー通知https://aws.amazon.com/jp/privacy/広告について当アプリケーションでは、広告配信ツールとしてAdMob(Google Inc.)を使用しており、AdMobがご利用者の情報を自動取得する場合があります。取得する情報、利用目的、第三者への提供等につきましては、以下の広告配信事業者のアプリケーション・プライバシーポリシーのリンクよりご確認ください。Google 広告に関するポリシーhttps://policies.google.com/technologies/ads?hl=ja
2020.11.28
コメント(0)
schema.graphqlに以下のような定義をしていました。パーティションキーに「circuitID」を指定しており、特にソートキーは指定していません。type TMGPSCourse @model @key(fields: ["circuitID"]) { circuitID : String! circuitName : String! isCircuit : Boolean! userEntry : Boolean! sectorCount : String! ldel_Flg : Boolean! ldel_Date : String!}このテーブルの内容を、何の条件もつけずにList形式でデータ取得すると、取得順序は保証されません。なので「sortDirectio」で、パーティションキーの昇順で取得しようと思って以下のようにプログラムしたのですが、取得結果が0件になりました。// データベースを検索する// 全件取得するappDelegate.appSyncClient?.fetch(query: ListTmgpsCoursesQuery(circuitID: nil, filter: nil, limit: nil, nextToken: nil, sortDirection: sort)) {(result, error) in 〜省略〜}ソートキーをつけていないせいかな、と思ったのですが、どうもそんなに簡単な話でもなかったようです。ソートキーは、あくまで同一パーティションキー内での並び順の指定であるようで、前述のようにパーティションキーを未指定の状態でソート順を指定すると、正しくレコードが取得できません。(結果が0件になる)↓↓のようにテーブルを作り直しても結果は変わりませんでした。# コース一覧テーブルtype TMGPSCourse @model @key(fields: ["circuitID","circuitName"]) { circuitID : String! circuitName : String! isCircuit : Boolean! userEntry : Boolean! sectorCount : String! ldel_Flg : Boolean! ldel_Date : String!}結局、プログラム側で、Arrayをソートして解決しました。ちょっと処理方法が強引なのでデータ量が増えてきたときに整合性が取れなくなりそうなので、改善必要。ハマり時間 1h
2020.11.19
コメント(0)
全4件 (4件中 1-4件目)
1


