Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
環境 Xcode Version 12.1 Apple Swift version 5.3 課題 開発をしていると、こんな感じでメンバ変数がたっぷりあるclassができます。この例ではclassですが、structも同様ですね。 class SampleClass: Codable { public let id: Int public let title: String public let body: String public let thumbnailUrl: URL public let tags: [String] public let categories: [String] public let createdAt: Date public let updatedAt: Date public let comment: [String] public let isFavor
MacやiPhone向けのアプリケーションを開発するための総合開発環境であるXcodeで作成されたプロジェクトを対象としたマルウェアの存在が明らかになっています。 XCSSET Mac Malware: Infects Xcode Projects, Performs UXSS Attack on Safari, Other Browsers, Leverages Zero-day Exploits - TrendLabs Security Intelligence Blog https://blog.trendmicro.com/trendlabs-security-intelligence/xcsset-mac-malware-infects-xcode-projects-performs-uxss-attack-on-safari-other-browsers-leverages-z
概要 UIButtonの画像をどうしても右寄せしたくて色々と調べたことについてのまとめです。 実装方法 画像の上にUIButtonを配置する 以下の図のように、画像の上にボタンを配置すればデザインの簡単に実装はできます。 しかし、この実装方法だとボタンを押したときに画像がハイライトされません。 ハイライトさせるには以下の処理を追加する必要があります。 ハイライト用の画像を設定 ボタンのアクションに合わせて画像のハイライト状態を変更 @IBOutlet private weak var searchButtonImageView: UIImageView! @IBAction private func searchButtonTouchCancel() { searchButtonImageView.isHighlighted = false } @IBAction private func
iOS開発者の皆さん、毎日、ハッピーな開発ライフ過ごしてますでしょうか。 楽しい開発には快適な開発環境は欠かせませんが、もちろんiOS開発者の皆さんが使うのはXcodeですよね。 いや、俺はAppCodeという人はそっとタブを閉じましょう。 JetBrains製品、良いですよね。Android Studio も素晴らしい。どんな言語でも同じ様な操作感で。でもちょっともっさりしてるんだよな。 その点、Xcodeは動きはキビキビしていて玄人プログラマー好み。 でも一つ、すごく嫌なところがありました。これさえ直してくれれば最高なのに。 普通、Xcodeって編集する時、複数のタブ開くじゃないですか。自分の場合はこんな感じ。 Storyboardと関連のソースファイルを幾つか。そして、デバッグする時は、気になってるところにブレークポイント張ります。 プログラム実行して、さて、気になるところに差し掛か
こんにちは。メルペイのiOSチームの@kenmazです。 メルペイのiOSチームでは Xcode11 で導入された Xcode Previews 機能を用いて、UIKitベースのプロジェクトの開発効率向上に取り組んでいます。Xcode PreviewsといえばSwiftUI用の開発支援機能、というイメージがありますが、実は従来のUIKitベースのプロジェクトに対しても使用が可能です。 Xcode Previews を使うことでiOS Simualtor等を起動することなく、様々な状態のビューをリアルタイムにプレビューできるため、開発効率が大幅に向上します。 またXcode Previewsが提供する強力なプレビュー機能を使うことで、Interface Builderの支援も不要となったため、従来のxib/Storyboardを用いたビューの実装から、コードによるビューの実装への移行を試みる
#きっかけ 仕事で他の人のソースをみることはよくありますが、最近UITableViewでセルの再利用をしていないソースを3回みました。 え?まじ??いいの???私老人会なのかしらって思いました。 iPhoneもだいぶハードが進化していろんなむちゃぶりされても動くようにはなってきたのですが、ちゃんとかいたほうがぬるぬる綺麗にうごくんじゃない?って思うんです。それで、まとめることにしました。 そういえば、cellForRowAtでcellの中身を全部removefromSuperviewしてから、addSubviewするというコードも1年ぐらい前に見たことがあります。 xib絶対使わない派の人もいるとは思いますが、楽したいなら使っちゃいましょう。 ##基本の考え方 1.中に表示するUITableViewCellは再利用する作りにする TableViewにregisterして、使うときにはdeq
環境 実装(16'11/20追記分) 実装 余談 環境 Mac OS: 10.12.1 Xcode: 8.1 swift: 3.0.1 【Swift1系】【Swift2系】Swiftで開発している人必見!ターミナルでSwiftのバージョンを確認する方法 実装(16'11/20追記分) ShinokiRyoseiさんから Navigation Controllerの使用を薦めて頂いたので、 その手順もまとめます。(ありがとうございますm(_ _)m) 完成図 こちらが手順のgif ViewControllerを選択 Editor > Embed in > Navigation Controller Navigation Controllerが作られる ViewControllerをドラッグし、作る Bar Button Itemを1つ目のViewに追加 Attributes Inspecto
タイトルの通りなのですが、Xcode10からついにマルチカーソル機能が使用できるようになりました。 今までも ⌘+Control+E (Use Selection for Replace) でマルチカーソルもどきは使用できたのですが、本格的なマルチカーソルは今回が初です コマンド Select Column Up(Down) Shift+Control+↑ Shift+Control+↓ (ダブルクォーテーションの補完が1行目のほうしかできてない😅) 上または下の行にカーソルを複製する。 このコマンドだけ唯一デフォルトでショートカットキーが設定されています。他のに関してはデフォルトだと設定されてないので自分で設定しないといけません。 Select All Symbols 同じシンボルをすべて選択してカーソルを割り当てる。 これによる選択はただ文字列が一致しているかを見ているのではなく、コ
みんな思ってるだろうけどなぜか話題に全くならないXcodeの謎の動きがあります。 タブ操作についてです。 タブで開く場合、意識しながら開いて行かないといつの間にか全タブ同じファイルになっていることがよくあります。 Project Navigator(以下ナビゲーターエリア)で選択されたソースはアクティブなタブに反映されます。 そのためいくつかのタブを開いている時に意識せずに作業していると いつのまにか全タブがソースBとなってて「あれ?ソースAのタブが消えた」となってしまいます。 原因はナビゲーターエリアにてシングルクリックするだけでアクティブタブに表示されるためこのようなことが起こってしまいます。 シングルクリックをOFFにすればいい話なんですがそんな設定がないのです。 どうしようかといろいろ調べていると「シングルクリックをせずにダブルクリックをすれば回避できる」と某掲示板で言ってたので試
「ショートカットを制するものは開発を制す」だそうです。 一つ一つは微々たる時間の節約でも毎日何度も使うと、膨大な時間が節約出来ることを 考えると、そうかもと思います。 今回は個人的に使う頻度順にまとめてみました。13inchのMBAで開発をしており、作業スペースが狭いと感じることが多いので、それを広げるショートカットが多めです。 こんなのも良く使うというご指摘あれば追加致しますので宜しくお願い致します。 その他間違いのご指摘、ご意見等頂けますと幸いです。 ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ Cmd + R ビルドしてラン Cmd + . ストップ。ランの状態の終了。 シュミレーターで起動しているアプリを落としたい時によく使います。 Cmd + Q シュミレーターの終了 シュミレータは起動するのに、アプリは立ち上がらない・立ち上がりが異様に遅いことって多くないですか?そんな時は終
悪夢の "Could not insert new outlet connection" ストーリーボードなどで View を配置して、コード側と関連付けようとするとたまに遭遇するこのエラーメッセージ、ググッてみても完璧な解決策が見つかりません。 だいたい Derived Data を削除 Xcode を再起動 プロジェクトをクリーン するとうまくいくようになる、という書き込みを見かけます。ですが試してみてもうまくいったりいかなかったり。 手動で接続先となる変数(Outlet)を書いて、その変数と繋げるとうまくいくっぽい そこで思いついてやってみたらうまくいったぽい解決策がこちら。 1. 接続先となる変数を先に定義する まず手動で変数を用意します。
GUIで面倒なXcodeのキャッシュファイルを削除できるアプリケーション「DevCleaner for Xcode」のご紹介 Xcodeは使用していると開発速度向上を目的としたキャッシュデータを大量に蓄積していきます。開発をしているとそのようなデータを消したくなる時があります。 Xcodeは〜/ Developerフォルダにキャッシュファイルやシンボルを格納していきます。 ディレクトリの場所は決まっているので手動かスクリプトで削除することが多いと思います。今日iOSやFlutterの情報を発信しておられる@_monoさんがそのような内部データをGUIで削除できるアプリケーションを紹介しておられました。 素晴らしいツールを手に入れた( ´・‿・`) > There’s a great tool called DevCleaner which will easily delete up to
やったこと それでは本題に入っていきます。下記の施策を行いました。 【番外編】 不要なBuildをせずにRunする 【下準備】 ビルド時間を表示できるようにする Optimization Levelの見直し(Debugビルドのみ適用) Build OptionsのDebug Information Formatの見直し コンパイルに時間のかかるメソッドを検出してリファクタリングする コンパイル時のタスク数を増やしてマルチタスクにする(結果的に変更なし) 【番外編】 不要なBuildをせずにRunする 特に前回ビルドから変更もしてないのにRun(Debug)するたびに再度Buildさせてしまってたりしてませんか? まずビルド削減施策を行う前に、自身のやり方を一度振り返って見ることをお勧めします! RunはCmd + Rで行なっている方がほとんどかもしれませんが、ビルドせずに前回のビルドの状態
ひとつ注意点ですが、Swiftは書き方の自由度が比較的高いので、チーム開発をする場合は、あらかじめコーディング規約を共有しておいた方が良いでしょう。 Swiftでの命名や慣例のほか、さまざまな指針がSwift.orgにある「API Design Guidelines」にまとめられています。興味のある方は目を通してみてください。 Swift.org - API Design Guidelines インタラクティブ環境でSwiftを触ってみよう 早速ですが、Swiftを触って動作させてみましょう。Swiftはコンパイラ言語でありながら、インタラクティブ(対話的)に実行しながら動作を確認することができます。Swiftに慣れるには、このインタラクティブ環境でいろいろと動作させてみるのが手っ取り早いです。 インタラクティブにSwiftを実行するには、ターミナル(コマンドライン)のREPL(レプル)を
今回はAutoLayoutでうまく行かなかった時のデバッグ法のうち、ログを解読して頑張る方法と、Document Outline Controlを使う方法、SymbolicBreakpointを使う方法について書こうと思います。「AutoLayoutのデバッグする(2)」ではrecursiveDescriptionなどObjective-Cのプライベートメソッドを用いて怪しいレイアウトを見つける方法、「AutoLayoutのデバッグする(3)」ではViewデバッガーなど視覚的に見て解決する方法について(いつか)書く予定です。 明らかにしたいこと 下記のエラーが出ているので何がダメなのかを知りたい [LayoutConstraints] Unable to simultaneously satisfy constraints. Probably at least one of the con
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く