code ソーシャル

Unityアプリcodetips(91)

スポンサーリンク

//tips

//UserDefaults.standardの保存について

該当のエラー箇所が解決されたので記載する。

NavigationView{
List{
ForEach(0..<tasks.count, id: \.self) { index in
TextField("PlainTextFieldStyle", text: self.$tasks[index] , onCommit: {
UserDefaults.standard.set(self.tasks, forKey: "キー")
})
}
//Text(self.tasks[task])}
.onDelete(perform: rowRemove)
}
.navigationBarTitle("Menu")
var tasks = userDefaults.array(forKey: "キー")

}

NavigationView内にUserDefaultsをそのまま置くとエラーになるようで、 TextFieldのonCommitの中にUserDefaultsを書くことでエラーを解決できた。

実はTextFieldにはonEditingChanged: (Bool) -> Void、onCommit: () -> Voidというイベントを引数にとることができ、

ユーザーがアクションを起こしたタイミングで実行する処理をonCommit以下に記載することができる。

下記参照。

https://capibara1969.com/1546/

Unityで使用していたC#と異なり、swift言語は、ロジックというより、知識量を要求されているので、swiftを使いこなせるには忍耐が必要になりそう。獲得しやすい知識であればいいが、獲得しにくいものは知っている人に聞く以外にない点が厄介。

現在はnilの取り扱いでコード上に問題が起きているので、内容を確認する。

Value of optional type '[Any]?' must be unwrapped to refer to member 'count' of wrapped base type '[Any]'

Xcodeでのエラー内容は上記だが、swiftのplaygroundではエラーが出ていない模様。

オプショナル型とは変数にnilの代入を許容するデータ型で、反対に非オプショナル型はnilを代入できないもの。オプショナル型の変数にはデータ型の最後に「?」か「!」をつける。

こちら!をつけても?をつけてもエラーになるので確認中。

//iOS Certificate の作成

Certificate」でリリースのための証明書を発行。アプリごとの「Apple ID」を作成。それらを利用して「Provisioning Profile」を作成。ファイルをパソコンにダウンロード。最後に「App Store Connect」へアプリの詳細情報を登録・申請という流れで行う。

Macで「キーチェーンアクセス」アプリを起動し、上部のキーチェーンアクセスから証明書アシスタント > 認証局に証明書を要求をクリック。自分のメールアドレス(私の場合はappleに紐づいたicloudのアドレス)を入力し、要求の処理をディスクに保存に設定し、完了。CertificateSigningRequest.certSigningRequestを保存する。

Apple developerのサイトでCertificates, Identifiers & ProfilesのCertificates横にあるプラスボタンを押し、iOS Distribution (App Store and Ad Hoc)を選択。

ファイルをアップロードしてくれという指示が来るのでCertificateSigningRequest.certSigningRequestをアップロード。これによりDownload Your Certificateから .cerファイルをダウンロードできるようになる。これも保存。

//apple developer アプリ申請

次に、App IDの作成を行う。

Certificates, Identifiers & Profilesからidentifierページ
のプラスボタンを押し、App IDsのページに入りプラスボタンでIDを選択。

記入項目にあるBundleIDはXCodeでアプリ作成する際に設定したものを記載。
Descriptionは日本語は記載できなかったので英語名を入力した。

//provisoning profileの作成

profileページからプラスボタンを押し、iOS App Developmentを選択。その後にApp IDを求められるので先ほど作成したものを登録。

Select Certificatesで先ほど登録したCertificateを選択。

わかりやすい名前をつけてGenerate a Provisioning Profileで作成し、ダウンロード。

そのファイルをダブルクリックすればxcodeに反映されるらしいが、私の場合は、xcodeは反応せず、signingからProvisioning profileを確認し、先のものを設定すると、

doesn't include signing certificate "Apple Development:

とエラーが表示された。

XcodeのPreferencesを選んでManage Certificates をクリック。その後左下のプラスボタンを押し、apple distributionを設定する。

Apple developerページもどり、certificatesに先ほど作成しているものがきちんと追加されているか確認。

確認できたら、profilesページに行き、プラスボタンをクリック。今度はdistiributionのapp storeを選択する。

 

 

人気の記事

1

皆さん、ついに、エアラインでも、サブスクリプションが始まったのはご存じですか? まだ実験段階ですが、ANAが、定額全国住み放題サービスを提供する「ADDress」と組んで、国内線を4回まで定額利用可能 ...

2

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

3

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

4

ついに、noteの月間アクティブユーザー数が4400万人(2020年3月時点)に到達しました。 そもそも、「note」とは、クリエイターが、文章やマンガ、写真、音声を投稿することができ、ユーザーはその ...

5

ボードゲームカフェが1日2回転で儲かるという記事をみつけたので興味を持ち、調べてみました。 まずは、需要がどれくらいあるのか、市場のようすからみていきましょう。 世界最大のボードゲーム市場はドイツで、 ...

-code, ソーシャル
-,

Copyright© BUSINESS HUNTER , 2023 All Rights Reserved Powered by AFFINGER5.