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

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

iPhoneだけでYouTubeライブコマースをする(Amazonアソシエイト編)

iPhoneだけでYouTubeライブコマースをする(Amazonアソシエイツ編)を説明します。

コロナ禍により、オンラインへ活動の場所を移す人が対象です。

iPhoneだけでYouTubeライブを行う方法(チャンネル登録者数は1000人未満でも可)はコチラの投稿を参照してください。

チャンネル登録数が1000人未満でもiPhoneでYouTubeライブ配信をする
https://qiita.com/rgbkids/items/7aa3250e0f802ad25cab

Amazonアソシエイト

Amazonアソシエイトは、あのECサイト「Amazon」が行っているアフィリエイトプログラムです。あなたのサイトから商品が売れたら、その一部を報酬として受け取ることができます。

すでにAmazonアソシエイトに登録している方は、商品リンク(テキストリンク)を作成し、YouTubeライブの動画説明欄に登録してください。

https://affiliate.amazon.co.jp/home
全てiPhoneだけで操作できます。

Amazonアソシエイトに未登録(審査に合格してい

元記事を表示

PPAPの作業が面倒なのでiPhoneでカンタンに済ませたい

# Overview
ファイルをメール添付で送る時、

* ファイルをパスワード付きzipファイルに圧縮し
* メールに添付し、
* パスワードを別メールで送付します

という一連の作業が面倒くさいので、なんとかこれをやらずに済ませたい。

# 作っちゃいました

これらの一連の作業をほとんど手間かけずに行うことができるiOS向けのアプリ「PPAP Mailer」を公開しています。

アプリURL
[PPAP Mailer](https://apps.apple.com/ph/app/ppap-mailer/id1537350532?ign-mpt=uo%3D2)

# 使い方
## zipファイルに格納したいファイル選択
アプリを起動します。「ファイルを選択」ボタンを押すと、ファイル選択画面が表示されます。「ファイル」に格納されているファイルだけでなく、OneDriveやDropboxに入っているファイルも選ぶことができます。選択できるファイルは1つです。

![IMG_9878.PNG](https://qiita-image-store.s3.ap-northeast-1.am

元記事を表示

MapKitを使ってSwiftUI2.0でのdelegateの書き方のサンプルを作ってみた

# TL;DR
Objective-Cで書いていたSDKなどを使ったdelegateのサンプルをCoreLocation を参考に作ってみました。ソースはこちら> https://github.com/dropcontrol/LocationUpdata
またSwiftUIのProperty Wrapperを使った方法として`@ObservableObject`と`@ObserbedObject`を`@State`の代わりに使っています。実際は単一のViewの中でのPropertyの変更なので`@State`で充分なんですが。`@ObservableObject`を使う場合は複数のViewに跨ってPropertyの変更が必要な場合と言うことです。
参考:
https://rusutikaa.github.io/docs/developer.apple.com/documentation/swiftui/managing-model-data-in-your-app.html
https://capibara1969.com/2508/

# delegateをどう書くか?

アプリ自体

元記事を表示

[iOS] UIWebViewを使用するアプリのアップデート期限が延長されました

新規アプリはUIWebView APIが含まれているとApp Store Connectへのアップロードでエラーになります。

一方、既存アプリのアップデート期限に関しては「2020年12月」とアナウンスされていました。

参考リンク:
[[iOS] UIWebViewがいよいよヤバいらしい(”ITMS-90809: Deprecated API Usage”メールが届いた件)](https://qiita.com/y-some/items/1f9baeedd160f2d0fcbb)
[[速報] [iOS] UIWebViewが使えなくなる最終期限が告知されました](https://qiita.com/y-some/items/060492caa8a74db8107a)
[[iOS] UIWebView APIが含まれているライブラリを調べる方法](https://qiita.com/y-some/items/b1ea6eb37bd129d7aa8d)

これについて、[Apple Developer News](https://developer.apple.com/jp/news/

元記事を表示

初学者の方は必見!エックスコードプロジェクトをGithubで管理する具体的な方法

#概要
以前、2記事にわたってGithubのコマンドを解説をしました.

[githubを理解しよう! ①](https://qiita.com/syunta061689/items/ff80ab37641d6761d916)
[githubを理解しよう! ②](https://qiita.com/syunta061689/items/fb1cdc059cd543272c2f)

しかし、コマンドの意味を理解しても具体的にGithubに新規リポジトリを作成して、管理するまでの具体的な流れが理解できる情報は少ないです。
そこで、今回は、エックスコードプロジェクトをGithubで管理や簡単なbranchやcommitを機能を使ってみようと思います!

GitHubでの管理を何がなんでもしたい人必見です!

この記事をみる前に、Git をはじめからていねいにをみることをお勧めします!
https://github.com/takanabe/introduction-to-git

###環境

・Xcode – 11.3.1

・git – 2.26.0

・CLI – ターミナル

#

元記事を表示

[Swift] textFieldの値が変更されたタイミングを取得

textFieldの値を更新するタイミングを取得したい、、、
textViewには値が更新するたびに呼ばれるメッソド`textViewDidChange(_:)`がありますが、textFieldにはないです。
自分で実装する必要があります

## 実装

`viewDidLoad`内に以下を記述。
これで、値が変更するたびに、`textFieldDidChange`が呼ばれるようになります。

“`swift

textField.addTarget(self, action: #selector(textFieldDidChange), for: .editingChanged)
“`
あとは`textFieldDidChange`を記述して終わりです。
`#selector`を使う際はメソッドの先頭に`@objc`をつけましょう

“`swift

@objc func textFieldDidChange(sender: UITextField) {
//任意の処理
}
“`

## 参考

https://stackove

元記事を表示

Module ‘SOMETHING’ was created for incompatible target arm64-apple-ios8.0 とでてiOSアプリがビルドできない

今まではビルドできていたアプリがXcode12にアップデートしてからエラーがでてiOSアプリがビルドできなくなりました。

# 環境

– Xcode12
– Carthage

# エラー

ビルドするとCarthageでインストールしているフレームワークのビルドエラーが出ました。
![スクリーンショット 2020-11-05 19.48.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197742/70a55e2b-62f9-5b05-0a67-7eda7d91cdc9.png)

# 解決方法

以下を参考に targets > Build Settings の `Excluded Architecture` に `arm64` を追加するとビルドできるようになりました。

https://stackoverflow.com/questions/63607158/xcode-12-building-for-ios-simulator-but-linking-in-object-file-bu

元記事を表示

View間でのDelegateのパターン。またNavigationLinkを使ったページ遷移のサンプルを作った。

# ViewDelegatePattern(つい習慣でViewControllerって書いちゃったけど名前的にはこっちの方がいい)
View間でのDelegateのパターン。またNavigationLinkを使ったページ遷移のサンプルにもなっている。

レポジトリはここ>https://github.com/dropcontrol/ViewControllerDelegatePattern
この記事自体もレポジトリのREADME.mdと同じ。

## TL;DR

View間で値を渡すパターン。Viewを二つ用意。親から子へ渡すパターンと、子から親へ渡すパターンの2つを実装。値の渡し方は他にもあると思うけど、一番基本的なパターン。

## 親から子へ渡す場合

子であるSecondView.swiftに以下を追加

“`
let text: String = “Not Success” // 初期値が必要
“`

今回の場合親からNavigation Linkを使って呼び出してるので、destinationに登録したSecondView()の中でtextに文字列を渡している。

`

元記事を表示

【Nuxt.js】iOSでブラウザバックした時、元のスクロール位置に戻らない

(もっといい方法があれば教えて下さい!!?)
## 概要
Nuxt.jsプロジェクトで、外部ページに遷移してブラウザバックをしたところ、
画面最上部に戻されてしまったので対策。

## 結論
ホームディレクトリに`app/router.scrollBehavior.js`を追加し、下記のコードを実装

“`app/router.scrollBehavior.js
if (process.client) {
if (‘scrollRestoration’ in window.history) {
window.addEventListener(‘load’, () => {
window.history.scrollRestoration = ‘auto’
})
}
}
“`

## 理由
スクロール位置の復元設定が既存の`router.scrollBehavior.js`で実装されているが、
iosだとbeforeunloadが発火しない。
なので、window.history.scrollRestorationがautoに設定されず、
wind

元記事を表示

Apple Developer と Google Play の公式テスターについて

## 概要

久々に調べて毎回ググるのが面倒だからここにまとめる。
iOS/Androidのアプリ開発で、公式のテスター登録について次の内容となる。

※一部公式の内容を抜粋しているため、アップデートがあった際に詳細が異なる可能性があり、この記事をそのまま鵜呑みにせず必ず公式ページを確認するようにお願いします。

## [TestFlight](https://developer.apple.com/jp/testflight/)

 lockup-hero-large_2x.png

### 内部テスター
* チームでAccount Holder、Admin、App Manager、Developer、Marketingのいずれかの役割を担うメンバーを**最大100人**まで追加可能。

### 外部テスター
* Eメールアドレスを使用するか、任意のユーザーに対してAppのテストに参

元記事を表示

[Flutter] [Navigator] 次画面へ複数の値を渡す方法

Navigatorによる画面遷移時に次画面へ値を渡す方法です。
SQLiteやSharedPreferencesで保持する必要はなく、ライトに値を渡したいときにご参考になればと思います。

渡したい値が1つの場合

変数 hogeを次画面に渡す例

第3引数のargumentsに変数 hoge をセットします。

遷移元

“`dart

String hoge = ‘hoge’;
Navigator.pushReplacementNamed(
context,
‘/next_path’,
arguments: hoge
);
“`

遷移先

“`dart

final String hoge = ModalRoute.of(context).settings.arguments;
“`

渡したい値が複数ある場合

変数 hogeId, fuga を次画面に渡す例

渡したい値をまとめたクラスを作成し、そのオブジェクトを渡します。
名前はなんでも良いので、ViewAToBArguments というクラス名で以下のように作成すると

元記事を表示

iOS記事まとめ8

MVVMの基礎概念と実用についてそれぞれわかりやすかった記事

https://blog.77jp.net/development-rules-for-mvvm-that-a-beginner-should-be-conscious-of

CombineでHTTP通信を実装する
https://dev.classmethod.jp/smartphone/iphone/use-combine-for-http-networking/

Swift4.1からnil要素を除いた配列を生成するArrayのflatMapメソッドは
compactMapメソッドにリネームされたと言う話
https://qiita.com/amarillons/items/e897ca495470963249fe

WebViewの戻るボタン(イベントをフックする方法など)

Swiftの予約語一覧
https://q

元記事を表示

iOS記事まとめ7

Lottie(アニメーション)
https://lottiefiles.com/

UIBezierPath(線の描画)
https://program-life.com/648 
https://dev.classmethod.jp/smartphone/iphone/play-uibezierpath-1/

Swiftのunittest
https://qiita.com/s-harada/items/5a8c12b0c456d155ba53

AutoLayoutの制約を使ったアニメーション
https://qiita.com/roana0229/items/6a3272151262ea89e9ff

CABasicAnimation(重い処理のアニメーションに向いている)

[iPhone] CABasicAnimationを使たアニメーション


https://developers.cyberagent.co.jp/blog/archives/16638/

Appleのアプリ公開まで
https://qiita.com/kenny_J_7/items

元記事を表示

iOS記事まとめ6

RxSwiftとMVVMの登場人物
https://gist.github.com/mironal/9eead7a5d812174cec238d68615f1dd6

RxSwiftに苦手意識がある人向け

PromiseKit(非同期処理)
https://github.com/mxcl/PromiseKit

SVProgressが使えなくなる
https://qiita.com/edm17/items/a4b7163201c779895de3

KickstarterのMVVM
https://qiita.com/muukii/items/045b12405f7acff1a9fd

SwiftUIチートシート
https://fuckingswiftui.com/

UXデザイントレンド
https://note.mu/ryoheey_0417/n/nd427ffef1bc3#weGx6

流体インターフェイスを構築するアニメーション
https://medium.com/@nath

元記事を表示

iOS記事まとめ5

Macのストレージ圧迫のシステム欄の犯人
https://qiita.com/reikubonaga/items/48987d35fb10b7de6bcc

iOSのアーキテクチャ比較サンプル
https://medium.com/@rockname/clean-archirecture-7be37f34c943

Macのカーソル強制バインディング
https://qiita.com/saboyutaka/items/489ed2ffe4c1187b65a7#%E4%BB%96%E3%81%AB%E3%82%82%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D

Macのカーソル移動ショートカットなど
https://kukka.me/mac-arrowkey/

SwiftUIでMapKit
https://www.hackingwithswift.com/books/ios-swiftui/advanced-mkmapview-with-swiftui
https://www.dev4app.com/archives/58346305-how-to-fo

元記事を表示

iOS記事まとめ4

Flutterチャットアプリを支える技術
https://kwmt27.net/2020/03/26/the-technology-behind-flutter-chat-app/

(可愛い)Flutter入門
https://priceless-bardeen-f24139.netlify.app/

良いコードの書き方
https://qiita.com/alt_yamamoto/items/25eda376e6b947208996

RxSwift入門 非同期処理 
https://qiita.com/k5n/items/98aaf84fc164f7a5502c#observablecreate

Swiftにおけるclassとstructの使い分け

RxSwiftでsubscribeをネストされると困る
https://qiita.com/yimajo/items/393ec9b3b445ec170ce4

Flutt

元記事を表示

iOS記事まとめ3

SwiftでCore MIDI
https://qiita.com/yohki/items/cb8820026730c7729a2e

Flutterのパフォーマンス改善
https://note.com/shogoyamada/n/n3b752f2adf2e

ARKitの入門者向け記事まとめ
https://techpartner.jp/blog/category/ar%e3%82%a2%e3%83%97%e3%83%aa%e9%96%8b%e7%99%ba

booleanを返却するメソッド名、変数名の付け方
https://tinyurl.com/yyrp4a5x

iOS14で追加されるUIコンポーネントの使い方
https://qiita.com/MaShunzhe/items/a4db494b1c07c9e5b5ba

SwiftUI LazyVGrid/LazyHGrid
https://qiita.com/H_Crane/items/2e8e883685b976ec8555

Swift、Dateの王道
https://qiita.com/rinov/items/bf

元記事を表示

iOS記事まとめ2

FlatIcon
https://www.flaticon.com/search?word=Covid&style_id=15
このサイト1つでアイコンに困らなくなる
色もサイズも自分好みで取得可能

売れるアプリにするためにした工夫(UXノウハウ)
https://note.com/toconakis_tech/n/nda6cae85e410

いらすとやでわかるDI(iOSじゃないですが)
https://qiita.com/keidroid/items/7f0112502a08e2107c67

メモリリークをXcodeでチェックする
https://dev.classmethod.jp/articles/ios-memory-leak-check-and-prevent-190508/

associatedTypeのあるprotocolにキャストする
https://medium.com/finc-engineering/casting-to-protocol-having-associatedtype-e5854994a97f

Flutter Providerの使い方と解

元記事を表示

iOS記事まとめ

Flutter学習手順
https://medium.com/flutter-jp/flutter-learning-c5640c5f05b9

SwiftUIの@がついてるやつのまとめ的な記事
https://qiita.com/shiz/items/6eaf87fa79499623306a

iOSとmacOSアプリで知っておくべき違い

DispatchWorkitemによる非同期処理のキャンセル処理
https://qiita.com/umireon/items/f2cf44621070e749d73e

SceneKit(ARKit)のパーティクルシステムについての紹介記事
https://qiita.com/kboy/items/a1cd8dff40dff45d5b9e

↑の詳細パラメータなど

Xcode12のアップデート内容

元記事を表示

Vue3ベースのIonic-Vue(β)で実機デバッグするまで。

Vue3が発表されてIonic-Vueがβで公開されて少し経ったのでどんなもんか触ってみました。
諸事情あってWindowsで開発環境を構築していますがMacでもほぼ差異なく動きました

ionic/cliをglobalにinstallします。

“`shell
npm install -g @ionic/cli@testing
“`

my-appはプロジェクト名なので任意に

“`shell
ionic start my-app tabs –type vue –tag vue-beta
“`

1分程待つと

“`shell
Your Ionic app is ready! Follow these next steps:

– Go to your new project: cd ./vocbook
– Run ionic serve within the app directory to see your app in the browser
– Run ionic capacitor add to add a native iOS or Android proj

元記事を表示

OTHERカテゴリの最新記事