k_app

2022 令和4年 1月19日(水)

2022 令和4年 月16日(水)追記

全体の柱として:

  • navermaps
  • google custom search
  • userdefault利用
  • server(json)

DB考察


タイトル title

日本語タイトル j_title

検索タイトル search_title

緯度 lat

経度 lng

ジャンル(観光、食「肉、海鮮、麺、テジクッパ

詳細 detail

情報提供(ハヌル)


ミチョン食堂
미청식당
35.26026797976482
129.23316478729248

INSERT INTO `k_list` (`no`, `title`, `j_title`, `lat`, `lng`) VALUES (‘1’, ‘미청식당’, ‘ミチョン食堂’, ‘35.26026797976482’, ‘129.23316478729248’);

データベース作成

mysql adminではなく、その前のデータベース作成で作成する。

DB作成

その後の参考(APPから情報をDBに格納する)(POSTする。)
SWIFT CALL部分
PHP DB格納部分
SwiftUI Http POST mysql
POST data to a PHP method from Swift

サーバーサイド初心者がiOSアプリ(SwiftUI)×サーバーサイド(PHP)やってみた
Overlays(Remove overlays)
2022 令和4年 1月20日(木)

PopupView
naver mapsをタップした際、そん座標などをサーバーに送信するためのpop view
SwiftUIでボタンを押すとポップアップを表示する

2022 令和4年 1月21日(金)

naver maps 地図をtapした際の、view更新が上手くいかない。
model経由、bind経由 試みるもno good!!
最終的に、userdefault経由でokとはなるものの、リアルタイムでは未だno!!

副産物として、シンボルをタップしてmarker表示が可能となる。
marker表示を消すについては、これから・・・。
参考サイト:
[Swift] UserDefaultsの使い方
Remove overlays(マーカー)
[Swift] GoogleMapsSKD for ios の使い方(ピンの画像変更、吹き出しに画像やボタンの追加)について 備忘録
SwiftUI 네이버 지도에 터치이벤트 적용하기

★【SwiftUI】SwiftUIでUserDefaultsを使う

サーバーとの通信
サーバーサイド初心者がiOSアプリ(SwiftUI)×サーバーサイド(PHP)やってみた
★★ SwiftUI Http POST mysql
POST data to a PHP method from Swift</a

KEY WORD
UserDefaults array

2022 令和4年 1月22日(土)

一時的なmarker(dbへの送信用)の保存として、userdefaultcoredataかに迷い。
サーバーDBとすれば、COREDATA不要か。
とりあえず、簡便な方法として、userdefaultを選択
以下、参考サイト

採用 ★ foreachが使える。。How to save array of tuples in UserDefaults

有用 ★ Swift – Save Array of dictionaries into NSUserDefaults

COREDATA関連:
フォルダ Back to 100 Days of SwiftUI の Bookwormにソース有り。

2022 令和4年 1月23日(日)

これまでだと、user defaultに保存したデータは、一時的に保存されるのみ。
解決するには、立ち上げ時に以前のuser defaultと読むことか。。。。
以下サイト
Trying to save data in UserDefaults and show them in list view

上のサイトを参考に、組み込み。
これで、永久的に保存ok
発見は、JSONEncoderPropertyListDecoderがあること。どちらも動作は問題なし。

いわゆる、VIEW MODELなるものの良さを実感する。

今後の課題:マーカーのタップによる消去(配列の指定削除 調べ要)

2022 令和4年 1月25日(火)

固定分のマーカーとタップ登録のマーカーで整理中。
固定分:
モデル内init()で初期化
(k_appにあるサーバー経由読み出しで読み込み 温泉版をk_app版に修正用)

となると、固定データの作成が先に必要

で、まずはマーカータップ版を最初に作成し、ひとまず、default保存し、まとめてサーバー送信か!!

BC2版:MODEL化完了版。ノーマル版のINFOタップでシート表示。

C版:
①userdefault保存(C版 Userdefault3)

②サーバー送信の順で着手か

ひとつ進展!!

ObservedObjectについて
初期化して、あとは引数で渡すこと(何か引っかかって件、解決!!)
参考サイト:
How to use @ObservedObject to manage state from external objects
@ObservedObjectを使用して外部オブジェクトから状態を管理する方法

2022 令和4年 1月26日(水)

整理、C版について、sheet表示 popup表示 OK!! POPUP版をMODEL経由に変更。
SHEET版は、そのまま@STATEを使用。(うまく動作せず)

今後として、更に整理と恒久版として、userdefault組み込み
Userdefault3を引用してカスタマイズ!!

2022 令和4年 1月27日(木)

POPUP VIEW 位置調整!!
How to layer views on top of each other using ZStack

2022 令和4年 1月29日(土)

model内に、temp_marker設置。これにより、view内でmarker削除が可能となる。

2022 令和4年 1月30日(日)

NMFNaverMapView()を、model内に移動。ok!!

2022 令和4年 1月31日(月)

どちらも、contentview内で作成可!!
let marker = NMFMarker()
let infoWindow = NMFInfoWindow()

一時的なマーカー恒久的なマーカー
まずは、一時的なものから・・・・
シンボルタップ時の消去はok!!
次は、シンボルタップでなく、マーカータップとなるため、
ハンドラーの組み込みが必要。ひとつの関数として記述できないか、検討!!

2022 令和4年 2月1日(火)

本日の神サイト(sheetviewを@ObservedObjectにより操作する)
Open a .sheet() from an outside class in SwiftUI

2022 令和4年 2月3日(木)

symbol.captionの分割ok!!

2022 令和4年 2月4日(金)

popup viewみかけ改善。更にbuttonをもうけ、sheet 表示ok!!

次は、Userdefault3の再学習と恒久的な保存!!

Buttons and images

2022 令和4年 2月5日(土)

didTap_symbolsへの格納
更に、marker 削除した場合の同期削除ok!!
あとは、Userdefault3への保存で一段落か。

2022 令和4年 2月7日(月)

バグ改修。立ち上げ時に、マーカータップすると地点が追加となるバグ。

原因は、makemarkerをfuncとして統合した点、タップの場合は、保存要だが、usedefault読みの場合は、保存は必要無し。別々として動作ok!!

2022 令和4年 2月14日(月)

スワイプで行削除。modelsにてOK!!
あとは、user defaultとの同期(save)が必要かと。
didTapMap処理も必要。

2022 令和4年 2月15日(火)

TabView設置list view表示用として。ok!!

2022 令和4年 2月16日(水)

今後の課題:
DB策定 ジャンル didtypeの空欄穴埋め

2022 令和4年 2月18日(金)

category descriptionなど編集部分と保存など完了。
List部分の見た目調整など完了。

Listの外観調整
予報士版の外観を試みるも、挫折。理由はon deleteが効かない。
//Group {
//ScrollView
Listを使用して、同様の見掛けを実現するには、
以下、ふたつのサイトにてokとなる。
How to remove the line separators from a List in SwiftUI without using ForEach?

SOLVED: Background Color of a list, make it clear color.

NavigationView追加と表示調整!!
The Complete Guide to NavigationView in SwiftUI

2022 令和4年 2月19日(土)

list画面の表示調整!!
List画面のアイコン画像の追加など。

List viewのタップにより、sheet view表示(以下バグ有り)

Listの中で、tapするも、popupjはok navigation linkもok
なれど、sheetviewには、初期に値が渡らない。原因不明のバグ。
よって、navigation linkで行くことにする。

2022 令和4年 2月20日(日)

詳細画面作成に参考か
SwiftUI Essentials Building Lists and Navigation
How to control spacing around individual views using padding
The Complete Guide to NavigationView in SwiftUI
Custom navigation bar title view in SwiftUI

navigationview linkを元に見掛け調整。何とかokな水準。

detail view作成とpopoverview作成
popoverviewに関しては、detail viewのview内で表示されるので、spacerにて全域とする必要あり。

detail viewのpopupviewにて編集すると、main viewに遷移する問題。
取り敢えず、参考となりそうな検索wordは以下。
SwiftUI clear navigation stack

2022 令和4年 2月21日(月)

List と Pickerでの共有関連 以下参考サイト
SwiftUI – Picker with variable data source

LIST画面での編集
captionでの修正からkanmeとjnameの修正に切り替え作業。

バグ:
立ち上げ時、marker arrayは初期化されていないため、いきなり削除すれば、当然落ちる!!
対策考慮中。

2022 令和4年 2月22日(火)

編集関係で試行錯誤
captionを変更するため、前後で整合がとれない状態か。
captionでなく、latとlngで一意の判別文字で、考慮中。

marker と distapsymbolの相互参照
markerは変えず、distapsymbol内にlat lngから作成したidを追加。
IDは、lat lngを足したものする。これなら重複は無いだろう。
全面的にcaption判定からID判定に変更して、kname修正魔でok.

popupviewでの編集作業ほぼほぼ完了。
次は、detail viewでの編集着手。

重要!!
popup viewにて編集更新すると、main viewにジャンプする現象。
解決策!!
detail viewのondisappearにdistapsymbol関係の更新手続きを記述。
popupviewでは、detail viewのbind値を更新するのみ。(問題解決)

2022 令和4年 2月23日(水)

編集の追加により、順序が異なってくるため、SORT機能を追加。OK!!
【Swift / 多次元配列】structを型に持った配列をソートする

Property wrapper cannot be applied to a computed property

ツールバーの編集ボタンとmap popupviewmのソート(必要無し)
Mastering toolbars in SwiftUI

Google_searchAPI関係
メイン画面の画像を自動取得できないか。
item.ogImageをstuructiのimage urlとして保存?
いくつもあるので、何番目かなど考慮中。
何にしても、実現は可能と見立てる。

2022 令和4年 2月24日(木)

struct arrayの更新については、playgroundにて検証して可能を確認。
for loopのindexは不可で、[I]指定ならばok.

AsyncImageの埋め込みについて、再学習。
structにvar imageと追加するも、複雑となっており、
新しくnavermapを構築(kapp)再構築。
navermapサイト(コンソール)でkapp追加登録
新プロジェクトkapp作成。移植作業。
気付いたこと:
struct didTap_symbol オプショナル外してok。
model内でのfunc()による更新は、ok。indexは不可。
[0]ならok。

// 以下オプショナルとする。
@Published var temp_didTap_symbol:didTap_symbol?

画像の自動取得関連
以下にて、ok!!
print(items.items[1].pagemap.metatags[0].ogImage!)
(GsearchAPI5より)

2022 令和4年 2月25日(金)

現在位置表示
Privacy – Location When In Use Usage Description
↑追加

2022 令和4年 2月28日(月)

customsearch.googleapis
以下メッセージ
RATE_LIMIT_EXCEEDED
message = “Quota exceeded for quota metric ‘Queries’ and limit ‘Queries per day‘ of service ‘customsearch.googleapis.com’ for consumer ‘project_number:525092850420’.”;
reason = rateLimitExceeded;

注: 1 日あたりの割り当ては、太平洋標準時の午前 0 時にリセットされます。
API リクエストの制限と割り当て
アメリカ太平洋標準時
アメリカ太平洋標準時

Googlesearchapi0に考察反映!!
How to Make a Simple Async GET REST API call in SwiftUI

メモ:
GsearchAPI
POPUPVIEWのlink SheetView
DetailView

Googlesearchが使えないこと前提として、再構築考察

detailviewにmapview を表示する。
(何らかの方法でmarkerが識別できるようにする。)
mapのcenterに表示する。

detailviewへのマップビュー表示完了!!

あとは、listviewのサーチ(確か ios15にあったはず)の実装。 

2022 令和4年 3月1日(火)

call out
NAVER Maps URLスキームは、他のアプリやWebページでNAVER Mapsアプリを起動して、場所のマーキング、検索、道順、ナビゲーションなどのさまざまな地図機能を実行するのに役立ちます。
マップのURLスキーム(Maps URL Scheme)
SwiftUI Maps: How to launch Google Maps from your app
Maps URL Scheme
サーチバー(追加済み)
How to add a search bar to filter your data

サーバーとの通信
タブビューにLIST VIEW追加

UIApplication.shared.canOpenURL
“This app is not allowed to query for scheme comgooglemaps”

LSApplicationQueriesSchemes
①comgooglemaps
②comgooglemaps-x-callback

LSApplicationQueriesSchemes

urlscheme
urlscheme2
urlscheme3
urlscheme4

パーセントエンコーディング
UIApplication.shared.canOpenURL
上にて、google mapsに渡すパラメータの
Google search apiサイト内に以下あり。
「Swift で日本語を含む URL を扱う」サイト内検索

2022 令和4年 3月2日(水)

昨日、今日で、link関係(detail popup)終了。
今日から サーバー関係(書き出し、読み取り)
これまでの詳細は、SWIFT UI・PHPにあり。

2022 令和4年 3月4日(金)

HTTP GET VIEWのCATEGORY(PICKER選択)によるDBからの読み取り完了

search barとcategoryを含めた検索はok!! 以下サイト
Filter by multiple array conditions

HTTP版のlistとdefault版のstructの違いにより、detail viewが共有できない案件。
まずは、共有できるかの検討が必要!!

2022 令和4年 3月5日(土)

detailviewのmapのmarkerタップによるpopupview表示に改修。

naver地図をdetailと旧するとバグ発生。これにより別途 detail用にタップイベント配置

2022 令和4年 3月6日(日)

Listview picker外観及び動作確認 OK!!

2022 令和4年 3月7日(月)

mapviewへのcategory picker設置完了。機能の追加はこれから。

試行錯誤するも、カテゴリーに応じて、MARKER表示をコントロールするには、MODEL内に描画プロセスを作成するしかないと思われる。
今後の宿題。(解決済み 記録無しなので、詳細は、sourceから)

2022 令和4年 3月11日(金)

カテゴリー表示の際に削除すると不整合が起き、最悪落ちるバグ原因は、search text使用のため。改修し、okとなる。

2022 令和4年 3月13日(日)

K_appWW 関係改修
書き込み成功の場合や失敗の場合のメッセージ表示関連
response.statusCodeの取得関連ok!!

関連サイト;
Swift URLSessionでHTTPレスポンスコードを取得する方法
Swift how to get response.statuscode in swiftui view
再度コードを見直す際に参考サイト:
HTTP Request

apple登録
GIMPアイコン半分くらいまで。。。

① GOOGLEMAPやNAVERMAPがインストールされていない場合のアラート処理が必要!!

2022 令和4年 3月14日(月)

GIMPアイコン再度考察中(済み)

② struct構造に拡張性を持たせること(済)

2022 令和4年 3月18日(金)

カテゴリーのバグ、detailでの共有バグ改修。
tag view 最終的 3tagとする。
おおよそ完成。。データ入力を行っての最終確認。とconnect登録作業。

ひとりか複数か 追加機能実装中。
structに追加等の作業が必要。これから

2022 令和4年 3月19日(土)

お一人様追加作業完了

preview消去!!
xcrun simctl –set previews delete all

2022 令和4年 3月22日(火)

detail popup viewの更新時の表示について、バグ改修。変更即時表示。

2022 令和4年 3月24日(木)

審査UPLOAD 位置情報と試行版のふたつで却下!!

2022 令和4年 3月25日(金)

位置情報修正、launch screnn付加、試行版の記述削除 groupを共有に変更

Congratulations!

Your submission was accepted for release on the App Store.

2022 令和4年 3月26日(土)

map popupview マーカーカラー調整 更に関連項目

今後として:
ローンチ画面 GIMP
残りの情報を入力しながらデバッグ
スクリーンショット変更
ios15のチャット機能など

2022 令和4年 4月8日(金)

google custom search関連 詳細はそこに記入!!

カテゴリー表示をpickerからsheetに変更 進行形!!

2022 令和4年 4月9日(土)

カテゴリー表示をpickerからsheetに変更完了!!
http detail view バグ修正!!(caption表示)

2022 令和4年 4月10日(日)

HTTP READをASYNCに変更完了。

2022 令和4年 4月11日(月)

list画面 sort表示追加 ok.

How to position views in a grid using LazyVGrid and LazyHGrid

2022 令和4年 4月12日(火)

一部デザイン(色など変更)、実データ入力し検証中。

2022 令和4年 4月13日(水)

実データ入力し検証中。