iOS関連のことを調べてみた2020年03月31日

iOS関連のことを調べてみた2020年03月31日

【Swift】CAGradientLayer の透過が濁る

下記ブログの転載です!

【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)」のソースコードを読んでみたメモです。

どんな感じのサンプルかはこちらのツイートの動画がよくわかります。