- 0.1. iPhoneだけでYouTubeライブコマースをする(Amazonアソシエイト編)
- 0.2. PPAPの作業が面倒なのでiPhoneでカンタンに済ませたい
- 0.3. MapKitを使ってSwiftUI2.0でのdelegateの書き方のサンプルを作ってみた
- 0.4. [iOS] UIWebViewを使用するアプリのアップデート期限が延長されました
- 0.5. 初学者の方は必見!エックスコードプロジェクトをGithubで管理する具体的な方法
- 0.6. [Swift] textFieldの値が変更されたタイミングを取得
- 0.7. Module ‘SOMETHING’ was created for incompatible target arm64-apple-ios8.0 とでてiOSアプリがビルドできない
- 0.8. View間でのDelegateのパターン。またNavigationLinkを使ったページ遷移のサンプルを作った。
- 0.9. 【Nuxt.js】iOSでブラウザバックした時、元のスクロール位置に戻らない
- 0.10. Apple Developer と Google Play の公式テスターについて
- 0.11. [Flutter] [Navigator] 次画面へ複数の値を渡す方法
- 1. 渡したい値が1つの場合
- 2. 渡したい値が複数ある場合
iPhoneだけでYouTubeライブコマースをする(Amazonアソシエイト編)
iPhoneだけでYouTubeライブコマースをする(Amazonアソシエイツ編)を説明します。
コロナ禍により、オンラインへ活動の場所を移す人が対象です。
iPhoneだけでYouTubeライブを行う方法(チャンネル登録者数は1000人未満でも可)はコチラの投稿を参照してください。
チャンネル登録数が1000人未満でもiPhoneでYouTubeライブ配信をする
https://qiita.com/rgbkids/items/7aa3250e0f802ad25cabAmazonアソシエイト
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/)
### 内部テスター
* チームで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-ofCombineでHTTP通信を実装する
https://dev.classmethod.jp/smartphone/iphone/use-combine-for-http-networking/Swift4.1からnil要素を除いた配列を生成するArrayのflatMapメソッドは
compactMapメソッドにリネームされたと言う話
https://qiita.com/amarillons/items/e897ca495470963249feWebViewの戻るボタン(イベントをフックする方法など)
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/5a8c12b0c456d155ba53AutoLayoutの制約を使ったアニメーション
https://qiita.com/roana0229/items/6a3272151262ea89e9ffCABasicAnimation(重い処理のアニメーションに向いている)
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/9eead7a5d812174cec238d68615f1dd6RxSwiftに苦手意識がある人向け
PromiseKit(非同期処理)
https://github.com/mxcl/PromiseKitSVProgressが使えなくなる
https://qiita.com/edm17/items/a4b7163201c779895de3KickstarterのMVVM
https://qiita.com/muukii/items/045b12405f7acff1a9fdSwiftUIチートシート
https://fuckingswiftui.com/UXデザイントレンド
https://note.mu/ryoheey_0417/n/nd427ffef1bc3#weGx6流体インターフェイスを構築するアニメーション
https://medium.com/@nath
iOS記事まとめ5
Macのストレージ圧迫のシステム欄の犯人
https://qiita.com/reikubonaga/items/48987d35fb10b7de6bcciOSのアーキテクチャ比較サンプル
https://medium.com/@rockname/clean-archirecture-7be37f34c943Macのカーソル強制バインディング
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%8DMacのカーソル移動ショートカットなど
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/25eda376e6b947208996RxSwift入門 非同期処理
https://qiita.com/k5n/items/98aaf84fc164f7a5502c#observablecreateSwiftにおけるclassとstructの使い分け
RxSwiftでsubscribeをネストされると困る
https://qiita.com/yimajo/items/393ec9b3b445ec170ce4Flutt
iOS記事まとめ3
SwiftでCore MIDI
https://qiita.com/yohki/items/cb8820026730c7729a2eFlutterのパフォーマンス改善
https://note.com/shogoyamada/n/n3b752f2adf2eARKitの入門者向け記事まとめ
https://techpartner.jp/blog/category/ar%e3%82%a2%e3%83%97%e3%83%aa%e9%96%8b%e7%99%babooleanを返却するメソッド名、変数名の付け方
https://tinyurl.com/yyrp4a5xiOS14で追加されるUIコンポーネントの使い方
https://qiita.com/MaShunzhe/items/a4db494b1c07c9e5b5baSwiftUI LazyVGrid/LazyHGrid
https://qiita.com/H_Crane/items/2e8e883685b976ec8555Swift、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-e5854994a97fFlutter Providerの使い方と解
iOS記事まとめ
Flutter学習手順
https://medium.com/flutter-jp/flutter-learning-c5640c5f05b9SwiftUIの@がついてるやつのまとめ的な記事
https://qiita.com/shiz/items/6eaf87fa79499623306aiOSとmacOSアプリで知っておくべき違い
DispatchWorkitemによる非同期処理のキャンセル処理
https://qiita.com/umireon/items/f2cf44621070e749d73eSceneKit(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