- 1. SwiftUIでiPhoneのバッテリー残量を表示してみる
- 2. iOSアプリのバージョニング方針草案
- 3. Flutter環境構築 – 1(Flutter SDKインストール編)
- 4. MonacaからCustom Schemeプラグインがリリースされてた
- 5. 1つ以上のProvisioning Profileがインストールできないとは
- 6. stripe-iosでクレジットカード情報のZIPを非表示にしたい
- 7. Flutterで環境構築からHelloWorld & スプラッシュまでやってみた。【HelloWorld&スプラッシュ編】
- 8. 独自プロパティリスト(plist)を利用する
- 9. 今更ながらReact Nativeに入門してみた①
- 10. Swift4以降のKVOについて
- 11. Xcodeで古いOSバージョンのSimulatorを起動する
- 12. 【Swift】CAGradientLayer の透過が濁る
- 13. 【SceneKit】3Dモデル(アニメーションつき)の再生速度を変更する
- 14. 日本で買ったApple Watchで、ECGを使って心電図を撮る夢を見た
- 15. MVVMについて簡単なまとめ
- 16. 【Flutter】バグ解決: Bad state: Stream has already been listened to.
- 17. iOSのWebViewをMacでデバッグする
- 18. ARKit 3.5のScene Reconstructionサンプルのコードを読む
- 19. 【悲報】Xcode 11.4 でナビゲーションバーのタイトルの色が黒に固定される(*条件あり)
- 20. 【初心者向け】【まとめ】iOSアプリを作ろうとしている方がまず見るべきQiitaの記事をまとめてみました【Swift】
SwiftUIでiPhoneのバッテリー残量を表示してみる
# はじめに
たまたまTwitterで#swiftuiを検索していたら見つけたので、ちょっと作ってみました。今のバッテリー残量にどうやってアクセスするんだろう…
UIKitのサンプルはたくさんあるのにSwiftUIはとても少ないのが少し大変ですね?#SwiftUI#プログラミング初心者iOSアプリのバージョニング方針草案
# 目的
バージョニングのプラクティス化#前提環境
iOSApp/MacApp開発、CI/CDが構築されている。#iOSのバージョニング概要
iOSのバージョン管理では、以下の二つが利用されます。– CFBundleShortVersionString
– CFBundleVersion詳しくは[こちら](https://tech.ryukyu-i.co.jp/2017/01/01/ios-versioning/)に書いてあります。
一言で説明すると
`CFBundleShortVersionString`: ユーザーから見えるバージョン。セマンティックバージョニングが推奨。2.3.0のようなピリオド区切りでメジャー、マイナー、パッチを管理する。
`CFBundleVersion`: アプリの内部バージョンでユーザーからは見えない。しかし、AppStoreConnectへバイナリをアップロードする際に、前のビルドよりも数値が上がっている必要がある。となります。
# 草案
#1. `CFBundleShortVersionString`はセマンティックバージョニ
Flutter環境構築 – 1(Flutter SDKインストール編)
#はじめに
Flutterの開発環境構築の手順について解説していきます。
今回は「Flutter SDKインストール編」です!
今後「Xcodeインストール編」「Android Studioインストール編」「VS codeインストール編」も随時執筆していく予定です。
さらにその後には「シミュレーターでの動作確認編」「アプリ実行編」なども執筆予定ですのでしばらくお待ちいただけると幸いです。
また今回の解説では、私自身がmacOSを使用しているということもあり、**macOS**での手順解説となります。
Windows・Linuxを使用されている方は別途、Flutter公式サイトの[Windows版](https://flutter.dev/docs/get-started/install/windows)・[Linux版](https://flutter.dev/docs/get-started/install/linux) などをご参照下さい。#「Flutter SDKインストール編」でやること
本記事では、以下の項目を行います。– Flutter SDKをインストールする
–
MonacaからCustom Schemeプラグインがリリースされてた
Monacaより「Custom Schemeプラグイン」がリリースされていました。
https://ja.monaca.io/headline/#entry_5e835238e78885e357efb480## これは何?
以下記事の通り、WKWebViewでは、file://スキームのローカルリソース(wwwディレクトリ配下のファイル)にXHRでアクセスすることができません。それを解決するためのプラグインの様です。
https://qiita.com/kishisuke/items/d201790aeae2129ff2e3#file%E3%82%B9%E3%82%AD%E3%83%BC%E3%83%A0%E3%81%B8%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B920200323%E8%BF%BD%E8%A8%98このプラグインをインストールすることで、「WKWebView上においても、ローカルに配置されているリソースへのAjaxアクセスが可能となります」とあります。実際にインストールしてみると、確かにローカルリソース(wwwディ
1つ以上のProvisioning Profileがインストールできないとは
Provisioning Profileをインストールして、ダブルクリックしたら、
> Failed to install one or more provisioning profiles on the device.
> Please ensure the provisioning profile is configured for this device. If not, please try to generate a new profile.というエラーが出たときの対処法について。
## 原因
最近Apple Developer上で登録Deviceの整理をしたりしませんでしたか。
あるいはProvisioning Profileの整理など。登録情報がなにかしら変更されて、
Provisioning Profileの上書きができなくなってしまっている状態です。## 対処法
すでにMacに保存しているProvisioning Profileを削除して、
再読み込みをしてあげれば良いです。### 削除すべきProvisioning Profileを知る
stripe-iosでクレジットカード情報のZIPを非表示にしたい
stripe-iosとは、クレジットカードで決済を行うiOSアプリを作成する上で、
必須と言っても過言ではない素晴らしいSDKです。![](https://i.imgur.com/LUSf97S.png)
※stripe-ios githubページより。
https://github.com/stripe/stripe-iosただ現在、クレジットカードの情報として入力する項目が、
– 番号
– 有効期限
– セキュリティコード(CVC)
– ZIPの4種類がデフォルトになっています。
ちょっと前までデフォルトはZIP以外の3つだったはずなのに。**てかZIPってなに!!!!!?????**
と無能な自分は思ってしまったので、これはそんな悩みを解決する記事です。
## ZIPとは
参考: https://www.shineray-ryokou.com/post/zip-code
参考記事をまとめると、以下です。– ZIP Codeとは、「郵便番号」です。
– 別名、Postal Code。
– ZIP Codeの目的: セキュリティ強化のため。
– 日本の
Flutterで環境構築からHelloWorld & スプラッシュまでやってみた。【HelloWorld&スプラッシュ編】
お久しぶりです。
多忙な日々を送っていたらもう4月になってました。今更感がすごいのですが前回の[環境構築編](https://qiita.com/amita/items/2b19bbbecfb48f68673f)からそのまま放置状態だったので
今回は簡単なスプラッシュ〜Helloworldを作成していきましょう。## 画像を呼び出せるように設定する。
スプラッシュスクリーンで画像を表示しようと思うのでpubspec.yamlにて下記の設定を追加します。“`pubspec.yaml
flutter:# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true# To add assets to your application, add an as
独自プロパティリスト(plist)を利用する
iOSアプリで独自plist(プロパティリスト)を作って使いたい時のメモ。
※よくある、APIのURLとかその他アプリに特化した設定などに使用
※他の方がわかりやすく書いてくれているのもあるのでメモ程度## plistの作成
まずはお目当てのplistを作成します。* File→New→File(cmd+N)で新規作成画面を表示
* Property Listを選択、名前(今回はApp.plist)を決めて作成作成できたら、適当に値を設定しましょう。
今回はよくあるURLを記載します## 作ったplistの読み込み
先程作ったApp.plistを読み込むコードが以下になります。“`swift
var property: Dictionary= [:]
// App.plistのパス取得
let path = Bundle.main.path(forResource: “App”, ofType: “plist”)
// App.plistをDictionary形式で読み込み
let configurations = NSDictiona
今更ながらReact Nativeに入門してみた①
# はじめに
実は最近、**React Native**なるものに入門してしまいました…。
React Nativeとはなんなのか?といったところの説明から、実際に簡易的なTODOアプリを作成するところまでご紹介できればと思います。
では、早速行ってみましょう〜!
# React Nativeとは何か
React Nativeとは、
**Reactを使って、iOSやAndroidなどのネイティブアプリを開発することができるクロスプラットフォームな開発ができるフレームワーク**です。
公式サイトは[こちら](https://reactnative.dev/)
# なぜReact Nativeで作るか
個人的にメリットだと感じる点はいくつかあります。
1. React(JavaScript)で書ける
2. プラットフォームを意識せず開発できる普段JavaScriptでバックエンドやフロントエンドを書いている自分にとって、同じような感覚でネイティブアプリも作れてしまうのは非常に魅力的です!
また、本来であればiOSならSwift、AndroidならKotlinな
Swift4以降のKVOについて
## はじめに
KVOとは`Key-Value Observing`の略で、対象のObjectの値を監視し、変更のタイミングで通知を行ってくれるものです。
とても簡単に特定の値の監視を行うことができますので、今回はその使い方についてまとめてみました。## KVOの使い方
### 監視の登録方法について
Objectの値の監視を登録するには`observe(_:options:changeHandler:)`を使用します。
各引数の説明を簡単に行います。“`
func observe(_ keyPath: KeyPath , options: NSKeyValueObservingOptions = [], changeHandler: @escaping (T, NSKeyValueObservedChange ) -> Void) -> NSKeyValueObservation
“`– `keyPath` : `KeyPath`形式で監視したいObjectの値を指定
– `options` : 変更前後、どの値を通知しても
Xcodeで古いOSバージョンのSimulatorを起動する
XcodeはそのXcodeがリリースされたときの最新のOSバージョンのSimulatorが用意されているが、そのXcodeを使いつつ古いOSバージョンのSimulatorを起動するためには一手間必要なので、その手順をメモしておく
# 環境
Xcode 11.4# 手順
Xcodeのメニューから Window > Devices and Simulators を選択する「Simulators」タブを選択することでシミュレータ一覧画面が表示されるので、左下の「+」ボタンをクリックする
![01_デバイスとシミュレータ画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125334/4f023b3f-1793-adf1-389f-3ab3cd71faf8.png)以下のようなシミュレータ追加画面が表示されるので、「OS Version」をクリックして選択肢を表示する
【Swift】CAGradientLayer の透過が濁る下記ブログの転載です!
iOSにて、**`CAGradientLayer`** を使って透過を含むグラデーションを行った際、濁る現象があったので対応の備忘録。
## CAGradientLayer の使い方
*CAGradientLayer* の基本的な使い方については、[こちら](https://developer.apple.com/documentation/quartzcore/cagradientlayer) を参照のこと。
## CAGradientLayer に透過を利用すると色が濁る
当然のことながら `CAGradientLayer` はグラデーションを作成するレイヤーです。
「そこで、透過から赤へのグラデーションを作ろう!」と思った時、グラデーションが濁る(中間色がグレーになる)ことに気がつきました。
下記がその時の画像です。![汚い透過グラデーション](https://rc-code.info/wp-content/uploads/2019/06/alphaGr
【SceneKit】3Dモデル(アニメーションつき)の再生速度を変更する
# はじめに
アニメーションつき3Dモデルの再生速度をを可変にしたかったので、そのメモ。# 実行環境
– Xcode 11.2.1
– [MagicaVoxel](https://ephtracy.github.io) 0.99.4
– [Mixamo](https://www.mixamo.com)
– iPhoneXR(iOS 12.1.4)# やりたいこと
[Mixamo](https://www.mixamo.com)でアニメーションをつけた3Dモデルの、再生速度(テンポ)をゆっくりにしたり、速くしたり、任意に変更してみたかった。# 再生速度をどこで変更できるか?
読み込んだ3Dモデル(Salsa Dancing.dae)から変換したSCNファイル(salsa.scn)を開いて、ボーンの設定(mixamorig_Hips)を選択すると、右下の「Animation Settings」に「speed」という項目があって、この数値を変更して画面下の再生ボタンを押すと再生速度が変わります(speed:1 が定速)。
![cap01.png](https://qiita-im
日本で買ったApple Watchで、ECGを使って心電図を撮る夢を見た
タイトルの通り、日本で買ったApple Watch(series4)のECGを有効にしてみました。
“`
この方法は正規の手段ではありません。
2020年3月現在、日本では依然として医療機器認可は下りていません。
“`**あくまで夢の話です。悪しからず**
※ちなみに脱獄とかそういう類ではありません。
# 結論
できました。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265811/80ab4c8e-2643-2136-283f-c9ddc9979f7c.png)
↑販売国コードはJ(Japan:日本)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265811/1ceca5aa-cbd3-22c0-b50e-99c56f989e47.png)
# アクティベートする方法
アクティベートの手順です。が、**注意点**。
### 注意点
詳しくは後述しますが、ECG
MVVMについて簡単なまとめ
## Model
アプリケーションで使うデータの基本的な振る舞いやそれに関するロジックを保持
### 具体的には、
– データ構造の表現
– Web APIとのやりとり
– ローカルデータベースなどへの保存## ViewModel
– ModelとView、ViewController層の仲介役
– Modelからデータを受け取り、それらをUIに反映できるような形で出力
– View、ViewControllerからユーザーのアクション情報を受け取り、Modelに伝え、Modelからデータを受け取りUIに反映できるような形で出力## View、ViewController
### View
– UIの表示
– データを表示するようなUIの場合、Controllerからデータを受け取り、UIに反映
– ユーザーインタラクションの認知し、必要に応じてUIを更新する。
– もしくは、そのユーザーインタラクションをした結果、何かアクションをしたいとき、ユーザーインタラクションの情報をControllerに伝達する。
– View層はデータ構造に関する一切のロジックを保持しない。#
【Flutter】バグ解決: Bad state: Stream has already been listened to.
## 今回の件のGitHubはこちら
https://github.com/Tetsukick/flutter_BLoc/commit/76748e912be5896f8e998a5a50244fcb77d659b6## 現象
StreamControllerを使ってBLoCパターンでstatement管理をしていたが、TabBarViewを追加して、
Tabを切り替えて、再度同じタブに復帰した際に画面の表示が崩れるようになりました。その際のerrorがこちら。
“`
Bad state: Stream has already been listened to.
“`## 解決策
`StreamController`ではなく、`BehaviorSubject`を使用することで解消
元のソースコード
“`dart:エラー解消前
import ‘dart:async’;class CounterBloc {
// input
final _actionController = StreamController();
Sink
iOSのWebViewをMacでデバッグする
# はじめに
以前Webブラウザー作っていた時、一番困ったのが「Safariで動くのにこのブラウザーでは動かない!!」というお問い合わせでした。
そんな時、お世話になった”Webインスペクタ”の使い方を記事にすることで、誰か救われたらいいなーと思い書くことにしました。# 必要なもの
* Mac端末(当時Yosemiteでやってたので、それなりに古くても大丈夫だと思います)
* iOS端末(当時iOS 8でやってた記憶があるので、それ以降ならできます)
* MacとiOSを接続する設備(MacによってはUSB typeCしかないので変換アダプタだったり必要かと)# 手順
1.iOSの[設定]アプリでSafariのWebインスペクタを有効化
![Webインスペクタ有効.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96952/63868b3b-6595-44b1-5f3b-71423effc23f.png)2.MacのSafariで「開発」メニューを表示する
![開発メニュー有効.png](h
ARKit 3.5のScene Reconstructionサンプルのコードを読む
ARKit 3.5とLiDAR搭載の新型iPad Proが出ましたね。これらを試せるAppleの公式サンプル「[Visualizing and Interacting with a Reconstructed Scene](https://developer.apple.com/documentation/arkit/world_tracking/visualizing_and_interacting_with_a_reconstructed_scene)」のソースコードを読んでみたメモです。
どんな感じのサンプルかはこちらのツイートの動画がよくわかります。
First look at the iPad Pro LiDAR Scanner pic.twitter.com/kwkl1YBy2n
— Tim Field (@nobbis) 【悲報】Xcode 11.4 でナビゲーションバーのタイトルの色が黒に固定される(*条件あり)
それはXcodeをアップデートした直後のことでした・・・
俺氏「ん?!ナビゲーションタイトルの文字が黒にしかならんやんけ?」
#発生条件
– storyboardでnavigation controllerのBar Tintを変更している場合上記場合に、Title Colorを変更しても、タイトルの色は黒固定になっちゃいます。
Bar Tintをデフォルトにしとけばタイトルカラーを変更できます。
【初心者向け】【まとめ】iOSアプリを作ろうとしている方がまず見るべきQiitaの記事をまとめてみました【Swift】##iOSアプリのためのまとめ記事が欲しかった
iOSエンジニアになって早8ヶ月。
最近ようやく慣れてきたものの、初めは実装するのにとっても時間がかかりました。
というのは、**実装についてまとまったオールインワンの記事があまりなかった**ことがもしかしたら原因なのかもと思っています。(自分でもっと勉強しろって話かもしれないですが…)
なので、今回は、自身が開発をしていく上で参考にした記事をまとめてみたいと思います。
これからiOS開発をする方に参考になればと思っています。
##参考になるかもしれないソースコード
この記事を作っていくにあたって、以下の記事を参考にして実装したものを載せています。
これを見ながら記事と共に勉強していただければ幸いです。
https://github.com/taichi6930/iOSAppBase/tree/master
##早速見るべき記事
###ライフサイクル
iOSアプリがどのように動いているか、といった感じです。
作る際にここがわかっていないと「??」となりまくってしまいます(自分がそうでした)。アプリ作成前に一