まだどこにもないアプリを作る

アプリ開発でつまづいたところなどを中心に記事にして行きます。

Xcode

Xcode備忘録 iOS13などのシミュレーターを追加して動かす時に困ったこと

いろいろスクショなど不足してるかも知れませんが 何かしらの参考になりましたら幸いです。 シミュレーターを追加する シミュレーター一覧のある画面 OS Versionでデバッグに使いたいOS選択。 目当てのOSがなかったらDownload more simulator runtimesをクリ…

対処法の一例file '/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/O077AGJK1JVD/MachO-1JNFAJWZD9YN6.pcm' is not a valid precompiled module file #include <mach-o/loader.h> ^ <unknown>:0: error: could not build Objective-C module 'os'

file '/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/O077AGJK1JVD/MachO-1JNFAJWZD9YN6.pcm' is not a valid precompiled module file#include <mach-o/loader.h> ^<unknown>:0: error: could not build Objective-C module 'os' の対処法の一例 /Users/xxx/Li</unknown></mach-o/loader.h>…

【SwiftUI】CoreData SortDescriptor を動的に使う。fetchResultsを動的に並び替える,ボタンを押したら並び替える

<読者の想定> Coredataを使ってアプリを作成しており 最初にCoreDataを使うにチェックを入れてアプリを作成し、それを元にアプリを作成している人に向けて書いております。 private var items: FetchedResults<Item> items.sortDescriptors = [SortDescriptor(\Ite</item>…

Swift5 UIKit セルをロングタップして検知 セルのインデックス番号も取得できる方法

teratail.com 上記のサイト様を参考にさせていただきました。 swift5 cellをロングタップした時の動作 override func viewDidLoad() { super.viewDidLoad() //セルのロングタップジェスチャー let longPressRecognizer = UILongPressGestureRecognizer(targe…

【SwiftUI】TextField TextEditorで文字を打つごとに検知2

↓以前書いたこの記事では 【SwiftUI】TextfieldやText Editorで文字が入力されるごとに検知する方法。 - まだどこにもないアプリを作る バインディングの変数が変わることを検知する onChangeモディファイアを使うことで実装しましたが TextfieldやTextEdito…

【SwiftUI】TextfieldやText Editorで文字が入力されるごとに検知する方法。

onChange()を使えばできるようです。 最初に@Stateで変数を定義しておいて、 その値が変わるごとに呼ばれるといった感じです。 import SwiftUI struct SwiftUIView: View { @State private var task = "" var body: some View { Form{ Section(){ TextField(…

Xcode Archive Distributeできない原因の一例 - Macの容量が足りないから

Macのストレージ容量が足りなくてアーカイブができなかったり、Distributeがうまくいっていませんでした。 報告します。

swift AVPlayer・AVFoundationなどで音楽止めずに再生する

以下のコードをViewDidLoad内に置きます。 do { let audioSession: AVAudioSession = AVAudioSession.sharedInstance() try audioSession.setCategory(AVAudioSession.Category(rawValue: "AVAudioSessionCategoryAmbient")) }catch{ print("エラー") } これ…

Swift 一度だけ実行したいアラートの書き方

すっきりしたコードではないし他にやり方があると思いますがこれで一応。 UserDefaultに保存してある値を変更しない限り 1度アラートを出したら2度と出ないアラートを作ることがきます。 let ud = UserDefaults.standard func onceAlert() {//単発アラート v…

Swift エラー Pods/Fabric/run: No such file or directory 一応の対処法

このエラーが出ている人はCrashlyticsを使っている人だと思いますが RunScriptがうまく作動してないのでこのエラーが出るようです。 対処している時間がなかったので 私の場合はCrashlyticsはひとまず使わないことにしました TARGET / Build PhasesのRun Scr…

swift 現在表示されているセルの最後のインデックスを取得 visiblecells

if let cell = tableView.visibleCells.last{ if let visibleIndexPath = tableView.indexPath(for: cell) { print("現在画面上に見えているセル中で最後のセルのインデックス値:", visibleIndexPath) } } お疲れ様です。 [増補改訂第3版]Swift実践入門 ──…

swift systemImageの大きさを変える方法 システムアイコンの大きさを変える SFSymbolのスケールを変える。

ios - Change a SF Symbol size inside a UIButton - Stack Overflow ↑スタックオーバーフローのQ&Aを参考にさせていただきました。 if #available(iOS 13.0, *) { let config = UIImage.SymbolConfiguration(pointSize: 160, weight: .medium, scale: .larg…

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 特定の端末にテストメッセージを送信する方法 iOSアプリ

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

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

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

M1 AppleSilicon Macにてcocoapodsが使えない時に対処した方法

一応書いておきます 基本的には以下のGithubのissueやサイトに書いてあることを実行しました。 github.com armen-mkrtchian.medium.com 1:Finderからターミナル.appの場所を見つけて右クリックで これだけでは終わりません 2:一回ターミナルを再起動して…

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に入っているらしい しかしランチャー画面のアプリ…