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

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

Xcode

【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…

swift バックグラウンドの画面でアプリの内容を隠すやり方

developers.goalist.co.jp こちらの記事や UIViewに対してBlur処理を入れる - Qiita こちらの記事を参考にさせていただきました。 プライバシーを保護するためにバックグラウンドの画面でもアプリの画面を見えなくする実装です。 簡易的なものとなっています…

Swift ⌨️のAccessoryViewでUIBarButtonItemのタイトルに文字を設定する方法

キーボードのアクセサリーヴューにtoolbarをつけている人はこういうのがスタンダードな実装かなと思いますが 左側のキャンセルボタンのようにUIBarButtonItem.SystemItem.cancelを設定してしまうと後からタイトルを変更する事ができません なので入力完了ボ…

admobバナー広告の本番が表示できない時の対処一例

バナー広告の本番が表示できない時の対処一例 addBannerViewToView(bannerView) bannerView.frame.size.width = view.bounds.width ←これを追加したら表示されるように バナーVIewをアドサブViewしてから バナーViewの大きさを調整すると なぜか表示ができま…

SwiftyStoreKitエラーThread 1: Assertion failed: SwiftyStoreKit.completeTransactions() must be called when the app launches.

Thread 1: Assertion failed: SwiftyStoreKit.completeTransactions() must be called when the app launches. AppDelegateに書く文を忘れていませんか? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UI…