- 1. 服をセグメンテーションする cloth segmentation
- 2. 【SwiftUI】Watch Connectivity を利用して Apple Watch からバックグラウンドで iPhone にデータを送って画面更新する
- 3. 設計パターンとは ios
- 4. 【Swift】ジェネリクス?何それ美味しいの?
- 5. 【iOS × SPM】Swift Package Manager で RxSwift インストールしてみた!
- 6. 「The Ultimate Guide to WKWebView」をSwiftUIで実装する #08 – Reading a web page’s title as it changes –
- 7. 【Flutter】Error: Member not found: ‘packageRoot’.
- 8. PyTorchMobile-iOSで速度比較 「CPUのみ」「CoreMLバックエンド」「Metal」最速は?
- 9. [iOS] (社内アプリ等で)限定的にアプリを配布する方法をまとめてみた
- 10. WidgetKitで天気予報アプリ作ってみた〜タイムライン作成編〜
- 11. iOS / Android のロケールID一覧
- 12. iOS15以降では空セル挙動を切り替えるのにfillerRowHeightを使おう
- 13. 【Swift】Combineで作るアプリのテストコードを書いてみた
- 14. MRTK2.7.3 + AzureSpatialAnchorsSDK2.12をHoloLens2、Android、iOSで動かす
- 15. プログラミング未経験から始める!Flutterでアプリ開発【ios/android】
- 16. iOS 15.4におけるSharePlayに関するアップデート(FaceTimeをアプリから開始など)
- 17. 【iOS】制約ベースのアニメーションで簡単にアニメーション実装
- 18. 共通パーツはどのように共通化すべきなのか?(UIView)
- 19. iOS15/Safari html要素にposition: fixedを設定した状態でlandscapeへ画面回転するとinnerHeightがアドレスバー分小さくなる
- 20. 【個人開発】メモアプリのiOS版をリリースした話【Flutter】
服をセグメンテーションする cloth segmentation
#画像の中の服の領域だけを検出・分離する方法です
![]()
#衣服用のアプリケーションが作りたい
ファッションEC、試着アプリなど、服のセグメンテーションを行うことで、さまざまなアプリケーションが作れます。#機械学習で服の領域を検出
セマンティック・セグメンテーションを用いれば、自動で服の領域を検出できます。
以下のモデルを用いて、Pythonで手軽に実行できます。
https://github.com/ternaus/cloths_segmentation
また、
【SwiftUI】Watch Connectivity を利用して Apple Watch からバックグラウンドで iPhone にデータを送って画面更新する
## はじめに
iPhone でとある記録を取るアプリを作っていて,
Apple Watch でも記録取れると楽でいいよね〜ということになり,
機能実現できるかを簡単なサンプルアプリを SwiftUI で作って確認してみました。使う技術は **Watch Connectivity** を使います。
以前同じような内容で記事書いたのですが,こちらは iPhone と Watch 側が
それぞれアプリを起動してアクティブであることを前提にしていました。https://qiita.com/MilanistaDev/items/319e80033a185f31111e
ただ,実際に記録を取る際には急いでいたり,片手が塞がっていたりするため,
Watch 側で送信だけ行い iPhone 側のアプリを起動した際にデータを受信して
画面も更新する形の方が良さそうです。今回は Apple Watch 側でバックグラウンドのデータ送信を行い,
iPhone 側でちゃんと受信して画面更新ができるかを確認します。## Watch Connectivity
[Watch Connecti
設計パターンとは ios
# 設計パターン
設計パターンについて初めて調べたので記録のために残しておきます?
## ?what
一言で言うと、**「どういうパターンでシンプルにするか」**の設計のこと。
アプリ開発に慣れてくると、機能も多くなりコードを1つのファイル等に書きまくってFatViewControllerになってしまうことがあると思います。そんな時に設計パターンを意識することでみやすいコード、プロジェクトにすることができるのです。
設計パターンは別名アーキテクチャとも言います。今回はiosでの設計パターンを書きますが、他の言語においても概念としては同じことが言えます!
# ?Specific pattern
ここからは具体的なパターンを紹介していきます。##① MVC (iosでは cocoaMVC ともいう)
###特長:Viewとmode
【Swift】ジェネリクス?何それ美味しいの?
# はじめに
「ジェネリクスってなんやねん!」そう思っていた過去の自分にもわかるように、ジェネリクスの基礎の基礎の部分を説明していきます。この記事で説明するのは`関数`でどのようにジェネリクスを使うことができるかのみです。
この記事を読んでいただくことで、ジェネリクスを関数でどのように使えるか、ということがなんとなくわかるはずです!# 開発環境
– macOS Monterey (Version 12.1)
– Xcode (Version 13.2.1)
– MacBook Pro (13-inch, 2020, Two Thunderbolt 3 ports)# ジェネリクスのイメージ
ジェネリクスのイメージは___`「どんな型にもなれるやつ!」`___という感じです。
ポケモンでいうところのメタモンです。
ときにInt型に、ときにString型に変化することができる。そんなものだというイメージをまずは持っていただければと思います。
では、実際にサンプルを見ながら確認していきましょう。# 実際の例を使って考えるパート①
## Int型の値を表示する関数を作ってみる。
今
【iOS × SPM】Swift Package Manager で RxSwift インストールしてみた!
# 目的
Swift Package Manager でライブラリをインストールする手順を知ること
筆者の備忘録# 流れ
①: XCode の Package Dependencies へ移動
②: ライブラリ(RxSwift)の GithubURL を入力する# ①: XCode の Package Dependencies へ移動
「app → PROJECT → Package Dependencies → +」
# ②: ライブラリ(RxSwift)の GithubURL を入力する
RxSwift の Githubページ にアクセスする
「The Ultimate Guide to WKWebView」をSwiftUIで実装する #08 – Reading a web page’s title as it changes –
[「The Ultimate Guide to WKWebView」](https://www.hackingwithswift.com/articles/112/the-ultimate-guide-to-wkwebvie)をSwiftUIで実装してみるの、
8つ目になります。前回と結構似てるので、軽めにいきます。
## 目次
シリーズ化していこうと思うので、全体の目次を置いておきます。
リンクが貼られていないアジェンダは、記事作成中または未作成のものになります。|#|タイトル|
|——|—————–|—|
|01|[Making a web view fill the screen](https://qiita.com/kamimi01/items/b4d6cbafa587831c1be0)
(WebViewを画面に表示する)|
|02|[Loading remote content](https://qiita.com/kamimi01/items/c889979964820d5f9fa2)
(リモートのコンテンツ
【Flutter】Error: Member not found: ‘packageRoot’.
# iOSのビルドでエラー
Flutterの参考書として購入した本のサンプルを実行しようとしたら以下のようなメッセージが出て、ビルドができませんでした。
自分でプロジェクトを新規作成した場合は、ビルドが成功してiPhoneのシミュレータが起動するのに…。“`
Error: Member not found: ‘packageRoot’.
“`なんせFlutterをインストールして参考書を買ってきたばかりなので、右も左もわかりません。
とりあえずGoogle先生に聞いてみました。||
|:-:|ありがたいことにドンピシャの内容がありました!
https://stackoverflow.com/questions/70389267/error-member-not-found-pac
PyTorchMobile-iOSで速度比較 「CPUのみ」「CoreMLバックエンド」「Metal」最速は?
#TorchMobileでGPUパワーを使う
MobileNetv2をiPhone11で実行。
CPUのみ、CoreMLバックエンド、Metalバックエンドを比べてみました。
#PyTorchモバイルを高速で使いたい
#CoreMLバックエンドもしくはMetalが使える
CoreMLバックエンドやMetalを使用するようにモデルを設定できます。
これでデバイスのGPUやニューラルエンジンを使えるようです。https://github.com/pytorch/ios-demo-app
#変換方法
CPU
“`python
import torch
import torchvision
from torch.utils.mobile_optimizer import optimize_for_mobilemo
[iOS] (社内アプリ等で)限定的にアプリを配布する方法をまとめてみた
# 前提知識
## Apple Business Manager(ABM)
– Appleデバイスやアカウントを管理し、Mobile Device Management(MDM)による管理をサポートするための公式サービス。
– 法人であれば、無料で登録・利用可能。
– MDM製品と連携して利用するサービス。
– 実際に端末に適用させる設定を作るのがMDMで、配布するアプリを入手したり、端末を組織の所有物として紐付けたりしてMDMによる管理をサポートするのがABM。**参考リンク:**
**公式ドキュメント:**
https://support.apple.com/ja-jp/guide/apple-business-manager/welcome/web
※教育期間向けには同じ位置づけで[Apple School Manager(ASM)](https://support.apple.com/ja-jp/guide/apple-school-manager/welcome/web)がある。
#
WidgetKitで天気予報アプリ作ってみた〜タイムライン作成編〜
## 投稿の経緯
前回投稿した『WidgetKitで天気予報アプリ作ってみた〜Widget Extension追加編〜』の続編です。
今回はウィジェットで使うデータを作成するタイムラインを開発していきます。前回の記事を見てない方は先に↓こちら↓を確認してください。
https://qiita.com/nkekisasa222/items/744754523172035cc9bf
## 環境
Swift 5.5
Xcode 13.2.1## サンプルプロジェクト
GitHubにPushしています。気になる方はご覧ください。
https://github.com/ken-sasaki-222/WeatherWidget
## AppGroupsの追加
UserDefaultsに保存したデータを「Widget Exte
iOS / Android のロケールID一覧
端末の地域と言語の設定は、アプリでは Locale として観測できますが、Locale ID を網羅した最新のリストが見当たらなかったので CSV ファイルを作りました。数年前のデータは Google 検索すると見付かるのですが、広東語とかが入ってないんですよね。
# CSV ファイル
– iOS版 [ioslocaleidentifiers.csv](https://gist.github.com/okaxaki/e355b3784983edc8b357f48e92b0e69c)
– Android版 [androidlocaleidentifiers.csv](https://gist.github.com/okaxaki/fc4fa7c96812de6444cffdbeaa9d647f)# 製法
iOS は NSLocale の availableLocaleIdentifiers と localizedStringForLocaleIdentifier を使って、次のコードをビルドし、iOS 15.1 端末実機で動かして取得しました。OSバージョンが違うと結果は変わりま
iOS15以降では空セル挙動を切り替えるのにfillerRowHeightを使おう
iOS15の[UITableView](https://developer.apple.com/documentation/uikit/uitableview)では、ついに「空セルが表示されない」挙動がデフォルトになりました。以前は空セル表示がデフォルトだったため、それを消すために
“`swift
tableView.tableFooterView = UIView(frame: .zero)
“`のようなワークアラウンド実装を行なった開発者の方は多いのではないかと思います。
しかし、iOS15の挙動変更は[tableFooterView](https://developer.apple.com/documentation/uikit/uitableview/1614976-tablefooterview)のデフォルト値が空ビューになったの**ではなく**、空セルの挙動が新しい[fillerRowHeight](https://developer.apple.com/documentation/uikit/uitableview/3801921-fillerrowheigh
【Swift】Combineで作るアプリのテストコードを書いてみた
## はじめに
`Combine`を使った通信まわりのテストコードの情報がまだ少ないように感じましたので、作ったサンプルアプリのコードを載せてみようと思い、書いてみました。
今回のアプリのアーキテクチャは、MVVMです。## この記事でわかること
– `Combine`で`URLSession`を使ったリクエストを書いたときのテストコードの書き方
– MVVMで実装したときのテストコードModelのテストよりも、個人的にはViewModelのテストのほうが、`Combine`特有の実装が必要だと思うので、ViewModelの方が重要かなと思います。
## Model層のテスト
今回のModel層は、実際にAPIに対してリクエストするところが該当します。
コードには、すべて`Combine`をimportしてください。#### アプリのコード
“`swift
protocol GithubAPIClientProtocl: AnyObject {
func searchRepositories(searchWord: String) -> AnyPublisher
MRTK2.7.3 + AzureSpatialAnchorsSDK2.12をHoloLens2、Android、iOSで動かす
# 環境
– Windows10 PC
– iPhone 12 Pro
– HoloLens2
– Android 10
– Unity 20203.4f1# Azure
Azureポータルにログイン
Spatial Anchors Accountsにアクセス
各種値を入力して作成
下記値をメモしておく。
Account ID , Account Domain , Access Key# Unity
Unity HubからProjectを作成
[MixedRealityFeatureTool](https://docs.microsoft.com/ja-jp/windows/mixed-reality/develop/unity/welcome-to-mr-feature-tool)を起動しProjectPathを指定

  
## はじめに
アプリを作っているときに複数画面で同じような表示をみかけると共通のカスタム View として切り出すことがよくあります。しかし、安易に共通化すると後々の仕様変更時に痛い目にあう可能性があります。痛い目にあわないように共通のカスタム View はどのように作るべきなのか考えたいと思います。
(明確な答えがあるわけじゃないのでポエムのようなものです:innocent:)## 事象
添付のような画面があった場合、下部の金額表示部分は同じなので共通化したくなるはずです。|画面A|画面B|
| — | — |
|ため、
html要素から`position: fixed;`を外すことでしか対応できなかった。
【個人開発】メモアプリのiOS版をリリースした話【Flutter】
## はじめに
Flutterで開発したメモアプリのiOS版をリリースしました。android版から遅れて約2か月くらいです。android版リリース時の記事は[こちら](https://qiita.com/taki0010/items/c38827089ef04d01c91a)。今回は、android版リリース後に必要だと感じた機能を実装するために利用したパッケージなどを中心に書きたいと思います。
https://play.google.com/store/apps/details?id=com.karas.notespod
https://apps.apple.com/jp/app/notespod/id1600436936
—
### receive_sharing_intent [→](https://pub.dev/packages/receive_sharing_intent)
この **Notespod** は、メモにいろんなデータを添付できるアプリです。ストレージ内のデータについては`file_picker` のようなパッケージで持って来ればいいんですが、