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

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

Xcode

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…

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…

Swift iOS13純正 FontPickerの使い方 最低限

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

swift Could not cast value of type ‘UIViewController’エラー回避の一例

NavigationControllerでPushViewControllerをを使って画面遷移しようとしたときにこのエラー storyboardの Inherit Modure From Targetのところにチェックが入ってなかったのが原因の一つでした。(写真ではもう入っていますが) 他にも原因あるかもしれません…

Realm Studio でアプリデータを見る 開く iOS開発 

こちらのサイト様 iOSでRealmのデータファイルの場所の見つけ方 - Androidはワンツーパンチ 三歩進んで二歩下がる を参考にさせていただくと ここまではたどり着くかと思います。 これをRealm Studioで開くには default.realmを右クリックして このアプリケ…

swift UIimage の縦と横のピクセル数取得

swift UIimage の縦と横のピクセル数取得 let imageW = self.image?.size.width let imageH = self.image?.size.height (self.imageはUIImage型の変数です。) UIImage情報取得 UIImageサイズの取得 UIImage大きさの取得

swift 枠線と角丸を同時にかけると細い線が入ってしまう問題 .layer.borderColor .layer.borderWidth .layer.cornerRadius 

button.layer.borderWidth = 5 button.layer.cornerRadius = 10 button.layer.borderColor = UIColor.white.cgColor などで枠線と角丸を同時にかけると(背景が白の場合は顕著に) 細い線が入ってしまいます。 これを防ぐには button.layer.masksToBounds = …

swift SegmentedControlのタイトルをコードで変える

segmentedControl.setTitle("タイトル", forSegmentAt: 0) segmentedControl.setTitle("タイトル2", forSegmentAt: 1) forSegmentAtの数値が変えたいsegmentの番号です

swift layerのアニメーションをリセット

備忘録です progressView.layer.removeAllAnimations() アニメーション途中のUIでもリセットされます。 レイヤーを破棄することにもなるのかな?わかりません。

swift progressViewがTimer内でカクカクになってしまうのを多少マシにする方法

swift progressViewがTimer内でカクカクになってしまうのを多少マシにする方法 DispatchQueue.main.async { self.progressView.setProgress(self.progressView.progress - self.oneProgressUnit, animated: true) } DispatchQueue.main.async {} の中に書く…

Chameleon FrameWorkがswift5で使えない時

github.com こちらを参考にさせていただきましたが、 pod 'ChameleonFramework/Swift', :git => 'https://github.com/wowansm/Chameleon', :branch => 'swift5' でpod installしてください。

CocoaPods をアップデートする

qiita.com こちらの記事を参考にさせていただきました。 記事では[sudo]となっているのですが、古い書き方なのか この書き方だとうまくいきません。 [ ]を取って ターミナルに sudo gem update cocoapods と入力してください cocoapodsがアップデートされま…

swift admobバナー広告位置調整(なんかのUIの上か下に置きたいとき)

adMobバナー広告の位置調整 2021/03/15追記:アダプティブバナーの場合は正常に動作しない可能性があります。 //これ公式サイトにのてっるコードですfunc addBannerViewToView(_ bannerView: GADBannerView) { bannerView.translatesAutoresizingMaskIntoCons…

Xcode スキームの名前を変更 

上のスキームのアプリ名を変更する方法 このアプリ名が書いてあるとこクリック New Schemeをクリック(このプロジェクトはもうすでに名前変え他のを追加した後です) 新しくつけたい名前をつける

iOSアプリ開発 アプリ内でのApp Storeへのリンク 日本のストアでしか出していないアプリの場合の対処法

コレは2020年9月26日の記事です。 開発したアプリの宣伝として 他の開発したアプリ内に自分の過去作ったアプリの App Store リンクを貼るのはよくあると思います。 iPhoneなどのApp Storeアプリから自分のアプリを検索して 共有のボタンからコピーして取得し…

swift textViewの文字を入力するごとに保存,セーブなど(予測変換にも対応)

www.hfoasi8fje3.work textViewの文字を入力した時を検知してその度にuserDefaultsなどで保存します。 textFieldの場合は上記の参考サイト様でできるのですがtextViewの場合はaddtargetがtextViewにはつけられなかった?ので とりあえずの対応をします UITex…