- 1. Flutterで、flutter_stripeを利用してサブスクリプションの決済画面を作成する
- 2. SwiftUIで、外部からテキストを受け取りMarkdown表示する
- 3. 長年運用しているプロジェクトがPeripheryを導入してスリムアップした話
- 4. OperationQueueを活用して、前処理,後処理,キャンセル処理が必要なタスクをバックグラウンドで行う
- 5. 2022年にいまさら振り返るObjective-C
- 6. 【SwiftUI】Toggleのスタイルについて
- 7. iOSのViewable Impression対応の話
- 8. UDLとよくあるお問い合わせ
- 9. Flutterアプリをリリースするために僕が考えたブランチ戦略とデプロイ方法と仕組みについてまとめてみた!
- 10. iOSアプリのデータ保存場所
- 11. iOS上でずんだもんにお話ししていただく
- 12. 【SwiftUI】外部APIを叩いて取得した結果をListに表示する・改
- 13. 【SwiftUI】キーボードツールバーを実装する
- 14. iPhoneのSMSを取り出す
- 15. [Swift]タイプライター風にUILabelをアニメーションさせる
- 16. はじめてのAppsFlyer – (4) iOS SDK実装後の実機デバイスでの動作確認
- 17. [Delphi][小ネタ] Windows / macOS / iOS / Android で等幅フォントを取得する
- 18. Sourceryを使って自動でEquatableに準拠させる
- 19. CompositionalLayoutのカルーセルを無限スクロールさせてみる
- 20. Swift初心者によるSwift初心者のためのアプリ開発
Flutterで、flutter_stripeを利用してサブスクリプションの決済画面を作成する
この記事は、[Flutter Advent Calendar 2022](https://qiita.com/advent-calendar/2022/flutter) 23日目の記事です。
Flutterを利用してDartでiOS / Androidに対応したアプリケーションを開発できます。
この記事では、FlutterでStripeの決済情報入力画面を表示するためのライブラリ「`flutter_stripe`」を利用して、サブスクリプションの申し込みを完了する方法を紹介します。
## 事前準備
Flutterを動かすために、DartとFlutter CLIをインストールしましょう。
### Dartのインストール
Homebrewを利用して、Dartをインストールします。
“`bash
$ brew tap dart-lang/dart
$ brew install dart
“`今回は、以下のバージョンを利用しています。
“`bash
dart –version
Dart SDK version: 2.18.5 (stable) (Tue Nov 22
SwiftUIで、外部からテキストを受け取りMarkdown表示する
# 概要
SwiftUIのTextなどは、Markdown記法が使えるようになりました。例えば以下のTextは、
“`swift
struct MarkdownView: View {
var body: some View {
List {
Text(“**BOLD**”)
}
}
}
“`実際にプレビューに表示するとBold表示になります。
![MarkDownでBold表示](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/687960/63bd7562-71d9-6ff8-642e-c472359ca013.png)
# パラメータとしてマークダウン文字列を取得する
例えば[Qiita API v2](https://qiita.com/api/v2/docs)などは、レスポンスの中にMarkdownで記述されたbodyがあります。これをMarkdownで表示しようと思います。
(Qiita APIからデータを取得する
長年運用しているプロジェクトがPeripheryを導入してスリムアップした話
# これは
この記事は、[Yamapエンジニア Advent Calendar 2022](https://qiita.com/advent-calendar/2022/yamap-engineers)の12月23日の記事です。
こんにちは、YamapでiOSエンジニアをやっている竹ノ内です。
普段はiOSアプリの開発に従事しています。
Yamapアプリは、歴史のあるアプリで元々はObjective-Cで書かれていましたが、それをSwift化したり、度々のリファクタリングと並行しながら、機能追加を重ねて成長してきました。
ただ、長年運用されている影響で全体を通して、
使われていないコードががそのままになっているところもあり、見通しが悪い箇所がありました。なので、Peripheryを導入して、シェイプアップを図ることにしました。
# そもそもPeripheryとは
[Periphery](https://github.com/peripheryapp/periphery)とは使われていないコードに対して、警告を出してくれるライブラリです。
> The goal of
OperationQueueを活用して、前処理,後処理,キャンセル処理が必要なタスクをバックグラウンドで行う
# はじめに
この記事はand factory.inc Advent Calendar 2022 23日目の記事です。
昨日は @twumo さんの 「[【JetpackCompose】テキスト入力された最後の文字だけマスクを外したい](https://qiita.com/twumo/items/155a7f1cc53aa55dc739)」でした。開発中の機能で`OperationQueue`について調べていた時期があり、大変便利だったので備忘録がてら共有です。
今回は表題の通り、
– 時間のかかる複雑な非同期処理をバックグラウンドで行いたい(ex: データダウンロード)
かつ
– 前処理(ex: 実行前に事前準備となる処理), 後処理が必要
– キャンセル処理(前処理~後処理のいずれかのポイントで問題が発生した時に、必ず実行したい処理)
があるようなケースを想定し、`OperationQueue`を活用したデモを作成しました。# デモ
今回実装した[簡易デモ](https://github.com/ykkd/OperationQueueDemo)の画面収録が下記になります
2022年にいまさら振り返るObjective-C
好きな言語は`C++`です.どうも @mizuhugu35 です.
いかがお過ごしでしょうか.私は今朝寝違えたため,首がとても痛いです.## 初めに
Objcを触る機会があって,基本ができていない気がしてきたので,今年の4月頃に勉強しました.
それをこの2022年の最後として,Objective-Cを再確認しよう!という記事です.(iOSアプリ開発は,Swiftから入ったクチです)
すべてを書くと長すぎるので端折るか,また違う記事として書こうと思います.
間違っているところがありましたら,ぜひコメントお願いします!
## Objective-C
名前の通りオブジェクト指向の言語で,**メッセージ式**と呼ばれる記述方法が特徴的です.“`objective_c
// – (id) a; で自分自身を返すメソッド
[object a];
// ネストできる
[[[object a] a] a];
“`
初めて見たときは, なんかLISPみたいな見た目してんな…と思いました.## コンパイラ指定子
`@`から始める命令のことで,代表的なのは`@intarface
【SwiftUI】Toggleのスタイルについて
# はじめに
iOS15からToggleのスタイルが増えてたので整理してみました。# スタイル
## iOS
### switch
“`swift
import SwiftUIstruct ContentView: View {
@State private var isOn = false
var body: some View {
Toggle(“トグル”, isOn: $isOn)
.toggleStyle(.switch)
}
}
“`
![Simulator Screen Recording – iPhone 14 Pro – 2022-12-22 at 20.45.02.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/3e288046-b2fa-ae51-4b77-ab76b4e95d43.gif)### button
“`swift
import SwiftUIstruct ContentV
iOSのViewable Impression対応の話
社内で内製化のログシステムを推進している中で、ZOZOTOWNのiOSアプリはLoggerの内製、またはクリック、Viewable Impression(以降、view-impと表記)などイベントの対応してきました。
この記事では、先日に公開されたTechBlog[【ZOZOTOWNホーム画面におけるログ設計と改善サイクルの紹介】](https://techblog.zozo.com/entry/zozotown-home-data-driven)のview-impについてのiOSの実現方法を深堀りして紹介します。
画面の構成や実装により、適切な対応がそれぞれになりますが、今回の対応で気づいたポイトンがきっとどこかで参考になると思います。# おさらい
## 背景
ホーム画面は主に**バナー**と「タイトル、一覧ページへのリンク、商品コンテンツ」という3つのパーツを持つ**モジュール**で構成されています。
これまで定性的な意思決定に基づいたモジュールの運用を、定量的に運用できるように、次ページ遷移率(以降、CTRと表記)をKPIとしました。“`math
CTR = コンテン
UDLとよくあるお問い合わせ
ハッピーホリデー!本日はわたくしアラがAppsFlyerのアドベントカレンダーを書かせていただきます。
###### 自己紹介
AppsFlyer入社3年目のサポートエンジニアです。弊社入社前はウェブアプリやモバイルアプリのエンジニアをしていました。
毎日AppsFlyerをご利用いただいている皆様からの技術的なお問い合わせやシステムの調査依頼等を対応しています。日本語でお問い合わせいただくと高確率で私が出現します。(全ての言語で対応しておりますのでお気軽にご連絡ください!)本日は多くの皆様にご利用いただいているUDLというAppsFlyer SDKの機能の一部と、よくあるお問い合わせ、その解決方法をご紹介したいと思います。
## そもそもAppsFlyer SDKで何ができるの?
AppsFlyer SDKでは主にインストールデータやアプリ内イベントデータの送信、アトリビューション時のパラメータの取得が行えます。
アトリビューションとはどの広告(リンク)からアプリがインストールされたかを決定する仕組みで、**AppsFlyer SDKではそのリンクのパラメータが取得可能**と
Flutterアプリをリリースするために僕が考えたブランチ戦略とデプロイ方法と仕組みについてまとめてみた!
# はじめに
この記事は[MIXI DEVELOPERS Advent Calendar 2022](https://qiita.com/advent-calendar/2022/mixi) の22日の記事です。# この記事はなに?
昨年からFlutterでアプリ(iOS/Android)開発をはじめ、今年の頭に初めてアプリをリリースしました!
リリースする際に考えたブランチ戦略、デプロイ方法と仕組みについてまとめてました!## この記事で紹介すること
– ブランチ戦略について
– デプロイ方法と仕組みについて上記について紹介します!
# 環境
今回の記事は以下の環境、ツールを使用しています。
– MacOS: monterey 12.6 2
– Flutter: 3.0.2
– Fastlane: 2.190.0
– GitHub
– DeployGate
– Bitrise# ブランチ戦略について
まずはアプリをリリースするまでのブランチ戦略についてご紹介していきます!## 具体的なリリース手順
以下の図でリリース作業を進めています。それぞれ解説してい
iOSアプリのデータ保存場所
## 保存場所
– メモリ
– NSCache:メモリが足りなくなれば自動的にアイテムが消される
– Dictionary や Array
– ファイルシステム
– ディレクトリ:基本的に iCloud へバックアップされる
– UserDefaults:プリミティブ型のユーザ設定を保存する、起動時にメモリに展開される、iCloud へバックアップされる
– データベース:Core Data、Realm、SQLite など
– KeyChain
## ファイルシステムの構造
“`
/
Applications/ (大事)
Developer/
Library/
System/
User/
bin/
dev/
etc/
lib/
mnt/
private/
sbin/
tmp/
usr/
var/ (大事)
“`
## /Applications
“`
/
Applications/
{$a
iOS上でずんだもんにお話ししていただく
ネット流行語100(2022)にてニコニコ賞を受賞したずんだもんにお話しをお願いしました。
## はじめに
VOICEVOXは読み上げ音声エディタであり、読み上げ音声の一つとして ずんだもん が使えます。
VOICEVOXはWindows, Mac, Linuxに対応したエディタで、現在(2022/12)ではiOS向けのリリースはされていません。が、開発はオープンソースで行われており、音声合成のコア部分もソースコードが開示されています。(\*1)
以下は奮闘の軌跡です。## iOS向けにBuildしてみる
iOS向けにコアをビルドしてみます。
READMEによれば、onnxruntimeが必要そうなので、こちらもビルドします。公式ドキュメントに従って
~~~
./build.sh –config MinSizeRel –use_xcode –ios –ios_sysroot iphoneos –osx_arch arm64 –apple_depro
【SwiftUI】外部APIを叩いて取得した結果をListに表示する・改
## はじめに
以前 SwiftUI の勉強会ネタとして connpass の API を利用して,
YUMEMI.swift という勉強会を検索して検索結果をリストに表示して,
詳細画面にマップや勉強会の内容などを表示するサンプルアプリを SwiftUI で作りました。あれからだいぶ経ったので少し機能追加,リファクタリングを今回やってみようと思います。
だいぶ開発しやすくなったね,と感じることができるかが気になるところです。## アプリの詳細
詳しくは過去の記事をご覧ください。
https://qiita.com/MilanistaDev/items/64dca8c9d5099a19529e
### API
connpass の API で勉強会検索します。
エンドポイントは下記のままです。
`https://connpass.com/api/v1/event/?keyword=YUMEMI.swift`### アプリ構成
大きく 3 画面で今回手を入れるのはリスト画面と詳細画面になります。
* **リスト画面**: API を叩いて取得できた勉強会たちをリ
【SwiftUI】キーボードツールバーを実装する
# はじめに
DeepL翻訳アプリを使用していたらキーボードの上にツールバーが表示されていたので同じように実装してみました。
![IMG_1843.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/ed482a32-e094-5276-767c-3889ae3f85f9.png)# サンプルアプリ
![Simulator Screen Recording – iPhone 14 – 2022-12-21 at 21 30 53](https://user-images.githubusercontent.com/84154073/208905758-a6a78e3b-5c8c-48ce-8a76-2a21ec8d48da.gif)# 実装
“`swift
import SwiftUIstruct ContentView: View {
@State var text: String = “”
var body: some View {
TextF
iPhoneのSMSを取り出す
# バックアップを取る
iTunesなどでiPhoneのバックアップを取る全バックアップが面倒なら自己責任でサードパーティ製のものを使うと個別バックアップできるかもしれません。
# バックアップしたフォルダからSMSのデータを探す
Windowsであれば`%userprofile%\Apple\MobileSync\Backup`内にバックアップした日時毎のデータがあるので適当にバイナリgrepする。
自分の場合は`chat_id`で検索するとすぐでした。
他にも送信者などでも良いと思います。
(迷惑メールなら送信者が特殊なアドレスなので引っかかりやすいです。)バイナリgrepは[msys](https://www.msys2.org/)や[cygwin](https://www.cygwin.com/install.html)などでやるのが楽と思います。
例)
“`shell
$ grep chat_id . -nr
Binary file ./3d/3d0d7e5fb2ce288813306e4d4636395e047a3d28 matches
“`# DB
[Swift]タイプライター風にUILabelをアニメーションさせる
# 参考動画
![-gdjupqclrgqq32do.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643372/1a7a2107-61b2-62d4-fb63-f71d0cceb873.gif)このようにUILabelを1文字ずつ表示するアニメーションをする方法を紹介します。
# コード
“`.swift
final class View: UIView {
@IBOutlet weak var label: UILabel!
private var timer = Timer()
private var currentTextCount = 0
var text: String?private func setTimer(_ text: String) {
timer = Timer.scheduledTimer(timeInterval: 0.075, target: self, selector: #selector(textA
はじめてのAppsFlyer – (4) iOS SDK実装後の実機デバイスでの動作確認
いよいよ「はじめてのAppsFlyer(iOS編)」の最後の記事です。これまでの以下の順にSDK実装を進めてきたアプリで、実機デバイスでアプリを動かし、広告接触経由の非オーガニックインストールができることを確認します。
– [(1) アプリを管理画面に追加する](https://qiita.com/maktag/items/5d3399e2137947bef529)
– [(2) iOS SDK実装/iOSシミュレーターでの動作確認](https://qiita.com/maktag/items/9c5929450a7cc0b42e1a)
– [(3) iOS SDKでのATTフレームワークの実装](https://qiita.com/maktag/items/41ad60df7c037b72a7bb)# 前提
この記事では、Xcodeから手持ちのiPhoneの実機にアプリが転送できることを前提としています。
Apple Developer Programなどに登録するのが一般的だと思いますが、登録しなくても実機テストをやる方法もあるようです。[[Xcode][iOS] 有
[Delphi][小ネタ] Windows / macOS / iOS / Android で等幅フォントを取得する
# 等幅フォントを取得する
コードはもちろんのこと情報を表示するときとかに等幅フォントが必要になる事があります。
各プラットフォーム毎にフォント名が異なるのでめんどい!のと毎回調べてるので、メソッドにまとめてみました。コードは以下の通り。
“`delphi
(*
* Font Utility
*
* PLATFORMS
* Windows / macOS / iOS / Android
*
* LICENSE
* Copyright (c) 2022 HOSOKAWA Jun
* Released under the MIT license
* http://opensource.org/licenses/mit-license.php
*
* HISTROY
* 2022/12/19 Version 1.0.0 First Release
*
* Programmed by HOSOKAWA Jun (twitter: @pik)
*)unit PK.Utils.Font;
interface
type
TFo
Sourceryを使って自動でEquatableに準拠させる
この記事はand factory.inc Advent Calendar 2022 21日目の記事です。
昨日は @k_shinn さんの [【Jetpack Compose】WearOSで簡単なアプリを作ってみる](https://qiita.com/k_shinn/items/f36c1a8fc19a91d97aae) でした。# はじめに
テストを書くときによく構造体の比較をしたいときがあるのですが、毎回Equatableに準拠させるために`==`の実装をするのが面倒だと感じてました。
そこで今回は、[Sourcery](https://github.com/krzysztofzablocki/Sourcery)というツールを使ってEquatableの実装を自動化してみました。# Sourceryとは
Sourceryとはボイラーテンプレートを自動生成してくれるSwift製のツールです。# 環境
– MacBook Pro Apple M1 Max
– Xcode14.1(14B47b)
– Swift:5.7.1
– Mint:0.17.4# セットアップ
CompositionalLayoutのカルーセルを無限スクロールさせてみる
こんにちは:christmas_tree:
ZOZO #6 Advent Calendar 2022 21日目の記事を担当します:snowflake: (去年も21日)
今年は遅れてスノボーにシーズインした、@koiwai2020です:snowboarder:
よろしくお願いします:bow:# 今回も
大好きなスノボーシーズンに使えそうな話題が、、、、作れませんでした。
なので調べてみたものの使うことはなかった、CompositionalLayoutで作ったカルーセルの無限スクロールを忘れないように記す場にします。# 無限スクロールの実装について
無限スクロールは、動画のように1〜5の数字が割り振られたセルが、無限にスクロールされます。
Swift初心者によるSwift初心者のためのアプリ開発
[アイスタイル Advent Calendar 2022](https://qiita.com/advent-calendar/2022/istyle) 21日目を担当させて頂きます、こたちゃんです:santa_tone1::gift:
## はじめに
私は、3週間ほど前からiOSのアプリチームで研修をしている新卒のエンジニアになります??
普段は主にバックエンドエンジニアしてます!これまで、Swiftに一度も触れたことがなかったのですが、学んで2週間ほどで、、なんだこれ、、楽しすぎる!!!と恋をしてしまうような体験:heart_eyes:をしてしまったため
**触れたことないいんだけどやってみるか!**
といった人を増やすべく、この記事を書こうと思いました:sunny:「ボタンを押したらおみくじの結果が表示される」という初心者の方でも作れるようなアプリを
チュートリアルのような形式で作成していこうと思います:muscle_tone1:## 作成するアプリ
関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた