理想のiOSアプリを求める

全くのプログラミング初心者の私がiOSアプリ開発でつまづいたところなどを中心に記事にして行きます。

Xcode

Swift 配列にて特定の要素を全て削除する方法

例えば この配列に含まれている5という数字を全て削除したい場合 var array = [0,1,2,3,4,5,5,6,7] array.remove(value:5) ↑このコードだと一つしか削除されません let a: (Int) -> Bool = { $0 == 5 } array.removeAll(where: a) ↑これで全ての5をいっぺん…

building for iOS Simulator, but linking in object file built for iOS, file '' for architecture arm64のとりあえずの対処法、妥協策

見づらくて申し訳ない M1 MacにしてXcodeで既存のアプリをシミュレーターで動かそうとすると現れる のようなエラー,etcの数々 Apple Silicon (M1)のマックだとアーキテクチャが変わったとかで、おそらくそれに対応していないライブラリなどがある場合はうま…

FCM 特定の端末にテストメッセージを送信する方法

Firebase Cloud Messagingにて特定の端末にテスト送信する方法 備忘録的ですが参考になれば 1. 新しい通知を選択(テストを作成ではないので注意) 2.テストメッセージを送信を選択 3.通知したいデバイスのトークンを入力してプラスボタン_ このトークンの取…

Firebase Cloud Messagingで「キャンペーンで読み込みエラー」が出た場合の対処の一例

私はiOSアプリをリリースしていてPUSH通知を導入しています。 いつものようにPUSH通知しようとしたら こういうふうに PUSH通知を送信しても毎回40件しか送信されないという症状になっていたんですよね。 かなり困っていたのですが結構単純な問題でした。 私…

flutterでMLKITを使おうとした時のエラーCocoaPods could not find compatible versions for pod "google_ml_kit":  

google_ml_kitは2021/09/06現在 ios10以上でないと使えないようです? まずflutterのプロジェクトのXcodeのプロジェクトを開きます↓ 白いのRunner..xcworkspaceを開く なければRunner.xcdeprojを開く ここからデプロイメントターゲットをiOS10以降にあげまし…

Swift toolbarのbutton、barButtonItemをコードで書いているときに位置を調整する方法

hajihaji-lemon.com こちらのサイト様を参考にさせていただきました。 flexible Spaceはよく目にすることも多いですが 今回のはfixedSpaceです。 下のコードだと let flexibleItem = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, act…

【Swift エラー】'GoogleUtilities/GULURLSessionDataResponse.h' file not foundの回避方法一例

プロジェクトに入っているFirebase Admob関連のライブラリが原因です プロジェクトに入っているFirebase Adomb関連のPodを全て一回削除します。 削除するには Podfileの文をコメントアウトするだけです。 #pod 'Firebase/Analytics' #pod 'Firebase/Crashlyt…

【swift】 配列から空の要素""を削除

swift配列から空の要素""を削除します。 削除するというよりフィルターをかけています。 下記の配列は 1番目-空 2番目-a 3番目-空白 4番目-タブ になってます。 var arr: [String] = ["","a"," "," "] arr = arr.filter { !$0.isEmpty }//空の要素を削除 pri…

【Swift】特定の文字を削除する方法

【Swift】特定の文字を削除する方法 なぜかいい感じに特定の文字を指定して削除するメソッドが見つからなかったので代わりに置換メソッドを使いましょう。 var str2 = "coffee" str2 = str2.replacingOccurrences(of: "f", with: "") print(str2) 出力結果 -…

【Swift】iOS13からのSystemIcon SFSymbolの太さをコードで変更する方法(UIKit)

こちらのサイト様を全面的に参考にさせていただきました。 How to use system icons in your app - free Swift 5.4 example code and tips SymbolConfiguration(weight:で変えることができます。 //SFSymbolの太さを指定 let boldConfig = UIImage.SymbolCon…

【Swift】BarButtonItemにシステムアイコンを指定する。UIBarButtonSystemItem

意外と手こずりました。 UIBarButttonItemとUIBarButtonSystemItemは違うようです。 ↓がUIBarButtonSystemItemをナヴィゲーションアイテムの右端のボタンに配置するやり方です。 //左上のバーボタンをシェアボタンに let myLeftButton = UIBarButtonItem(bar…

【Swift】フォトライブラリに何らかの変更があったときに検知する方法

Photosフレームワークをインポート import Photos まずPHPhotoLibraryChangeObserverを追加(継承) class ViewController: UIViewController,PHPhotoLibraryChangeObserver{ エラーの赤丸を押せば勝手に出てくる func photoLibraryDidChange(_ changeInstance…

【Xcode】error: Abort trap: 6 (in target '' from project '') のとりあえずの対処法

error: Abort trap: 6 (in target 'プロジェクト名' from project 'プロジェクト名') でなんかわからないけどビルドできなくなってしまいました。 ほぼ心当たりはありません。 Xcode Macの再起動試しましたがダメでした 解決法は こちらのサイト様参考にしま…

App提出時エラー Invalid Bundle - There's an issue with the app's bitcode compilation. Rebuild the app using the current public (GM) version of Xcode and upload it again.

zenn.dev こちらの方も同じだったようですが 何もせず、ただビルドバージョン上げて再提出したら通りました。

【Swift】 サブスレッドで処理したい時の書き方 参考程度

これでサブスレッドで動いていることになるのか 正直わからないのですが、 とりあえず別スレッドで処理する感じになるようです。 参考程度に書いてみてください。 Thread.detachNewThread { //サブスレッドでの処理 } 間違えていればコメントにてご報告して…

【Swift】Forループの中で重い処理をしたい場合はautoreleasepool{}でメモリ解放。

今までかなりこれを知らなくて苦労していました。 Cleaning Memory Footprint with the Autoreleasepool in Swift | by Oğuz Öztürk | Mediate Labs | Medium ↑こちらのサイト様によりますと For文やwhile文の中で作成されたオブジェクトはforループwhileル…

【Mac】【Xcode】Feedback Assistantのアプリの起動の仕方

Xcodeでの問題をAppleに相談したら Feedback Assistantアプリからレポートを提出して欲しいと言われました。 developer.apple.com Feedback Assistantはダウンロード、インストールしなくても、 最初からMacに入っているらしい しかしランチャー画面のアプリ…

【Swiftエラー】Invalid parameter not satisfying: [name length] > 0

Storyboardを使わないアプリの作り方をしていたところこのエラーに遭遇しました 回避方法の一例としては Info.PListのここにある StoryBoardをDeleteキーで削除したところ 今回のエラーは消えました

【iOS開発】 サブスクリプション課金 Sandboxアカウントのサブスク管理画面の出し方。

1 2 3 4

【Swift】UIButtonでも文字の自動縮小を使う方法(コードで)

stackoverflow.com 上記のサイト様を参考にさせていただきました。 文字の縮小の機能のことを minimumScaleFactor MinimumFontScale AutoShurink adjustsFontSizeToFitWidth のどれで呼ぶかどうかわからないんだけども 以下のやり方でUIButtonの文字も自動で…

【Swift】 TableViewで特定のセルだけを編集モードにしない方法

TableViewで特定のセルだけを編集モードにしない方法 hachinobu.hateblo.jp 上記のサイト様を参考にさせていただきました。 Objective-Cで書いてあったのでSwiftで書き直します canEditRowAtを使います。 下記の場合はテーブスビューのセクションが2の時の…

【Xcode】【Swift】 TableViewのCellの選択色をなくす方法,透明にする方法(StoryBoard上で)

qiita.com こちらの大変素晴らしい記事を参考にさせていただきました。 2015年のコードですが2021でも使えると思います。 extension UITableViewCell { @IBInspectable var selectedBackgroundColor: UIColor? { get { return selectedBackgroundView?.back…

【iOSアプリ開発】新規アプリを作るとき安易にiPadに対応してはいけない。

developer.apple.com これまでiPhone/iPadに対応していたアプリをiPad非対応にしてアップデートしようとしたら、 App Store Connectに提出できず、上記のページに飛ばされました。 一回iPadに対応させたアプリは基本的にもうiPhoneのみの対応に戻せないよう…

Swift - ViewがaddSubViewされているかどうかを調べるメソッド.isDescendant(of:UIView)

override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(true) if label.isDescendant(of: view){ print("既にaddSubViewされています") }else{ print("addSubViewされてい無いのでaddSubViewします。") view.addSubview(label) } } 既にその…

Swift 自分用メモ tableView.allowsSelectionDuringEditing = trueの意味

developer.apple.com 詳しくは一応↑に載っています tableView.allowsSelectionDuringEditing = true にすると tableViewがisEditing(編集画面)の時にtableViewのセルが押せるようになる = isEditingの時でも didSelectRowAtが反応するようになる。 tableVie…

Swift RealmSwiftにて データモデルのクラス名を"List"にしてはいけない

RealmSwiftにて データモデルのクラス名を"List"にしてはいけない 以下のようなデータモデルで作った class Todo: Object { @objc dynamic var name = "" @objc dynamic var done = "" @objc dynamic var priority = "" @objc dynamic var createdDate = Dat…

view.frame.sizeとUIScreen.main.boundsの違い

メモ残しておきます。 view.frame.size.width UIScreen.main.bounds.width はそれぞれ異なる view.frame.size.width は端末を横にしても値が不変であるのに対して UIScreen.main.bounds.widthは端末を横にすると 横にした端末のwidthとheightを取得してくれ…

swift 配列 何番目にあるかを取得firstIndex lastIndex

swift 配列 特定の要素が何番目にあるかを検索する方法 let array = ["A", "B", "B", "B", "C", "D"] //先頭から順に探して行って最初に見つかったときの配列番号 let firstIndex = array.firstIndex(of: "B")! //1番最後の要素から順に探して行って最初に見…

Swift UIColorをUserDefaultsで保存する。デモ

Swift UIColorをUserDefaultsで保存する。 UIColorPickerを使用してちゃんと保存できているか確認します。UIColorPickerはiOS14以前では動作しません。 以下少しみづらいかもですが UIColorPickerViewControllerDelegateを継承することを忘れずに class View…

Swift iOS14純正 ColorPickerの使い方 最低限 UIKit

おそらくiOS14から追加されたColorPickerの最低限の使い方を記そうとおもいます。 あまりまだ記事が少なかったので。 まずUIColorPickerViewControllerDelegateを追加してください class ViewController: UIViewController, UIColorPickerViewControllerDele…