- 1. 暗い場所で撮影された動画をくっきりあかるくする 機械学習で数行のコードで
- 2. [Swift]シングルトンを実装してみよう
- 3. flutter_native_splash使ってみた
- 4. iOS APIでは RSA/ECB/OAEPwithSHA-256andMGF1Padding の暗号化・復号ができない
- 5. Expo (React Native) でViewを画像に変換してデバイスに保存する
- 6. AndroiderのiOS奮闘記~UIKitとは~
- 7. 小学生でも分かるswift構文2
- 8. Swift Playgrounds「地震計」Appプロジェクトを解説する
- 9. Flutterベースのモバイル向けタイムラインの作成
- 10. 機械学習は最新モデルがどんどん発表されるけど、どれが一番いいの? CoreML-Modelsでかんたんにくらべられるので、頂上決戦してみた
- 11. 【Unity iOS Build】M1 Macでビルドエラーになった時に見たリンク等
- 12. Realm に手書きの線を一本保存して取り出す
- 13. 動画に好きな処理をしたい! そんなライブラリがあったので、実写をアニメにした
- 14. iOS15からの’windows’ was deprecated in iOS 15.0: Use UIWindowScene.windows on a relevant window scene insteadに対応する
- 15. Flutter dSYMをアップロードする
- 16. iOSで「iSH」を使用してasciidocを書く
- 17. 【Swift】Firestore × Codableの通信を共通化する
- 18. 実機でflutter run ios時にSigningを設定しているのにエラーが出る
- 19. アニメからスケッチを抽出 あのアニメもAnime2Sketchでかんたんに
- 20. Swift Playground4「予定表」Appプロジェクトを解説する
暗い場所で撮影された動画をくっきりあかるくする 機械学習で数行のコードで
#暗い場所で撮影された動画を、明るくする方法です
かんたんに機械学習モデルをつかって実行します。#暗くて不明瞭な動画から情報をとりたい
個人のスマホだけでなく、夜間の車載カメラや監視カメラなど、暗くて不明瞭な動画だけど、そこから情報をとりたい場合などあると思います。#動画用の軽量明るさ強化モデルStableLLVEがすごい
StableLLVEという2021年に発表されたモデルは、軽量で高速ながら、きれいに明るくしてくれます。
[Swift]シングルトンを実装してみよう
##シングルトンとは
シングルトンパターンとはインスタンスが1個しか生成されないことを保証するものです。##ではどんな時に使うのか
実際に使う目的としてはインスタンスが1個しか生成されないことを保証したいときに使うのですが、ではどのような時に1個しかインスタンスを生成するべきなのでしょうか?
目的はいくつかあって、、・情報(値)を共通化したいのに使用するクラスで都度、インスタンスを生成するのが手間
→メモリを節約したい
・たくさんのインスタンスからアクセスされると困る時などと書きましたが、ざっとまとめると、
インスタンスを一回一回生成する処理を書いていたらコードも冗長だし、値も都度リセットされてしまうから同じ値をいろんなところで使うには適してないよねっていう時に使うという認識で間違いないと思います。##実際に実装してみよう
“`swift
public class Hoge {
init() {}
private var hoge: [String: Any] = [“name”: “Luffy”, “age”: 19]
}
“`
こちらのク
flutter_native_splash使ってみた
## 要約
– Splashとは?
– flutter_native_splashを使ってみる
– Android実装時の注意点
– OS 12の注意点
– Flutter2.5以上ではAndroidManifestの`meta date`を消す
– 感想
– 参考記事## Splashとは?
アプリを立ち上げるときに一瞬表示される画面のことです。
## flutter_native_splashを使ってみる
`pubspec.yaml`にライブラリと`flutter_native_splash`の設定を追加する“`pubspec.yaml
dependencies:
flutter_native_splash: ^1.3.3flutter_native_splash:
color:
iOS APIでは RSA/ECB/OAEPwithSHA-256andMGF1Padding の暗号化・復号ができない
iOS の標準APIでは、Java の RSA-OAEP の “RSA/ECB/OAEPwithSHA-256andMGF1Padding” の暗号化・復号ができません。SHA-512も同様。
## iOS API と Java の OAEP の違い
[OAEP](https://ja.wikipedia.org/wiki/Optimal_Asymmetric_Encryption_Padding) は RSA で使われる平文パディングの手法で、アルゴリズムとしては2つのダイジェスト(ハッシュ)アルゴリズムを使います。
* メッセージダイジェスト
* MGF(Mask Generation Function) ダイジェストiOS の標準API と Java API では OAEP の仕様が微妙に違います。
* Java の RSA/ECB/OAEPwithSHA-256andMGF1Padding: メッセージダイジェスト=SHA-256, MGF1ダイジェスト=**SHA-1**
* iOS の SecurityAlgorithm.rsaEncryptionOAEPSHA
Expo (React Native) でViewを画像に変換してデバイスに保存する
# はじめに
React Nativeで新作アプリを作りました。
久しぶりにカスみたいなアプリ作りました
姓名判断っぽい画像を捏造できます
12/30に完成したんですが、Appleさんに怪しい占いアプリと勘違いされ、なかなか出せませんでした#嘘姓名判断Androidhttps://t.co/IyslOklSkl pic.t
AndroiderのiOS奮闘記~UIKitとは~
#この記事は
iOSのキャッチアップを余儀なくされた生粋のAndroiderの奮闘日記です。
単発の記事になりますが、ご容赦ください。#UIKitとは
ドキュメント読んでいきます。
>Construct and manage a graphical, event-driven user interface for your iOS or tvOS app.iOSとtvOS用に作られたもので、イベント駆動なインターフェースを提供してくれるフレームワークのようです。
iOSシステムとのインタラクティブを管理してくれるようです。全然知らなかったけど、Apple社はテレビ用のOSも出してるんや。
注意書きとして、UIKitのクラスはメインスレッドのみで使用するのがルールみたいです。
#SwiftUIとの違いは
SwiftUIもiOSでUIを描画するためのフレームワークですが、新しいものみたいです。
ただ、一つのプロジェクトに両者をブリッジできるようなので、組み合わせて使える。AndroidでもJetpackComposeを既存のものに組み込めるので、それと同じかなと。
#
小学生でも分かるswift構文2
#小学生でも分かるswift構文2
さて、今回は数値型について記述していきたいと思います。
「**int**」とは、型の一種で、**整数型**と呼ばれています。
実際にXcode上で、“`
let integer:Int = 0
“`
と入力してみました。「integer」という名前の、「Int」型に「0」という値を代入しました。
という構文になります。
もう一つ紹介するのが、
「**double**」という型で、**浮動小数点型**と呼ばれます。
“`
let ダブル:Double = 0.1
“`
「ダブル」という名前の、「Double」型に「0.1」という値を代入しました。という構文です。
小数点が付かない数は「Int」型,小数点が付く数は「Double」型を使うと思って頂ければ大丈夫です。
また、swiftには「型推論」という機能が備わっていて、
“`
let integer = 0
“`
のように入力しても、「integer」は「Int」型だとXcode側で勝手に判断してくれる便利な機能が備わっているのです。僕自身、初心者すぎてこ
Swift Playgrounds「地震計」Appプロジェクトを解説する
# この投稿は何?
iPadとMac向けアプリの「Swift Playgrounds4」に用意されている「地震計」Appプロジェクトを学ぶための解説です。# 「地震計」Appプロジェクトの概要
このプロジェクトは、iPad内蔵のモーションセンサーを使って振動を検知する「Seismometer」アプリを作成します。
検出した振動データは、2つの形式(針と折れ線グラフ)で可視化します。![プレゼンテーション 4.002.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/70476/9f24f480-1170-eb54-52dd-4d7325905c2d.jpeg)
# リソースファイル
このAppプロジェクトに含まれているリソースファイルを、名前順に挙げます。– DoubleExtension
– GaugeBackground
– GraphSeismometer
– LineGraph
– MotionDetecter
– NeedleSeismometer
– SeismometerA
Flutterベースのモバイル向けタイムラインの作成
## 初めて:Quireタイムライン(モバイル向け)の構造を初公開
2018年に初めてFlutterベースのアプリを作ったときは、とても楽しく興奮しました。それから3年経ち、Quireアプリもかなり充実して、従来のモバイル向けプロジェクト管理アプリの域を超えるまでになりました。Quireモバイルアプリの現行バージョンは、階層表示、ボード表示だけでなく、タイムライン表示にも対応しています。
モバイルアプリ向けのタイムライン表示の作成を決めたときは、簡単にできるとは思いませんでした。当時は類似の既成コンポーネントもなかったためですが、驚いたのは、インターネットでタイムライン表示の構造についての情報も見当たらなかったことです。そこで、いちかばちか、自分たちで作ってみることにしました。
##### Quireモバイルアプリ用のタイムラインでは、以下を計画していました。
1. 横方向への無限日付スクロール
2. レンダリングオンデマンド(ROD)。ビューポートにあるときのみ実行されるWidgetのState
3. 任意の位置に素早く配置
4. 操作がかんたんで使いやすいインターフェースと
機械学習は最新モデルがどんどん発表されるけど、どれが一番いいの? CoreML-Modelsでかんたんにくらべられるので、頂上決戦してみた
# いろんな最新画像分類モデルを比べてみた
画像をドロップするだけで機械学習モデルが試せるCoreML Modelで、最新(2021年発表)の画像分類モデルを比べてみました。#モデルがいろいろありすぎて、どれを使えばいいのかわからない
機械学習モデルをアプリに取り込みたい。
できれば、自分のアプリのサービスに一番適したモデルを選びたい。
例えば、[AppleがiOS用に公式に配布しているモデル](https://developer.apple.com/machine-learning/models/)は数年前のもので、数種類だが、https://developer.apple.com/machine-learning/models/
【Unity iOS Build】M1 Macでビルドエラーになった時に見たリンク等
# はじめに(私の環境とか)
M1 Macに変えて初めてだったのと、だいぶ久々だったのでUnity→iOSでビルドエラーが頻発してしまいました。
今後のため備忘録としてまとめます。環境は以下のような感じです
– Xcode v13.2.1
– Unity Hub 2.4.5
– Unity 2020.3.25f1 (LTS)
– iPhone SE2 バージョンはiOS15.1# リンク
– [UNITYがビルドできない チェックリスト](https://ringonokajitu.com/?p=544)
– [【iOS】Xcodeでビルド時に「The Legacy Build System will be removed in a future release」のエラーが出る場合の対処法](https://develop.hateblo.jp/entry/ios-legacy-build)
– [UnityでiOSビルドするとエラーが出る](https://nn-hokuson.hatenablog.com/entry/2016/12/24/113002)→Signing
Realm に手書きの線を一本保存して取り出す
`Realm`(レルム)にお絵かき機能で描いた線を保存して取り出す方法を説明します。
お絵かきアプリの作り方はググるととても分かりやすいサイトが出てきたのですが、
それを画像では無く、後から編集できる状態でRealmに保存して取り出す方法が分からず試行錯誤しました。一応保存はできるようになりましたが、
我流なところもあると思いますので、
間違いや他に良いやり方があればぜひご教授ください。#この記事でわかること
・Realmを使って手書きの線を1本保存して、それを取り出す方法#動作確認環境など
・Xcode 12.4
・Realm 10.20.1
・MongoDB Realm Studio 11.1.0
・UIKit
・Storyboard#この記事の対象読者
・RealmとRealmStudioの使い方がなんとなくわかる初心者の方#事前にやっておいた方が良いこと
お絵かきの機能とRealmの基本的な使い方はあまり詳しく解説できませんので、
下記サイトなどを確認してみて、いろいろ試してみてください。>[お絵かきソフトの実装 〜 タッチ系イベント処理とベジェ曲
動画に好きな処理をしたい! そんなライブラリがあったので、実写をアニメにした
# かんたんに動画の全てのフレームに任意の処理ができるフレームワーク
既存の動画ファイルに好きな処理ができるフレームワークを使って、実写をアニメにします。
# 動画処理はややこしそう?
動画の読み出し→加工→書き込みの処理は、いろいろ書かなくてはいけなさそうなイメージでややこしそうではないですか?# 全てのフレームを処理することなんてできるのか?
結局、動画はすごくたくさんの量の画像が集まったパラパラ漫画のようなもので、
動画を加工するには、その全てのフレームに加工処理を加えないといけないのでは?# SemanticImageで、かんたんに、動画に好きな処理ができる
[**SemanticImage**](https://github.com/john-rocky/SemanticImage)というライブラリなら、数行のコードでかんたんに動画処理ができます
iOS15からの’windows’ was deprecated in iOS 15.0: Use UIWindowScene.windows on a relevant window scene insteadに対応する
## はじめに
iOS15から`UIApplication.shared.windows`を使用すると`’windows’ was deprecated in iOS 15.0: Use UIWindowScene.windows on a relevant window scene instead`という警告が発火します。今回はこちらの警告の解消法を記事にします。
## 環境
Swift version 5.5
Xcode version 13.2.1## 原因
iOS15から、`windows`が非推奨になり,代わりに、`UIWindowScene.windows`を使えといっています。## 対処法
このように書けば警告を解消できます。“`.swift
let scenes = UIApplication.shared.connectedScenes
let windowScenes = scenes.first as? UIWindowScene
let window = windowScenes?.windows.first
“``rootVie
Flutter dSYMをアップロードする
dSYMのアップロードで少しハマったので書き残します。
#dsymを生成してパスを取得
1.Xcodeを開き、メインのTARGETSを選択
2.Build Settings、Allを選択
3.Build OptionsのDebug information FormatをDWARF with dSYM Fileに変更する。
![スクリーンショット 2022-01-05 23.49.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1086494/0cc605c5-1ea2-ac00-6a91-6c0bdc3d5659.png)
4.iOS版をビルドする“`
$ flutter build ios
“`5.Xcodeを開き、Product→Archiveを選択し、処理が完了するまで待つ。
6.XcodeのWindow→Organizerを選択
7.生成されたArchiveを右クリックして、show in Finderを選択
8.Finderが開いたら中にあるファイルを右クリックしてパッ
iOSで「iSH」を使用してasciidocを書く
# はじめに
iOSのアプリにはasciidocを書くアプリが見つからなかったため、「iPhone/iPadでx86 Linuxを動かすアプリ」である「iSH」を使用して、asciidocを書くための環境を構築しました。
本記事の内容は次の通りです。* 「iSH」上でvimをインストールする
* 「iSH」上でasciidocのファイル形式変換環境を構築する
* 「iSH」上でasciidocファイルをpdfファイルに変換する# 「iSH」上でvimをインストールする
ここでは「iSH」アプリのインストール方法は割愛します。
「App Store」で「iSH」で検索すれば該当アプリをすぐに見つけ出すことができると思います。
先ずは、「iSH」アイコンをタップして、「iSH」アプリを起動します。
「iSH」アプリが起動したら下記のapkコマンドを実行してvimをインストールします。“`bash:vimのインストール
apk add vim
“`インストールが完了したらvimコマンドを実行してvimが起動することを確認します。
この時点でvimで日本語入力ができていると
【Swift】Firestore × Codableの通信を共通化する
## はじめに
今回は、Firestoreに対してデータをリクエストする処理(通信処理〜エラーハンドリング)を共通化してみたので、自分用のスニペット的な意味も込めて記事にまとめてみました。今回は、API通信を共通化しているこちらの記事からヒントを得てそれをFirestoreに適用しました。
https://blog.shota-ito.com/2020/06/26/post-579/
また、Firestoreで取得したデータをCodableでデコードする処理については、自分が以前記事にしたものがありますので、そちらをご覧いただければと思います。
https://qiita.com/ctnc_67/items/7027a10c8c18014fddfa
## 前提条件となる知識
– Firestoreについての基礎知識(クエリの書き方など)
– Codableを使ったDecode処理
– ジェネリクスについての基礎知識## 実装
まずは、リクエストを送信するためのクラスを作ります。
多くの場合は、RequestとResponseの関係は1:1だと思うので、Requestク
実機でflutter run ios時にSigningを設定しているのにエラーが出る
# エラー
“`
Building a deployable iOS app requires a selected Development Team with a
Provisioning Profile. Please ensure that a Development Team is selected by:
1- Open the Flutter project’s Xcode target with
open ios/Runner.xcworkspace
2- Select the ‘Runner’ project in the navigator then the ‘Runner’ target
in the project settings
3- Make sure a ‘Development Team’ is selected under Signing & Capabilities > Team.
You may need to:
– Log in with your Apple ID in X
アニメからスケッチを抽出 あのアニメもAnime2Sketchでかんたんに
#画像をドロップするだけでアニメ画像をスケッチに変える機械学習モデルがかんたんにつかえる
#アニメをきれいに線画にしたい
アニメから線だけ抽出できれば、ぬりえや2次創作などいろんなことに使える。#線だけ抽出することはできるのか?
ただモノクロにするだけではこうなる。
Swift Playground4「予定表」Appプロジェクトを解説する
# この投稿はなに?
iPadとMac向けアプリの「Swift Playgrounds4」に用意されている「予定表」Appプロジェクトを学ぶための解説です。#「予定表」Appプロジェクト
このプロジェクトでは、イベントを日付ごとに整理してスケジュールを立てる「DatePlanner」アプリを開発します。
このアプリでは、リストビューとオブザーバ・データモデルを使って、イベントやタスクを動的に生成するリストを構築します。
そのために、アプリのビュー階層全体から利用できる「一貫性のあるデータオブジェクト」を作成します。![IMG_0525.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/70476/fd694464-ef98-118f-9d35-123985e71a4a.jpeg)
# リソースファイル
プロジェクトに含まれるファイルは、機能的な視点から「データモデル(イベントとタスク)、ビュー、シンボルその他」に分けて捉えることができます。データモデル
– DatePlannerApp
–