- 1. 【Swift】CAGradientLayer の透過が濁る
- 2. 【SceneKit】3Dモデル(アニメーションつき)の再生速度を変更する
- 3. 日本で買ったApple Watchで、ECGを使って心電図を撮る夢を見た
- 4. MVVMについて簡単なまとめ
- 5. 【Flutter】バグ解決: Bad state: Stream has already been listened to.
- 6. iOSのWebViewをMacでデバッグする
- 7. ARKit 3.5のScene Reconstructionサンプルのコードを読む
- 8. 【悲報】Xcode 11.4 でナビゲーションバーのタイトルの色が黒に固定される(*条件あり)
- 9. 【初心者向け】【まとめ】iOSアプリを作ろうとしている方がまず見るべきQiitaの記事をまとめてみました【Swift】
- 10. Vue.js×TypeScriptでのテキストコピー(iOS対応)
- 11. 【Xcode】CocoaPods で複数ライブラリを導入したらハマった話
- 12. Swiftでiosアプリ開発-1【個人記録】
- 13. 初心者によるRxSwiftのデモ
- 14. iOSアプリのMultitasking対応について
- 15. アプリ申請自動化とAppleID2ファクタ認証
- 16. Firebase Crashlyticsの導入
- 17. AWS AppSync用にaws-appsync-codegenでiOS(Swift)のソースコードを生成する
- 18. [Flutter] iOS 13.4にアプデ後実機デバッグができない場合の対処法
- 19. [RxSwift] RxSwiftとは
- 20. Youtubeのサムネイルを検索できるアプリをリリースしました!
【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アプリがどのように動いているか、といった感じです。
作る際にここがわかっていないと「??」となりまくってしまいます(自分がそうでした)。アプリ作成前に一
Vue.js×TypeScriptでのテキストコピー(iOS対応)
Vue.js×TypeScriptで「ワンタップでテキストをコピーする」ボタンを作ったらハマりポイントがたくさんありました。
生jsやjQueryでの解決策はたくさん見つかりましたが、Vue.js×TSは見つからなかったのでメモです。# やりたいこと
フォームに文字入力した時に、飾り文字を追加した文章を出力して、ワンタップでコピーできるようにする。
![recipe formatter qiita.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267607/f93adf2c-d010-4c90-5492-1f7cc419cbc9.gif)
# 完成したコード
“`vue
.CopyText
button(@click.prevent=”copyTexts”)
span.copy-message クリップボードにコピー
.formatted-text
spa【Xcode】CocoaPods で複数ライブラリを導入したらハマった話
## はじめに
個々のサンプルプロジェクトでは問題なく動いていたのに、1つのプロジェクトにライブラリをまとめたらハマってしまったので、原因と対策をメモしておきます。## 発端
イーサリアム用のライブラリと、AWS 用のライブラリのサンプルをそれぞれ試して導入の目処がたったので、下記の **Podfile** にて、開発中のプロジェクトへ導入しました。“`:Podfile
source ‘https://github.com/CocoaPods/Specs.git’
platform :ios, ‘10.2’target ‘AppEnv’ do
use_frameworks!
pod ‘web3swift’
pod ‘AWSAppSync’
pod ‘AWSS3’
end
“`で、サンプルのコードを開発プロジェクトへ取り込んでコンパイルしたところ、**web3swift** 関連コードでエラーが発生。「あれ?」と思ってフレームワークを見てみると、なぜか頭が大文字にリネーム(?)された **Web3swift** に差し変わっていてポカン
Swiftでiosアプリ開発-1【個人記録】
#概要
[「たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 11 Swift 5対応」](https://ticklecode.com/swiftbook2019/)
に沿って、Swiftでのiosアプリ開発を学習してみることにしました。その記録用です。#じゃんけんアプリ
#楽器アプリ
###パーツの配置
楽器アプリには、シンバル、ギター、Play、Stopというパーツがある。
それぞれ、のパーツは押すことによってプログラムが動作することが要求されるため、パーツはそれぞれButtonである。###1.使う画像をAssets.xcassetsに格納する
これで、プログラムやAttributesInspectorから画像を呼び出せるようになる。###2.パーツを配置する
AttributesInspectorから+ボタンで、配置したいパーツを選択し、それをドラッグ&ドロップで配置していく。
初心者によるRxSwiftのデモ## RxSwiftとは
RxSwiftの前身はMicrosoftが開発した.NET用のライブラリ「Reactive Extensions」です。このReactive Extensionsの概念が有効だったため、数々のプログラミング言語へと移植されました。その中でSwiftに移植されたのがRxSwiftです。
## リアクティブプログラミングとは
リアクティブプログラミングとは「値の変化」と、それに対する「振る舞い」の関係を宣言的に記述するプログラミングの一種です。
例えばボタンを押すとラベルの文字が変化する、のようなユーザーインタラクティブなシステムや、通信処理などの非同期処理などで簡潔にかけるため特に有用です。数々の言語へ移植されている点がその有用性の証明とも言えます。SwiftではiOS13専用で公式より[Combineというフレームワークがリリース](https://developer.apple.com/documentation/combine)されましたが、これはRxSwiftの概念を多く真似して作られているようです。
Combineを理解するための前提として
iOSアプリのMultitasking対応について
## はじめに
WWDC2019にて2020年4月までにMultitaskingをサポートすることが必須と発表されました。
そして今年1月、必須ではないにしてもMultitaskingをサポートすることを **強くお勧めする** とアナウンスがありました。
もちろん対応しなければアプリをリジェクトされるわけではありませんが、今後Multitaskingが重要となっていくことは明らかです。
そこで今回はMultitaskingの対応方法および、注意すべき点についてまとめていきます。
[iPhoneとiPadに適したユーザーインターフェイスの構築](https://developer.apple.com/jp/news/?id=01132020b)## Mutitasking設定方法
1. `Requires full screen`にチェックが入っている場合は外します
アプリ申請自動化とAppleID2ファクタ認証# はじめに
2019年にAppleDeveloperProgramのAppleIDは2ファクタ認証が必須となりました。(AccountHolderというもっとも権限を持つアカウントのみ)この2ファクタ認証が有効になることにより、
CIサービスを用いたアプリ申請自動化にどのような影響が出るのか
またその回避策を改めてまとめた記事です。この記事はfastlaneを中心に情報をまとめます。
# 2ファクタ認証 OFFが最もシンプル
はじめに述べてしまいますが、
もっともシンプルな解決策は2ファクタ認証を有効化**していない**アカウントを用意することです。
運用上、それが難しい方がこの記事でなんらかの解決策を見出して頂けると嬉しいです。# 前提情報
### アプリ申請の手順
今回はアプリ申請に関わる手順を以下のものとします。1. ipaファイルをAppstoreConnectにアップロード
2. ストア情報のアップロード (説明文やスクショ等)
3. 再コンパイルの完了を待つ
4. アプリ審査提出
5. 再コンパイル後のdSYMをダウンロード
6. firebase等にd
Firebase Crashlyticsの導入
## 思ったこと
– Firebaseのドキュメントが古かった。
– https://firebase.google.com/docs/crashlytics/get-started?hl=ja
– 最初にみたドキュメントが古くて、同じことを2回やる羽目に
– Xcodegenの対応
– XcodegenだとprebuildScriptsのscriptがcocoapodsのスクリプトよりも前に呼ばれて、エラーが出る問題
– https://qiita.com/gin0606/items/3935027fef9597ddf6e7
– W/A的に対応したけど、もっといい方法がありそう。。。## ドキュメント
– 一番新しいやつスタートガイドライン
– https://firebase.google.com/docs/crashlytics/get-started-new-sdk?platform=ios&authuser=1
– Fabricから移行するとき
– https://firebase.google.com/docs/
AWS AppSync用にaws-appsync-codegenでiOS(Swift)のソースコードを生成する
AWS AppSyncでiOS(Swift)用のコードを生成する時に勘違いしていたことがあったので、それについて公式のサンプルから理解できるように細かく書いておきます。私自身がAppSync歴1日なので正確に理解できているかもわかりませんので、その点についてはお手数おかけいたしますがコメントなどでご指摘よろしくお願いします。
また、現状(2020年)ではAppSyncの公式ドキュメントはAmplifyを使うことが前提とされており、Amplifyを使わない場合はやり方を探すのはかなり難しい。難しいので書き残しておきますというモチベーションです。
サンプルはAWS AppSync公式で説明されている[サンプルスキーマ「イベントアプリ」](https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/quickstart-launch-a-sample-schema.html)からです。
# 最初に結論
おそらくこのページを見ている方が最も知りたいのはコード生成のコメント`aws-appsync-codegen`についての使い方で
[Flutter] iOS 13.4にアプデ後実機デバッグができない場合の対処法
iOS13.3.1では実機デバッグができず辛い思いをしていましたが、
ついにiOS13.4がリリースされたのでいざ挑戦!!と思いきや以下エラーでビルドが通らない。
“`
Building for iOS, but the linked and embedded framework ‘App.framework’ was built for iOS Simulator.
“`対処法は以下
1. ios/Flutter/App.framework ディレクトリ以下を削除
2. 再ビルドするとビルドが通るようになりました。
[RxSwift] RxSwiftとは
#RxSwiftとは
コードが新しいデータに反応、順次的に分離された方式で処理される、非同期プログラム開発が簡素化できる、データの変化に対応しやすい。
`observable` `asynchronous` `functional` `via schedulers`##RxSwiftの基礎
Rxの3つの構成要素についてみてみる
Observables、Operators、Schedulers###1.Observables
– ObservableクラスはRxの基盤
– `T`タイプのデータを渡す、イベントを非同期に生成
– 他のクラスでemit(放出?)する値を購読できるようにする
– ObservableTypeのProtocol(Observable)はシンプルで、以下の3つのイベントのみemitし、observersはこの3つのみ受信できる
– next:最新/次のデータを渡すイベント
– completed:成功的にイベントを終了させるイベント。追加イベント生成しない
– error:Observableがエラー発生。追加
Youtubeのサムネイルを検索できるアプリをリリースしました!
##はじめに簡単な自己紹介✍️
主にiOS開発をメインに勉強しております、私立文系の凡人大学生です、、、?
今年の目標は応用情報技術者試験に受かることです〜!##リリースしたアプリ?
![YoutubeGif.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302458/7ba2705a-e4c1-453b-a6c9-1162b725cf3b.gif)
Youtubeのサムネイルを検索できるアプリになっています。
App Store
https://apps.apple.com/jp/app/%E5%8B%95%E7%94%BB%E5%88%86%E6%9E%90/id1502014149GitHub
https://github.com/geekshu625/YoutubeAPI
(改善点あればプルリクとか貰えますと泣いて喜びます)##なぜ作ったか??
###Youtubeのサムネイルを検索できるプラットフォームがない最近、僕の友人にもYoutuberになる人が現れ、様々なツ