- 1. 【Swift】他アプリからファイルを受け取る
- 2. 【2022年】初めてのAppStoreリリース作業でつまづいた点まとめ
- 3. Couchbase Lite機能 解説:配列データへのクエリ
- 4. 【Core Data】LightWeight Migrationのやり方
- 5. [iOS] xibファイルを指定してViewControllerを生成する
- 6. iOS アプリ終了時 プッシュ通知表示
- 7. Sync Gatewayデプロイメント:ロードバランサーとの連携
- 8. Sync Gateway機能解説:Sync Gateway間レプリケーション
- 9. 「The Ultimate Guide to WKWebView」をSwiftUIで実装する #10 – Injecting JavaScript into a page –
- 10. Sync Gateway 機能解説:メトリクスREST APIとパブリックREST API
- 11. ARKitでカメラと平面との距離を測る
- 12. Couchbase Lite機能解説:クエリAPI④関数
- 13. [AppStoreConnect] In-App-Purchase商品の審査用スクリーンショットがアップロードできない場合
- 14. Couchbase Lite機能解説:クエリAPI③ 演算子
- 15. Xcode 13で作ったプロジェクトでbitriseでのCIビルドに対応する
- 16. 【Swift × RxSwift】 RxSwift を使ってコード実装してみた!
- 17. イニシャライザーってなんだ。
- 18. iPadOSの審査ではEthernet接続が使われている
- 19. WatchKit 機能調査メモ・リンクまとめ(2022年3月 – iOS15時点)
- 20. 言語モデルをiOSアプリで使うときに気をつけたこと
【Swift】他アプリからファイルを受け取る
# 備忘録
iOS15
### 受け取るファイルの拡張子を指定
“`swift
import UIKitclass SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
if let url = connectionOptions.urlContexts.first?.url {
【2022年】初めてのAppStoreリリース作業でつまづいた点まとめ
# 作成したアプリをAppStoreにリリースします
本記事は2022年2月20日ストア提出時点の内容です。
以下つまづいた点を列挙します。# 1.サポートURL
:::note alert
自身のHPを所有していない
:::これは自身のwebページを持っていない人はどうすればいいんでしょうか、、、
ググってみると、Twitterでも審査通ったという情報が出てきますがどれも2017年くらいかそれより昔の
情報で古い。
しかも、昔より審査は厳しくなっているらしいです。:::note info
結論:Github Pages を使用した
:::[GitHub Pagesとは(公式)](https://docs.github.com/ja/pages/getting-started-with-github-pages/about-github-pages)
簡単なサポートページをHTMLとCSSだけで作成してGithubのリポジトリを作ってアップしました。
そしてGithub PageのURLをAppStoreConnectに登録しました。作成したページ↓
[h
Couchbase Lite機能 解説:配列データへのクエリ
## はじめに
ここでは、Couchbase Liteデータベースで配列を含むJSONドキュメントへクエリする方法について解説します。
なお、Couchbase Mobileについては、[Couchbase Mobileアプリケーション開発へのロードマップ](https://qiita.com/yoshiyuki_kono/items/6a5bbad1b02196a25417)に記事をまとめている他、(これらの記事を元に構成した)以下の電子書籍を無償で頒布しています。
https://techbookfest.org/product/5074954942939136?productVariantID=5042865933647872
また、Couchbase Mobileは、Couchbase LiteとCouchbase Serverとのデータ同期機能を提供します。Couchbase Serverの存在意義、機能詳細、利用方法等については、拙著[NoSQLドキュメント指向データベースCouchbase Serverファーストステップガイド(インプレスR&D刊)](https:
【Core Data】LightWeight Migrationのやり方
## はじめに
個人でリリースしたアプリで`Core Data`と`CloudKit`を使用しており、機能追加に伴い`Core Data`を修正していくことになりました。**Core Data** のマイグレーションはドキュメントや記事を読む限り、そんなに難しくなさそうですが、しっかり理解したく記事にまとめました。## 環境
Xcode 13.2.1
Swift 5.5.2## ドキュメントを読む
ドキュメント:[Core Data – Light Weight Migration](https://developer.apple.com/documentation/coredata/using_lightweight_migration)
### Data Migrationの種類
**1. Light Weight (automatic) Migration**
Light Weight(自動)マイグレーションにより、アプリの変更に合わせたデータモデルの更新が可能。
**2. Heavy Weight (manual) Migration**
データモデルへの変更が自動マイ
[iOS] xibファイルを指定してViewControllerを生成する
ボタンタップなどで遷移する場合に、特定のストーリボードのViewControllerを生成する方法
~~~objc
Bool nib_b = YES;
NSString* nibname = @”Nibname_A”;// 条件により表示させたいストリーボード名称をセット
if( nib_b ){
nibname = @”Nibname_B”;
}// 特定のストーリーボードファイル名称のViewControllerを生成
UIViewController *vc = [[UIStoryboard storyboardWithName:nibname bundle:nil] instantiateViewControllerWithIdentifier:@”ViewConroller”];// 生成したViewControllerへ遷移
[self.NavigationController pushViewController:vc animated:YES];~~~
iOS アプリ終了時 プッシュ通知表示
・プッシュ通知受信 アプリが起動中に受信した場合
~~~
-(void)application:(UIApplication *) application
didReceivedRemoteNotification:(NSDirctionary *)usetInfo {
}
~~~・プッシュ通知受信-アプリがフォアグランドの状態である場合に、通知表示前にコールされる
~~~
-(void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void(^)(UNNotificationPresentationOptions))completionHandler{
NSLog(@”Push通知受信”);
}
~~~・プッシュ通知受信-ユーザーが通知をタップ後にコールされる
~~~
-(void)userNotificat
Sync Gatewayデプロイメント:ロードバランサーとの連携
## はじめに
ここでは、Couchbase Mobileを構成するSync Gatewayをデプロイする際のロードバランサーとの関係について解説します。
なお、Couchbase Mobileについては、[Couchbase Mobileアプリケーション開発へのロードマップ](https://qiita.com/yoshiyuki_kono/items/6a5bbad1b02196a25417)に記事をまとめている他、(これらの記事を元に構成した)以下の電子書籍を無償で頒布しています。
https://techbookfest.org/product/5074954942939136?productVariantID=5042865933647872
また、Couchbase Mobileは、Couchbase LiteとCouchbase Serverとのデータ同期機能を提供します。Couchbase Serverの存在意義、機能詳細、利用方法等については、拙著[NoSQLドキュメント指向データベースCouchbase Serverファーストステップガイド(インプレスR&D
Sync Gateway機能解説:Sync Gateway間レプリケーション
## はじめに
ここでは、Couchbase Mobileを構成するSync Gatewayの機能であるSync Gateway間レプリケーションについて解説します。
なお、Couchbase Mobileについては、[Couchbase Mobileアプリケーション開発へのロードマップ](https://qiita.com/yoshiyuki_kono/items/6a5bbad1b02196a25417)に記事をまとめている他、(これらの記事を元に構成した)以下の電子書籍を無償で頒布しています。
https://techbookfest.org/product/5074954942939136?productVariantID=5042865933647872
また、Couchbase Mobileは、Couchbase LiteとCouchbase Serverとのデータ同期機能を提供します。Couchbase Serverの存在意義、機能詳細、利用方法等については、拙著[NoSQLドキュメント指向データベースCouchbase Serverファーストステップガイド(イ
「The Ultimate Guide to WKWebView」をSwiftUIで実装する #10 – Injecting JavaScript into a page –
[「The Ultimate Guide to WKWebView」](https://www.hackingwithswift.com/articles/112/the-ultimate-guide-to-wkwebvie)をSwiftUIで実装してみるの、
10こ目になります。「[#02](https://qiita.com/kamimi01/items/c889979964820d5f9fa2)」の記事以来の、JavaScriptとのご対面です。
## 目次
シリーズ化していこうと思うので、全体の目次を置いておきます。
リンクが貼られていないアジェンダは、記事作成中または未作成のものになります。|#|タイトル|
|——|—————–|
|01|[Making a web view fill the screen](https://qiita.com/kamimi01/items/b4d6cbafa587831c1be0)
(WebViewを画面に表示する)|
|02|[Loading remote content](https:
Sync Gateway 機能解説:メトリクスREST APIとパブリックREST API
## はじめに
ここでは、Couchbase Mobileを構成するSync Gatewayの機能であるメトリクスREST APIとパブリックAPIについて解説します。
なお、Couchbase Mobileについては、[Couchbase Mobileアプリケーション開発へのロードマップ](https://qiita.com/yoshiyuki_kono/items/6a5bbad1b02196a25417)に記事をまとめている他、(これらの記事を元に構成した)以下の電子書籍を無償で頒布しています。
https://techbookfest.org/product/5074954942939136?productVariantID=5042865933647872
また、Couchbase Mobileは、Couchbase LiteとCouchbase Serverとのデータ同期機能を提供します。Couchbase Serverの存在意義、機能詳細、利用方法等については、拙著[NoSQLドキュメント指向データベースCouchbase Serverファーストステップガイド(
ARKitでカメラと平面との距離を測る

# 対象平面との距離を測りたい
# ARKitでヒットテストを行う
ARKitでヒットテストを行い、検知した平面の座標と、カメラの距離を計算することができます。“`Swift
let hitTestResults = sceneView.hitTest(sceneView.center,types:[.existingPlaneUsingGeometry])
guard let result = hitTestResults.first else { return nil }
let hitCoordinates = simd_float3(x: result.worldTransform.columns.3.x, y: result.worldTransform.columns.3.y, z: resu
Couchbase Lite機能解説:クエリAPI④関数
## はじめに
ここでは、Couchbase Lite 3.0の新機能であるSQL++/N1QLクエリAPIについて解説します。
なお、Couchbase Mobileについては、[Couchbase Mobileアプリケーション開発へのロードマップ](https://qiita.com/yoshiyuki_kono/items/6a5bbad1b02196a25417)に記事をまとめている他、(これらの記事を元に構成した)以下の電子書籍を無償で頒布しています。
https://techbookfest.org/product/5074954942939136?productVariantID=5042865933647872
また、Couchbase Mobileは、Couchbase LiteとCouchbase Serverとのデータ同期機能を提供します。Couchbase Serverの存在意義、機能詳細、利用方法等については、拙著[NoSQLドキュメント指向データベースCouchbase Serverファーストステップガイド(インプレスR&D刊)](https://
[AppStoreConnect] In-App-Purchase商品の審査用スクリーンショットがアップロードできない場合
先日、AppStoreConnectに商品を登録する機会があったのですが、審査用スクリーンショットがうまく登録できなかったので備忘録としてまとめておきます。
# TL;DR
下記のような点に気をつけて画像を作成する。
– **画像の解像度は 幅750px, 高さ1334px, 75dpi の画像を用意する**
– ブラウザはSafariを使う(念の為)
– 拡張子はpngにし、透過は削除する
– 多分画像は軽量な方がよい
– ファイル名は “screenshot.png” のようなシンプルなものにする(スペースや全角文字などを使用しない)この画像はアップロードできるはずです(2022/03/09現在)↓
# 問題について
AppStoreConnectで、自動更新サブスクリプションの登録時には、審査用のスクリーン
Couchbase Lite機能解説:クエリAPI③ 演算子
## はじめに
ここでは、Couchbase Lite 3.0の新機能であるクエリAPIについて解説します。
なお、Couchbase Mobileについては、[Couchbase Mobileアプリケーション開発へのロードマップ](https://qiita.com/yoshiyuki_kono/items/6a5bbad1b02196a25417)に記事をまとめている他、(これらの記事を元に構成した)以下の電子書籍を無償で頒布しています。
https://techbookfest.org/product/5074954942939136?productVariantID=5042865933647872
また、Couchbase Mobileは、Couchbase LiteとCouchbase Serverとのデータ同期機能を提供します。Couchbase Serverの存在意義、機能詳細、利用方法等については、拙著[NoSQLドキュメント指向データベースCouchbase Serverファーストステップガイド(インプレスR&D刊)](https://www.amazon
Xcode 13で作ったプロジェクトでbitriseでのCIビルドに対応する
最近、新規のiOSアプリをxcode13を使って開発しました。Xcode 13でbitriseのCIビルドについて設定方法が見つからなかったので、備忘録として展開します。
## 前提
– 以下の説明では、ソースコードはGitHub上で管理されているものとします。ただし、他のバージョン管理システム(Bitbucket, GitLab, etc.)も使用可能です。
– すでにbitriseのアカウントを設定していて、GitHubに対して接続完了している状態とします。## 1. Xcode上でTests iOSが実行できるよう設定
アプリのTARGETS設定にて、Tests iOS > Target Applicationを一度Noneにしてからアプリ名に指定し直す必要があります。デフォルト設定の場合、`UITargetAppPath should be provided`となり、UIテスト段階でビルドに失敗します。を使って RxSwift をインストール
2: ViewController のみで簡単に実装
3: ViewController と ViewModel で実装
4: TextField に入力された文字を Label として表示する
5: 単語集# SPM(Swift Package Manager)を使って RxSwift をインストール
[こちらを参考](https://qiita.com/Soccerboy_Hamada/items/037f80c95acc9ae9949e)# ViewController のみで簡単に実装
“`ViewController.swift
import UIKit
import RxSwift
import RxCocoaclass ViewController: UIViewController {
private let
イニシャライザーってなんだ。
# はじめに
野良でコードをまねていたりすると、たまに構造体の中に出てくるinit( ) 。
調べてみるとどうやらイニシャライザーというものらしい。
使い方が全く分からない。てかいらなくない?と思ってしまった。
しかし、イニシャライザーを理解できていない = しっかり基礎が身についていないということに気づいてしまいました。。。
そこで今回は、イニシャライザーについて備忘録的にまとめていくことにします。Swiftは勉強中ですので、間違えていましたら指摘いただけると幸いです。
# 目次
| 項番 | ページ内リンク |
|:—-:|:————-|
| 1 | [イニシャライザーとは](#-1-イニシャライザーとは) |
| 2 | [どのような時に必要なのか](#-2-どのような時に必要なのか) |
| 3 | [selfとは](#-3-selfとは) |
| 4 | [まとめ](#-4-まとめ) |# 1.イニシャライザーとは
結論から言うとイニシャライザーとは、 **「構造体の初期設定を実行するメソッド」** です。・・・???
わけわかんねぇよ。お
iPadOSの審査ではEthernet接続が使われている
先日、iOSアプリを審査に出したところ「iPadOSで起動時に通信エラーで進めない」とリジェクトされました。
これまでこのようなリジェクトを受けたことはなく、特にサーバーも問題なく動作していました。では、なぜ審査落ちになったのでしょう。審査落ちのメッセージに添付されていたスクリーンショットを確認したところ、通信インジケーターが出ていませんでした。通常、ここにはWi-FiやCellularのアイコンが表示されているはずです。

一応この点について指摘してみましたが「このデバイスは正しくインターネットに接続している。詳しくは教えられない。」という回答があったのみでした。
## iPhone/iPadに有線LANをつなぐ
Wi-FiやCellularの表示がなくても接続できる状況ってあるか…?いや、そういえばEthernet
WatchKit 機能調査メモ・リンクまとめ(2022年3月 – iOS15時点)
## はじめに
Apple Watch対応アプリを作ろうと思い、調査したドキュメントへのリンクをまとめました。
Apple Watchは年々本体の性能も上がっているし、それに伴いWatch OSの機能も増え、アプリで出来ることも広がっています。一方で、アプリ作成の情報は初期のWatch OS 時代の情報が多く、最近の情報は少なめ…の印象でした。
今Apple Watchアプリを作成するなら、基本に戻ってAppleのサイトから一次情報を得るのが一番良いと思います。
## WatchKit で実現できること
WatchKitは多機能な上に似ている用語も多く、結構混乱しました。WatchKitで何が出来るのか、整理して用語を覚えておきたいところ。
[WatchKit | Apple Developer Documentation](https://developer.apple.com/documentation/watchkit)
### iOS App with Watch App
* iOSアプリと連動して動作するWatchアプリ(Watchアプリ単体では動作しな
言語モデルをiOSアプリで使うときに気をつけたこと
機械学習のモデルは日々進化しており、言語モデルもその例の一つです。Webサービスとしてはかなり普及している印象ですが、モバイルアプリでの活用も考えるといくつか注意点があります。今回はその課題と対処法を考えていきます。
# 課題
Webと異なるモバイルアプリ独特の問題点には次のようなことが挙げられます。
– **アプリのサイズ**
– **デバイスごとの処理能力の差**
– **セキュリティ**## アプリのサイズ
機械学習の肝となるモデルはどうしてもデータサイズが大きくなってしまいます。もちろんモデル以外にもさまざまな機能をアプリ内に用意することを考えると負担の増加は避けられません。またこれらの事情はあくまでも知識のある私たちの目線であり、一般の人からすれば単に「やたらと容量を圧迫するアプリだな」という、使用をためらう原因になる恐れもあります。## 処理能力の差
モバイル端末にはそれぞれ処理能力に差があります。使われる端末が最新機種なのか、それとも古いものなのかはわかりません。クラッシュや電池消耗はアプリの評価に影響を与えることが多く、ここは注意する点です。## セキュリ