xcode
検証環境: Xcode 12.4 Swift 5.3.2 Swift の Struct にはデフォルトで暗黙的なイニシャライザ init メソッドが定義されているので自分で実装する必要ないのだが、public structで定義して別モジュールから import して使う場合は使用できない。 以下の Initi…
検証環境: Xcode 12.2 Swift 5.3.1 Xcode のキャッシュファイルなどの関連ファイルはかなりのディスクスペースを消費するので定期的に削除するほうがよい。 DerivedData 中間生成ファイル。アプリ単位でビルド時に作成される。 ビルドが突然できなくなった場…
検証環境: Xcode 12 証明書の期限が切れてたので新しい証明書を Xcode から自動生成した。 1年に一度しかやらず、やり方を忘れるのでメモしておく。 昔ながらの手順としては - Keychain Access.app から Certificate Signing Request (CSR) を作成 - Apple …
CircleCI で iOS アプリをxcode: "12.0.0"でビルド中に以下のエラーが出た。 SSH fingerprint が原因でパッケージの依存関係の解決に失敗している。 xcodebuild: error: Could not resolve package dependencies: The server SSH fingerprint failed to veri…
検証環境: Xcode 12 Swift 5.3 Finder を開き、「Command(⌘) + Shift(⇧) + G」を押す。 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/ を入力してディレクトリを開く。 IDETextKeyBindingSet.plist ファイルをエディ…
検証環境: Xcode 11.4 Swift 5.2 IBDesignable を使ったカスタムビューは StoryBoard 上に配置するとリアルタイムでデザインをプレビューすることができる。 しかし、UITableViewCell 上に配置したときはプレビューできるのに UICollectionViewCell 上にカス…
検証環境: Xcode 11.4 Swift 5.2 ちょっとどのタイミングででそうなったのか、把握できていないんだけど、Xcode でブレークポイントで止めて、po コマンドで出力しようとしたら error: Couldn't IRGen expression, no additional error が発生して出力できな…
検証環境: Xcode 11.3.1 Swift 5.1.3 Storyboard上で IBDesignable を使ったカスタムビューを貼り付けたところ、 error: IB Designables: Failed to render and update auto layout status for UIViewController (nyp-0u-XJD): The agent crashed というエラ…
検証環境: Xcode 11.3.1 Swift 5.1.3 IBDesignable や IBInspectable を使うことで Storyboard や Xib 上でカスタムの属性の設定ができ、変更がリアルタイムに反映されてプレビューできるようになります。 ところで、IBOutlet で接続したビューに対して初期…
検証環境: Xcode 11.3.1 Swift 5.1.3 Swift Package Manager でリポジトリを追加しようとしたところ以下のようなエラーが出た。 Couldn’t communicate with a helper application. Try your operation again. If that fails, quit and relaunch the applicat…
offsetBy origin の移動 // 右下に移動 let newRect = rect.offsetBy(dx: 10, dy: 10) insetBy center は変えずに size の変更 let rect = CGRect(x: 20, y: 20, width: 100, height: 100) // 縮小する -> (x: 40, y: 40, width: 60, height: 60) let smalle…
検証環境: Xcode 11.1 Swift 5.1 Dictionary の mergeまたはmergingメソッドを使う。 // merging do { let a = ["a": 100] let b = ["a": 200, "b": 300] // 重複したKeyは a を優先させる場合 let result1 = a.merging(b) { (a, b) in a } print(result1) /…
Xcode での検索・置換機能は .xib や .storyboard などの xml ファイルは対象外となるようだ。 仕方がないのでコマンドラインで置換を行う。 例: 文字列FooをBarに置換する grep -rl --include='*.xib' --include='*.storyboard' 'Foo' ./MyProject | xargs …
環境: Xcode8.3.2 Swift3 URL Scheme の追加 Target -> Info -> URL Types から URL Scheme を追加する。 まだ何も追加していない状態。 +ボタンを押してidentifierとURL Schemesを追加した。 URL Schemes にはカンマ区切りで複数入力も可能。 identifier: …
環境: Xcode8.2.1, Swift3 Storyboard 上で UIScrollView を AutoLayout を使って設定する方法について。 ちょっとハマったのでメモ。 ビューの階層構造は UIViewController.view -> UIScrollView -> UIView とする。 UIScrollView の制約 UIScrollView の制…
環境: swift3 fontawesome.io FontAwesome をXcodeにカスタムフォントとして取り込んで使用する方法。 以下からFontAwesome.otfをダウンロードする https://github.com/FortAwesome/Font-Awesome/blob/master/fonts/FontAwesome.otf Xcode のプロジェクト内…
fastlane: 2.3.0 Fastlaneでplistを更新する方法を調べたのでメモ。 update_info_plistというアクションを使う。 fastlane/update_info_plist.rb at master · fastlane/fastlane · GitHub app_identifierとdisplay_nameについてはアクションのパラメータに直…
Appleアカウントでログインし、以下からダウンロードする。 https://developer.apple.com/download/ https://developer.apple.com/download/more/ xip ファイルを選択する。 リリース直後だとかなり時間がかかる。 Chrome でダウンロードし、展開しようとし…
Xcode(8.0) で調べる Window -> Devices and Simulators からiPhoneデバイスを選択、identifierの部分が UDIDになる。 iTunes で調べる 初期表示はシリアル番号となっているがその辺りをクリックすると表示項目が切り替わり、UDIDが現れる。 シリアル番号 ->…
シミュレータでは表示されるが、実機だと表示されない。 バグらしい、とりあえず自分の場合は iPhone 側の再起動で表示されるようになった。 Launch Storyboard not showing image when projec... | Apple Developer Forums https://forums.developer.apple.…
環境: swift2.2 Xcode7.3.1 Swiftで以下のようなDEBUG Macroを使いたい。 #if DEBUG print("DEBUG") #elseif STAGING print("STAGING") #else print("ELSE") #endif Objective-C の場合はPreprocessor Macrosに設定していたが Swift ではOther Swift Flagsの…
環境: Xcode7 GM iOS9 対応で行った作業メモ。 App Transport Security(ATS)対応 HTTPS 接続にする必要あり。今回はとりあえずHTTPを許可するようにInfo.plistに以下の手順で追加する。 NSAppTransportSecurityを Dictionary で追加。 その下でNSAllowsArbit…
developer.apple.com Command(⌘) + Option(⌥) + [ 選択行(複数行可)を上に移動 Command(⌘) + Option(⌥) + ] 選択行(複数行可)を上に移動 Command(⌘) + Control(^) + 左 or 右 超使う。ソースコード上の定義にジャンプしたり、戻ったり。 トラックパッドの左…
環境: Xcode 6.1 iOS 8.1 Simulator 結論から言うと Xcode 6.1 と iOS 8.1 Simulator の環境で、 iOS Simulator の言語設定に対応したローカライズファイルLocalizable.stringsを用意しても反映されないバグがあるらしい。 ワークアラウンドとして iOS Simu…