- 1. プライバシーポリシー Bulldog Market
- 2. 独り言で解説するCarthageの導入方法
- 3. 【SwiftUI】PKHUDをSwiftUIで使う
- 4. iOSプロトタイプ開発で新たに取り入れたこと5選(2022/05)
- 5. 【iOS】Facebook ログインを実装してみる
- 6. 【Qiita Night】 「新卒エンジニアによるSwift6与太予想」で登壇してきました!
- 7. 【Flutter3.0】キーボードタイプをスクショ付きで改めて。
- 8. TextFieldで数字,英語,記号だけを入力させたい時
- 9. iOSの端末識別方法って…(・・?
- 10. 【SwiftUI】ChartsをSwiftUIで使う
- 11. Launch Screenが正しく期待通りに表示されない問題
- 12. [iOS][Firebase] プッシュ通知のテストメッセージが届かなかった時の対処メモ
- 13. 【SwiftUI】アプリ起動広告の表示方法
- 14. SwiftUIでダイアログを実装する(例:ローディング)
- 15. ?インスタふうの画像選択を使いたい! YPImagePicker ?
- 16. FlutterでiOSのソースを呼び出す
- 17. Swiftで特定のメソッドをClosureにしたくなった時
- 18. 【Swift】半円グラフの作り方
- 19. 【Swift】数字の省略表記
- 20. Unityのマルチプラットフォームビルドスクリプトではまりがちなこと(特にiOS)
プライバシーポリシー Bulldog Market
# プライバシーポリシー
#### 個人情報保護方針Bulldog Market(以下「当グループ」)は、以下のとおり個人情報保護方針を定め、個人情報保護の仕組みを構築し、グループメンバー全員に個人情報保護の重要性の認識と取組みを徹底させることにより、個人情報の保護を推進致します。
#### __個人情報の管理__
当グループは、お客さまの個人情報を正確かつ最新の状態に保ち、個人情報への不正アクセス・紛失・破損・改ざん・漏洩などを防止するため、セキュリティシステムの維持・管理体制の整備・グループメンバーの教育の徹底等の必要な措置を講じ、安全対策を実施し個人情報の厳重な管理を行ないます。
#### __個人情報の利用目的__
お客さまからお預かりした個人情報は、以下の利用目的のために利用いたします。
(1) 広告配信のため
(2) パフォーマンス分析のため
(3) アプリケーション改善のため
(4) ユーザーへのサポート・不具合対応のため#### __個人情報の第三者への開示・提供の禁止__
当グループは、お客さまよりお預かりした個人情報を適切に
独り言で解説するCarthageの導入方法
# オンボーディングにて
会社「では、Carthageでこのアプリを作ってください。よろしくお願いします。」
わい「ん、おかのした。(カルタゴ?)」その夜
わい「はえー、[カルタゴって地名](https://wikitravel.org/ja/カルタゴ_(チュニジア))なんやな」わい「…そこに行けと?」
# Carthageとは
https://github.com/Carthage/Carthage↑がCarthageのGitHubやな
このGitHubのAboutを見てみると、
>A simple, decentralized dependency manager for Cocoa
日本語に直すと「**Cocoa用のシンプルで分散化された依存関係管理ツール**」と言っているんや
・・・
さっぱりわからん・・・
Cocoaというのは、MacOS用のアプリケーションを構築するフレームワークのことやから、
要は、Carthageは**たくさん存在するiOSアプリのライブラリを管理するツール**ってことやな
# Carthageのインストール
Carth
【SwiftUI】PKHUDをSwiftUIで使う
# はじめに
UIKitで書かれたライブラリをSwiftUIで使うシリーズの第2弾です今回は「[PKHUD](https://github.com/pkluz/PKHUD)」こちらのライブラリです。
PKHUDはアラートライブラリでapple純正アラートのようなUIなのでとてもかっこいいです。
↓ こんな感じ ↓
# 実装
“`PKHUDView.swift
import SwiftUI
import PKHUDstruct PKHUDView: UIViewRepresentable {
@Binding var isPresented: Bool
var HUDContent: HUDContentType
var delay: Double
func makeUIView(context: UIViewRe
iOSプロトタイプ開発で新たに取り入れたこと5選(2022/05)
最近とあるコンテスト(物は言いよう、ですが)向けにiOSのプロトタイプアプリを作ったので、意識して取り入れたこと5つです。
いずれも新しい発想ではありませんが、今後のiOSアプリ開発で意識し続けたいことです。
# 1. SwiftPM の Package.swift で依存ライブラリ管理
従来 CocoaPods や Carthage でやってきたライブラリ依存関係の管理ですが、今回は SwiftPM でやりました。
今回、アーキテクチャーは MVVM で、View 以外をパッケージに小分けしたんですが、パッケージの場合はプロジェクト直下の場合と違って、依存関係を Package.swift に書けます。
“`Swift
dependencies: [
.package(path: “../Model”),
.package(url: “https://github.com/ReactiveX/RxSwift.git”, from: “6.5.0”),
],
targets: [
.target(
name: “Repository”
【iOS】Facebook ログインを実装してみる
# はじめに
Facebookログインの機能を実装したく、Meta for Developersへの登録もしてない状況でしたが、一からドキュメントを見てやってみました。https://developers.facebook.com/docs/facebook-login/overview/?locale=ja_JP
# 環境
Xcode 13.3
Swift 5.6
FBSDKLoginKit 13.2.0# 作業内容
公式ドキュメント見ながらそのまんまやってみた(ものを書きました)
https://developers.facebook.com/docs/facebook-login/ios
## ディベロッパー登録
未登録でしたのでこちらから登録しました
https://developers.facebook.com/
FacebookアカウントでログインしてContinue
に「新卒エンジニアによるSwift6与太予想」というタイトルで登壇させていただきました。動画、スライドに関しては以下のURLから確認できるので、ぜひご覧ください!
この記事では、登壇内容のまとめやお話しできなかった部分を書いていこうと思います!https://speakerdeck.com/eiji127/qiita-night-xin-zu-enzinianiyoruswift6yu-tai-yu-xiang
## 2. 非同期処理とジェネリクスのアップデートについて
まず初めに、非同期処理とジェネリクスのアップデートについて話しました。この2つに関しては、WWDC21の動画やSwift Evolutionなどで、どのようにアップデートされるかについて具体的に言及さ
【Flutter3.0】キーボードタイプをスクショ付きで改めて。
# はじめに
Flutterも3になりましたので、改めてスクショ付きで種類をまとめようと思いました。# 環境
Flutter3.0
Xcode 13.3.1# ドキュメント
https://api.flutter.dev/flutter/services/TextInputType-class.html## TextInputType.text
“`
TextField(
onChanged: onChange,
keyboardType: TextInputType.text,
),
“`
デフォルトのキーボード。
未指定だとこちらを表示します。## TextInputType.multiline
“`
TextField(
onChanged: onChange,
maxLines
TextFieldで数字,英語,記号だけを入力させたい時
# 内容
アカウント登録などのフォームを制作する際に、メールアドレス、パスワードなどの
TextFieldに、入力できる値を制限したい場面を想定しています。# 方法
### 数字のみ
数字のみは**inputFormatters**で用意されていて、以下の記述を足すことで簡単に設定ができます。
“`Dart
TextField(
keyboardType: TextInputType.number,
inputFormatters: [FilteringTextInputFormatter.digitsOnly]
)
“`### 英字,記号など
**FilteringTextInputFormatter.allow()** : 一致するものを許可
**FilteringTextInputFormatter.deny()** : 一致しないものを許可“`Dart
inputFormatters: [
FilteringTextInputFormatter.allow(
RegExp(r'[a-zA-Z0-9@_-.]’)),
],
“
iOSの端末識別方法って…(・・?
## リセマラスッカ…
リセマラしようと思いました。(iPhone12)
アプリ消しました。
再インストールしました。アプリキャラ<「お帰りなさい!!」 ...? (一部、事実と異なる表現をしています) ## なんか覚えられてるんですけど アプリ開発については詳しくないので推測ですが デバイスからデータ削除しているにも関わらず、あちらが私の情報を持っているということは あちらのAPIで取得できる端末情報とゲームデータを紐づけているんじゃあないかと。 取得できる端末情報なんて限られるから変えられるもんは全部変えようとしました。 ### ① Apple ID サインアウトして別アカウントでアプリを再度インストールしましたがダメでした。 ### ② MACアドレス 端末識別といえばって感じで思い当たった。 でもWifiと4Gで変わるよな... 切り替えても覚えられてるし... ###### 後で調べましたが、iOSいくつからか勝手に切り替わるようになっていました。すごい よって違う。 ### ③ IDFV ここからちょっと調べて知った情報です。 Appleさんはアプリが取得
【SwiftUI】ChartsをSwiftUIで使う
# はじめに
Qiitaのネタも尽きてきたので新シリーズを開始しようと思います。
題して「UIKitで書かれたライブラリをSwiftUIで使うシリーズ」本シリーズ最初のライブラリは「[Charts](https://github.com/danielgindi/Charts)」です!
Chartsはグラフの描写ライブラリです# 実装
### Line Chart
“`LineChart1.swift
import SwiftUI
import Chartsstruct LineChart1: UIViewRepresentable {
@Environment(\.colorScheme) var colorScheme
func makeUIView(context: Context) ->
Launch Screenが正しく期待通りに表示されない問題
## 現象
LaunchScreen.storyboardを利用して起動時スプラッシュを表示しようとすると
– ノッチあり端末では、スプラッシュが出るはずの画面が真っ暗になってしまう
– ノッチなし端末では、期待通りに表示されるというややこしい問題が起きていた。
## 原因と解決方法
LaunchScreenにpdfを画像として利用していたことが原因。
これをpng画像に差し替えたところ、どちらでも期待通りに表示されるようになった。
AppleのLaunchScreen Debugガイドによると、LaunchScreenに使う画像はjpg/pngのどちらかでなければいけないそう。“`
The image in your launch screen storyboard did not originate from the target’s asset catalog. If you are using static images in your launch screen, check to make sure the image originates from the p
[iOS][Firebase] プッシュ通知のテストメッセージが届かなかった時の対処メモ
# 状況
Firebase公式ドキュメントを見ながらプッシュ通知の設定をした後、ブラウザで Firebase Cloud Messaging のコンソールからテストメッセージを送信してみたが、実機RUN中の iPhone に通知が届かない…
https://firebase.google.com/docs/cloud-messaging/ios/client?hl=ja
# 解決方法
AppDelegateに[application(_:didRegisterForRemoteNotificationsWithDeviceToken:)](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1622958-application)を書いたら解決した。
Apple 公式ドキュメントの「デバイストークンをAPNsに登録する方法」というページでこの関数が紹介されていた。
https://developer.apple.com/documentation/usernotifications/
【SwiftUI】アプリ起動広告の表示方法
第0部: [スタートガイド](https://qiita.com/SNQ-2001/items/44f3446ce0966c78641b)
第1部: [リワード広告](https://qiita.com/SNQ-2001/items/253173abefc6f90f86ea)
第2部: [インタースティシャル広告](https://qiita.com/SNQ-2001/items/5590a55324c39582a9ef)
第3部: [ネイティブ広告](https://qiita.com/SNQ-2001/items/7151fdcb8e9f8c2c42c2)
第4部: [バナー広告](https://qiita.com/SNQ-2001/items/9bf389475cb5995469a0)
第5部: [アプリ起動広告](https://qiita.com/SNQ-2001/items/75ce24982bf418c52349) ← イマココ# はじめに
AdMob広告シリーズ第5部です
今回は[アプリ起動広告](https://developers.google.com/ad
SwiftUIでダイアログを実装する(例:ローディング)
## すべてのコンテンツ上でローディングダイアログを表示
以下の「モデルクラス」と「モディファイア」を導入することで、すべてのコンテンツ上でローディングダイアログを表示します。
* DialogModel.swift
* DialogModifier.swift## DialogModel
ObservableObjectプロトコルに準拠したクラスです。
これを使用して、ダイアログをアクティブ・非アクティブします。
“`swift:DialogModel.swift
import Foundationpublic enum DialogType {
case none
case loading
}class DialogModel: NSObject, ObservableObject {
@Published var dialogType: DialogType = .none
}
“`## Dialog モディファイア
DialogModelのdialogTypeに基づいてローディングダイアログをアクティブにします
オーバーレイは、ビュー
?インスタふうの画像選択を使いたい! YPImagePicker ?
# 使い方
Swift Package Managerで以下を加えます。
https://github.com/Yummypets/YPImagePicker.git
Info.Plistで Photo Usage Description と Camera Usage Description を追加します。
“`swift
import YPImagePicker
“`“`swift
var config = YPImagePickerConfiguration()
config.library.maxNumberOfItems = 10
let picker = YPImagePicker(configuration: config)// 以下で画像や動画を選択したときの挙動を記述
picker.didFinishPicking {
FlutterでiOSのソースを呼び出す
押したら文字が変わるだけのシンプルなものです。ただFlutterではなくiOSのソースを呼び出しています。画面は下記。
![]()
ソース
Swiftで特定のメソッドをClosureにしたくなった時
例えば以下のような関数があったとします。
“` swift
func 関数名() {
長い処理
}
“`このメソッドを使い回した時に特定の箇所ではUI処理が終わるまで待機する必要が出てきた時などに
“` swift
func 関数名(comp: (() -> Void)? = nil) {
長い処理// comp!()にすると呼び出さない場合にクラッシュする(後述)
comp?()
}
“`## 呼び出し方
“` swift
override func viewDidLoad() {
// 待つ必要がない場合
// comp!()にしてるとここでクラッシュ
関数名()// 待ちたい時
関数名 {
//待った後に行いたい処理
}
}
“`もし以下のような形で書くと
“`swift
func 関数名(comp:
【Swift】半円グラフの作り方
# はじめに
Swiftのグラフ描写ライブラリと言えば「[Charts](https://github.com/danielgindi/Charts)」ですよね。
そんなChartsで半円グラフを作る機会があったのでアウトプットとして記事にしておきます。# 作るもの
GitHubリポジトリの使用言語グラフ
(今回は[こちら](https://github.com/apple/swift)のリポジトリ)
これを半円グラフで描写します。
# インストール
私はCocoaPodsでインストールしました。
通信にはAlamofireを使います
“`Ruby
pod ‘Charts’
pod ‘Alamofire’
“`# 実装
### Storyboardの設定
Viewを配置します
【Swift】数字の省略表記
# 数字の省略表記とは?
SNSでフォロワーの数が省略されている事があります
正直、日本では使わないと思うのでぱっと見ではこれが何桁の数字なのか分からないと思います。簡単に説明すると
**1K = 1,000**
(000が1個ならK)**1M = 1,000,000**
(000が2個ならM)このような法則があります。
数字から省略表記に変換する拡張を作る機会が合ったので共有したいと思います。
# 作ったもの
`1.0K`のような場合は`.0`を削除しています
“`swift
import Foundationextension Int {
func calcNumericalValue() -> String {
if self >= 1000000 {
l
Unityのマルチプラットフォームビルドスクリプトではまりがちなこと(特にiOS)
# はじめに
この記事は以下のような問題をかかえる人向けです
* スクリプトを利用したマルチプラットフォームビルドに手を染めている
* プラットフォームの切り替えとビルドの開始をEditorスクリプトで行おうとしている。
* スクリプトからプラットフォームを切り替えたときに、Unityでのビルド自体は成功しているのに、おかしなビルドができたり、ビルドが失敗したりするケースがあるスクリプトから `defineシンボル` を変更したとき についても同様の問題があるので参考になると思います。
# 環境
Unity2019.4.29f1 でためしています。もしかすると、後のバージョンでは違いがあるかもしれません。
# 結論
忙しい人向けに最初に結論を書きます。
* とあるプラットフォーム向けに正常にビルドするためには、そのプラットフォームに先にスイッチし、しかも、Editorスクリプトを再コンパイルした後でビルドしなければなりません。これができていない場合、異常なビルドになります。イメージとしては以下のような感じです。
![]()
関連する記事
OTHERカテゴリの最新記事
-
- 2023.10.01
今さら聞けないセキュリティ 2023年10月01日
-
- 2023.10.01
ITエンジニアが読むべき技術書 2023年10月01日
-
- 2023.10.01
iOS関連のことを調べてみた2023年10月01日
-
- 2023.10.01
Python関連のことを調べてみた2023年10月01日
-
- 2023.10.01
Ruby関連のことを調べてみた2023年10月01日
-
- 2023.10.01
Rails関連のことを調べてみた2023年10月01日