k_app(+ swiftui coredata)

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日(水)

実データ入力し検証中。

2022 令和4年 6月9日(木)

VER1.1 2022年4月15日 2:52

HPPT版LISTの表示不具合(同じものがいくつも表示される。)
Mysql_Model3のHashable Equatableをnoからidに変更。多分おk。
確認して、アップデート要。
validateにてerror!!
原因は、前バージョンが1.11 今回1.2でエラー。
App Store Connect Operation Error
Asset validation failed

1.20にておk。
関連サイト(下の3に該当か)
App store connect operation error asset validation failed

18:20
Waiting for Review.

2022年6月9日 23:08 配信完了。


2023年


  • ios16に起因する不具合回収
  • 現在位置が表示されない。
  • toolbarが表示されない。
  • buttonの文字と枠がずれる。

2023 令和5年1月26日(木)
Pushing new views onto the stack using NavigationLink
How to create a toolbar and add buttons to it
[Swift] SwiftUI で実装した searchable の見た目をカスタマイズする

2023 令和5年1月27日(金)

現在位置が表示されない。
新たに falseからtrueに変更して表示させる。
view.showZoomControls = true
// 2023 追加
view.showLocationButton = true

buttonの文字と枠がずれる。
最新Xcodeでコンパイル実行して正常に表示!!枠に収まらないため長さを変更

toolbarが表示されない。
ios16でのNavigationStackであれば表示できるが、
toolbarを使わずに、navigationBarItemsによる表示に変更
従って、buttomからtopでもbutton表示となる。

以上で不具合改修はok

[SwiftUI]Button(ボタン)の文字色を変えるには?

残るのは、navermapsのアップデート!!

2023-01-27 12:08:29.789778+0900 kapp[6738:385971] This app has attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain both “NSLocationAlwaysAndWhenInUseUsageDescription” and “NSLocationWhenInUseUsageDescription” keys with string values explaining to the user how the app uses this data
2023-01-27 12:08:29.797286+0900 kapp[6738:385971] [SceneConfiguration] Info.plist contained no UIScene configuration dictionary (looking for configuration named “(no name)”)
2023-01-27 12:08:29.797445+0900 kapp[6738:385971] [SceneConfiguration] Info.plist contained no UIScene configuration dictionary (looking for configuration named “(no name)”)

plistには無いが、TARGETのbuild settingに文字列の設定が有り。info plist value
許可することにより、現在位置が表示され、位置を確認することができます。

NSLocationAlwaysAndWhenInUseUsageDescription
NSLocationWhenInUseUsageDescription

“This app has attempted to access privacy-sensitive data without a usage description” error handling

以上ふたつplistに追加

今回は対処せず。。。
Info.plist contained no UIScene configuration dictionary (looking for configuration named “(no name)”)?

残るはnavermapsのアップデートのみ
現ヴァージョン 3.14.0

最終的に3.14.0 → 3.15.0にアップデート!!
やったこと。

pod update
CocoaPods 1.11.3 is available.
上は関係無しと思われる。

Podfileに以下を追加したこと。
,’3.15.0′
pod ‘NMapsMap’,’3.15.0′
Xcodeを終了し、以下コマンドを実行
pod install –repo-update
にてオーケーとなる。。。。

ファイルサイズ増加
174,104,186 バイト(174.8 MB)、285項目の合計
258,760,304 バイト(259.7 MB)、394項目の合計

2023 令和5年1月28日(土)

ios16上では、間隔が広がり表示 今のとこと対処法無し!!
How to adjust List row separator insets in SwiftUI

アプリを一旦削除した場合の救済措置として、サーバデータをUserDefaultsに保存
サーバから読み込み、userdefaultへ保存部分完了
struct Http_GET_mysql3: View {………}
func save2UserDefaults()
更に、navigationBarItemsにGETボタン追加

バグ改修!!!!
listviewからの削除昨日不可
見た目削除されるが、再度起動すると削除されていない。
viewModel.save_symbols()
の抜け有り。(UserDefaultsに保存されていなかった)
追加して正常動作確認。。。

2023 令和5年1月29日(日)

パーソナル部分のgroupとおひとり様機能不具合
isaloneが抜けていたので追加改修してOK。(多分save2UserDefaults関連)

appleアップロードにて問題
————————————-
ITMS-90899: Apple silicon Mac support issue – The app is not compatible with the provided minimum macOS version of 12.4. It can run on macOS 13.0 or later. Please specify an LSMinimumSystemVersion value of 13.0 or later in a new build, or select a compatible version in App Store Connect. For details, visit: https://help.apple.com/app-store-connect/#/dev2de8e790b

After you’ve corrected the issues, you can upload a new binary to App Store Connect.
————————————-
ITMS-90863: Apple store connectでバイナリーが上がらない対処
appstore
価格および配信状況
Appleシリコン搭載のMacでのiPhoneおよびiPad用のApp
12.1から13.0に上げて解決か!!(確認要)

Launch Screenについて
file新規作成でLaunch Screenを選択!
story board画面が作成される。設定のgeneralに指定。

List padding(7)に変更 8から

2023 令和5年1月30日(月)

iphoneSEについて、以前登録した地点が、UserDefaultsにないため、データベースから
の読み込みはオーケーとなったものの、NAVERMAPSのヴァージョンを3.15に上げたため、
LAT LONの精度が上がり、IDとして認識不可となり、POPに情報が読み出せない不具合。
ベット、IDとは別にmarker.captionText.contains(symbol.kname)を設定し、
読み出し可能となる。。。。。

Launch Screenに図挿入
貼り付ける図の位置について以下サイト
position a view in storyboard at 1/3 of screen size

How do I check if a string contains another string in Swift?

2023 令和5年1月31日(火)

不具合の整理


version 1.2
ios16で実行した場合
・グループリスト、パーソナルリスト共
searchbarが見えない(背景が黒 文字列も黒のためか)機能はOK

・グループディテールビュー
タイトルが非表示
toolbarが表示されない。(naver google Link)

・パーソナルリスト
ディテールビューPOPUP
TEXTFIELDに文字が入力されていない。

・MAP
ピッカーの位置ずれ

・MAP POPUP
ラベルの位置ずれ(カテゴリーの文字数による)書き換えや保存はOK


version 1.2

ios15.5で実行した場合
・グループリスト、パーソナルリスト共
searchbar良好

・グループディテールビュー
タイトルが非表示
toolbar良好動作

・パーソナルリスト
ディテールビューPOPUP
TEXTFIELD文字入力OK

・MAP
良好

・MAP POPUP
良好


version 1.2

xcode14 ios16で実行した場合

・グループリスト、パーソナルリスト共
searchbarが見えない(背景が黒 文字列も黒のためか)機能はOK

・グループディテールビュー
タイトルが非表示
toolbarが表示されない。(naver google Link)

・パーソナルリスト
・DETAILVIEWPOPUP
TEXTFIELDに文字が入力されていない。
ラベルの位置ずれ(カテゴリーの文字数による)書き換えや保存はOK
バグ改修!!!!
listviewからの削除昨日不可
見た目削除されるが、再度起動すると削除されていない。
viewModel.save_symbols()
の抜け有り。(UserDefaultsに保存されていなかった)
追加して正常動作確認。。。

・MAP
ピッカーの文字はみだし

・MAP POPUP
ラベルの位置ずれ(カテゴリーの文字数による)書き換えや保存はOK


現在位置表示
ズーム表示を追加すること。
plistへの追加

2023 令和5年2月2日(木)
version 1.2
xcode14 ios16版 改修
PopUpView onEditingChanged部分 削除
listviewからの削除不可 改修
現在位置表示
ズーム表示を追加
MapView ラベル幅 130 200
Toggle
.foregroundColor(.brown)
.tint(.brown)
お一人様とカテゴリーを文字が一行に収まらないため二行に又逆に配置
タイトルを非表示に(縦幅がせまくなったため)
plist追加
Detail_MapView 現在位置等追加
サーチバー不具合改修
detailviewpopupのtextfield表示については、onAppearを追加して代入してオーケー
残るはtoolbar
グループリストディテール版に改修済み有り

NavigationView ListView(navigationBarItemsの後)良好

Http_GET_mysql3(List{}の後)不具合(多分backの文字列のことか、解決策無し)

2023 令和5年2月3日(金)

リストビュー(パーソナル、共有共)topのボタンの装飾

以上で改修完了か

残るは、navermapsのバージョンアップ
及びそれに伴うID部分の改修作業(まずは該当箇所の調査から)

userdefaultが消えた場合のサーバからの読み出し部分のコピペ(save2UserDefaults
Http_GET_mysql3に実装有り。

ここまでで、取り敢えずapple アップデート アップロードしてわずか3時間弱で審査通過!!ver1.3 公開!!


ID関連

NaverMapView2は、あくまで初めてnavermap上でクリックした時の処理
ただ地図をクリックしたときdidTapMap
地図上のシンボルをクリックしたとき(navermapが設定したもの)didTapSymbol
temp_marker
temp_didTap_symbol
save_symbols
単に新しくIDを作成して保存するのみ、照合は無し!!

マーカーをクリックしたときの処置(二度目以降・・・)
didTap_symbol MapSceneViewModel make_marker marker_handler
マーカークリックの緯度経度からIDを作成し、didTap_symbolsを検索し、
temp_didTap_symbol経由でPOPUPに渡す。
POPUPの項目が変更された場合ID検索し、該当のdidTap_symbolをアップデートする。改修済み

ListView deleteの際にIDを使用する。(改修済み)
DetailView Detail_MapView marker_handler
独自のMapViewを持つ。ハンドラーを内蔵し、他マーカーとの識別あり(IDを使う)(改修要なれどここは不可能か)
数多くあるマーカーの中で該当マーカーのみポップアップする判断として利用(ID)
DetailView onDisappear ポップアップで変更された値を更新する。(ID使用)
実際は、DetailView onDisappear{}内で実行される(改修要済み)

PopUpView get_didTap_symbol(ID)(モデル版利用に改修済み)


App Store アップロードして3時間あまりでオーケーとなる。

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

Launch Screen関連(再び 上にも関連あり)

まず上のコンスとレインを設定し、これをボトムにかえること。
あとは、1:3を設定する。

MapSceneViewModel内にfunc()を作成か

didTap_symbol MapSceneViewModel update_symbol についても(改修要)

// test test test
viewModel.id2get_symbol()

Detail_PopupviewとPopupviewの削除(trashアイコン)必要(改修要)

popupviewの関数のモデル内への移植完了!!
LISTviewの関数のモデル内への移植完了!!
DETAILviewの関数のモデル内への移植完了!!

id2get_symbol_caption追加

draw_marker 日本語 韓国語の順 naverの仕様のままに変更!!

2023 令和5年2月5日(日)

ID版からCAPTION版に変更開始
id2get_symbol_caption()
釜山駅
부산역
CAPTIONには上のふたつが改行を挟んで格納される。
MODEL marker_handler 改修済み
POPUP 改修

2023 令和5年2月6日(月)

山の場合は、symbol = 용두산 (51.3m)

CAPTIONの変遷について
NaverMapView2 didTapSymbol NAVERから受け取ったまま
PopUpView close namek namejが変更されたときに変更

そもそも論・・・・・・・・・・・・・・・・・・・・・・
navermap(NaverMapView2)をタップしたときは、新規なので問題無し!!

問題:
navermapのマーカーをタップしたとき
マーカーの緯度経度がより詳しくなったため、この緯度経度(ID)
で検索しても、以前のバージョン緯度経度(ID)とは異なるので、
ヒットしないこと。(marker_handler)
なので、CAPTIONで検索し、該当のtemp_didTap_symbolを得る。

POPUPVIEWは、temp_didTap_symbolから情報を取得。
・削除 マーカー緯度経度(新)で検索しても該当しない。
よってviewModel.temp_didTap_symbol.captionにより検索し
削除する。
CAPTION版 古いcaptionで呼び出して新しいもので置き換える!!

ListView
削除は、viewModel.didTap_symbolsのIDを仕様するため、
このまま。。。
マーカーから作成したIDではないため。

DetailViewは、item渡しなので、シンボル検索は不要ではなく必要
Detail_Popupviewに引数で渡す。
変更は、flag_for_editedにより、DetailView内で変更を保存
(onDisappear)
IDを使用するものの、didTap_symbolsのIDのため、このままかと思いきや修正が必要

色 color 編集済み


Podfileに以下を追加したこと。
,’3.15.0′
pod ‘NMapsMap’,’3.15.0′
Xcodeを終了し、以下コマンドを実行
pod install –repo-update
にてオーケーとなる。。。。

Http_GET_mysql3 save2UserDefaults(GET) 実装
caption = item.jname! + “\n” + item.kname!
として、格納
draw_markerでは、let caption = symbol.caption
して描画

これでひとまず一段落か

では無く

宿題
LISTVIEWのdelete処理
IDを使っている為削除出来ず(マーカータップ緯度経度仕様のため)
POPVIEWでCLOSEするときに、IDも新IDとなるため、
ヒットしない可能性あり
シンボルは削除できてもマーカーは出来ない可能性

CAPTION版に変更!!!!!

GET処理については、以下の手順で良好動作

Http_GET_mysql3 caption = item.jname! + “\n” + item.kname!
draw_marker caption
get関係は caption

2023 令和5年2月7日(火)

Detail_MapView改修要!!済み
マーカータップの処理 IDからCAPTIONへ変更

APPLE STORE 2.0としてアップロード!!
2023年2月7日 10:33 審査待ち!!


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

これまでの整理::

navermapのverupに伴う緯度経度の詳細化対応

従来のIDからCAPTION(KNAME + JNAME)による検索に切り替えたこと。
モデルには変更なし。
よって、IDには緯度+経度がはいることは変わらない。
CAPTIONは、KNAME + JNAME

USERDEFAULTを一括して、DBに保存する関数を以前作成していたことに気付く。
これを使って、一括保存を追加すること。旧DBは保存の事!!

サーバ phpプログラム:
個別postは、K_appWW.php(json折り返し無し DetailView Button(“共有”)
全postは、K_appW.php(json折り返し有り Http_POST_mysql )
↑は、isaloneを含まず、反映しない。WWの方を使うこと。

両方ともresponse(printする機能有り)

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

ローカル追加を忘れてた場合の処置追加。(サーバ保存)
利用するときは、TABの以下コメントを外すこと。
Http_POST_mysql
UserDefaults2SQLServer(ALL)ボタンを押下するとサーバのDBに格納される。
逆の行為は、Http_GET_mysql3のナビゲーションバーのGETを押下する。

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

高知にてバグ改修
ver 2.01 審査へアップロード
list及びlistーdetailviewの削除不具合やデータ更新不具合改修
(修正のマーカーでの表示や削除でerrorとなる点について改修)
IDからcaptionによる変更の改修不十分による。
The following app has been approved for the App Store:

App Name: kapp
App Version Number: 2.01
Platform: iOS

2023 令和5年4月25日(火)

userdefultからcoredataへの移行

★★★CoreData-with-MVVM(これを元に構築①)
★Tutorial-CoreData-with-MVVM

coredataモデル関連サイト
Implementing CoreData in SwiftUI project using MVVM architecture
Git Hub CoreDataMVVMSwiftUI ↑ ダウンロード
↑ダウンロードEmployeesViewModel.swift

↓request.predicateの使い方
Check before the update in Core Data</a

【Swift】Core Dataの使い方。Relationshipを使った具体的な実装方法(Swift 2.1、XCode 7.2)

既存プロジェクトにCoreDataを入れる(CoreData 手習い#1)

Project 13: Instafilter所在
/Volumes/TOSHIBA_1TB/MacBook-Pro-デスクトップ-BK/Back to 100 Days of SwiftUI/100 Days of SwiftUI-DOWNLOAD

SwiftUI × CoreDataでCRUD機能を持つ簡単なメモアプリを作ってみた

ダウンロード
Implementing CoreData in SwiftUI project using MVVM architecture
CoreDataMVVMSwiftUI

PhotosPicker関連

【SwiftUI】カメラ撮影画像とライブラリー画像のCoreDataへの保存と読み込み

★★★photospicker(これを元に構築②)
★How to let users select pictures using PhotosPicker Hacking Swift

iOS 16から使えるPhotosPickerの使い方

Project 13: Instafilter(100days iPhone developperにあり)写真加工

NSPredicate 全構文解説
NSPredicate 全構文解説

preview
There’s a quick-key stroke as well: Option + Command + Enter

SwiftUI Image(systemName:)で使用するアイコン名の一覧
SwiftUI Image(systemName
:)で使用するアイコン名の一覧

Download SF Symbols 4

★★★有用サイト(これを元に構築③)
SwiftUI ImagePicker save (Image -> UIImage –> Data) to Core Data

2022 令和5年5月3日(水)

本日より、coredatamodelやphotopickerをkappに組み込み!!
popupviewへの組み込み(写真選択と表示まで完了)
上にて保存した画像を別viewにて表示完了。

今後は、listViewでの保存画面表示(asyncも検討)
画像削除
検索KEYWORD

swiftui how to make image like twitter

twitter-like-animation(中国)Sep 14, 2022 — GitHub
HuangRunHua / swiftui-animation-demo

SwiftUIのButtonの使い方

タップ可能なボタンを作成する方法
How to create a tappable button

2022 令和5年5月5日(金)

ここ数日、画像ZOOM検索そしてtwitter-like-animation(中国)の解析
list版に書き換え、解析も完了。

今後は、kapp+(photopickerからの取り出し、coredataへの格納は一段落)ルックアンドフィールを見ながら改善し、
listviewへのzoom組み込み予定

MatchedGeometryEffect() を使用して、あるビューから別のビューにアニメーションを同期する方法

How to synchronize animations from one view to another with matchedGeometryEffect()

【SwiftUI】matchedGeometryEffectでできること

2022 令和5年5月6日(土)

Magic Move in Keynote
画像ズーム関係一段落、LazyGridをListViewに置き換え、ButtonをTapに変更して、OKとなる!!

【SwiftUI】matchedGeometryEffectでできること

★How to synchronize animations from one view to another with matchedGeometryEffect()

MatchedGeometryEffect() を使用して、あるビューから別のビューにアニメーションを同期する方法

List

In Swift, how to reduce an image file size to a specific size? e.g 1MB

2022 令和5年5月7日(日)

@FetchRequest 検索キーワード
動的フィルタリング このサイト内リンク
100 Days of SwiftUI(DAY 58(Project12 part 2))

2022 令和5年5月10日(水)

2022 令和5年4月25日(火)に着手しておよそ2週間
ようやく原型が完成!!
photopickerにて取得し、coredata保存
listにて表示し、アルバムで表示まで完了!!
最大の難関は、coredataからの取り出し部分
その都度fetchでは上手くいかず、試行錯誤
最終的にallfetchしたものをforループで回して、該当写真を得ることで解決!!

今後の参考
How to add custom swipe action buttons to a List row

残りの課題

  • ズーム機能
  • popupviewでのcaption変更時(旧名写真削除 旧captionで削除OKか?)

2022 令和5年5月13日(土)

swift  first where(調べること!!)key word

zoom機能の組み込み完了(あとは微調整)

UUIDの渡しで戸惑ったが解決。おおもと(foreachループ)のIDでも問題ないかもとも思う今!!
いずれにせよ、うまく働いている模様!!

2022 令和5年4月25日(火)から5年5月12日(土)

約半月間!!にて、写真組み込み完了!!

2022 令和5年5月14日(日)

popupviewの削除(closeではない)での写真削除追加

LISTの画像消え残り、エトセトラ試みるも不可
残るは、ViewMODELの何らかの更新・書き換えか
POPUPVIEWではうまく行き、coredetailviewでうまくいく違いはそれくらい。。。
しばし休んで、再チャレンジ!!

indexsetについて、サイト発見 以下
SwiftUI – Indexset to index in array

2023 令和5年5月15日(月)

課題解決
coredataviewのondelete処理内に画像削除に加え、viewmodelの該当synmbolを更新update
することで画像の消え残りは解消!!

残る課題は、

  • リストから移行するpopupview版の写真対応 済み
  • popupviewでのcaption変更時(旧名写真削除 旧captionで削除OKか?)済み
  • 写真を挿入した場合のアイコンでなく実写真の表示(POPUP VIEW) 済み

2023 令和5年5月16日(火)

本日
ほぼほぼ作戦完了 kapp+

2023 令和5年4月25日(火)〜2023 令和5年5月16日(火)

所要 3週間

VStackにて .padding()を利用すると座右に空白が出来る(微調整 ルックアンドフィールが微妙)

2023 令和5年5月17日(水)

Toggleによる値変更について知るには以下サイト

.onChange(of: isalone) { _ in flag_for_edited = true }

How to run some code when state changes using onChange()

Http_GET_mysql3
//————-
// 2023 01 28 追加 サーバから読み込んだものをUserDefaultsに保存する。
// 一時的に使用すること。
//————-
/*
Button(action: {
self.save2UserDefaults()
}) {
Text(“GET”)
}
*/
//————-

Http_POST_mysql
タップしたシンボルの保存用

UserDefaults2SQLServer(ALL)

2023 令和5年5月18日(木)

ヴァージョン2.10 審査提出

15:20 UPLOAD
The status of your app has changed to Waiting for Review.

App Name: kapp

17:51  In Review.

却下 スクリーンショット 5.5インチ必要

再提出 iphone8SEで作成し、サイズ調整 1242 2208

iPad 第2世代と第6世代は、共に6世代で作成し、提出 結果は????待ち!!20:20

辞書/辞典/その他 スクリーンショットの仕様


Bug Fix Submissions

The issues we’ve identified below are eligible to be resolved on your next update. If this submission includes bug fixes and you’d like to have it approved at this time, reply to this message and let us know. You do not need to resubmit your app for us to proceed.

Alternatively, if you’d like to resolve these issues now, please review the details, make the appropriate changes, and resubmit.

Guideline 2.3.3 – Performance – Accurate Metadata

We noticed that your screenshots do not sufficiently show your app in use. Specifically, your 5.5-inch iPhone, iPad Pro (2nd Gen), and iPad Pro (6th Gen) screenshots do not reflect recent changes made to the app’s user interface or design.

To help users understand your app’s functionality and value, your screenshots should highlight your app’s core concept. For example, a gaming app should feature screenshots that capture actual gameplay within the app.

Next Steps

Please revise your screenshots to ensure that they accurately reflect the app in use on the supported devices.

Keep in mind the following requirements:

– Marketing or promotional materials that do not reflect the UI of the app are not appropriate for screenshots.
– The majority of the screenshots should highlight your app’s main features and functionality.
– Confirm that your app looks and behaves identically in all languages and on all supported devices.
– Make sure that the screenshots show your app in use on the correct device. For example, iPhone screenshots should be taken on iPhone, not on iPad.

Resources

– To learn more about creating great screenshots for the App Store, see Optimizing Your App Store Product Page.
– To learn more about uploading screenshots, see App Store Connect Help.

Please see attached screenshots for details.

For details, next steps, and to ask questions about these issues, please visit the App Review page in App Store Connect.

スクリーンショットの仕様


2023 令和5年5月19日(金)
04:40 kapp+審査通過(写真バージョン)


2023 令和5年8月10日(木)

重複したデータの削除エラー対応
バグ改修開始 まずはコードを眺めて・・・・
Http_POST_mysql(viewModel.remove_symbol_kname(KNAME: “초량시장”)
上を参考に、
マップの削除部分やリスト削除部分に適応させる

ListView
func delete(offsets: IndexSet)

remove(at:)は以下のエラーチェックに対応せず
How to handle errors in functions

elseで何もしないことで、落ちないが削除もできずな状態!!

remove(at:)の所でerror発生 原因不明
重複データのチェック及び削除を別途考えるか?
今回は、remove(at:259)などとして三つの重複を削除

その他
カテゴリー追加

参鶏湯 ナクチポックム チョッパル