20211127のiOSに関する記事は3件です。

【Swift】タイトルのフォントと文字サイズと文字色を同時指定する方法

SwiftでNavigationBarのタイトルのフォントと文字サイズと文字色を同時指定する方法。 同時指定する方法を解説している記事がなかったのでメモとして残しておきます。 実装コード self.title = "タイトル" self.navigationController?.navigationBar.titleTextAttributes = [ NSAttributedString.Key.font: UIFont.systemFont(ofSize: 40), .foregroundColor: UIColor.white ] 参考
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

CocoapodsにPrivateのフレームワークを作ってみる

はじめに 株式会社ピー・アール・オーのアドベントカレンダー3日目です。 今までiOSプロジェクトを開発時、共通で使えるユーティリティクラスを既存のプロジェクトからコピーして、新しいプロジェクト側に流用する形でした。しかし、ユーティリティクラスに修正や機能追加が入った場合、全てのプロジェクトにファイル更新を行う必要があり、効率は良くないです。 そこで、共通のユーティリティークラスをフレームワーク化し、Cocoapods経由で全てのプロジェクト内にインストールすれば今後楽になると思いました。フレームワークのソースコードは公開できない場合もあるため、CocoapodsにPrivateのフレームワークを作成する方法を調べて、作ってみました。 事前準備 Cocoapodsのインストール sudo gem install cocoapods プライベートのSpecリポジトリを作成する さて、一番最初に用意する必要があるのはSpecリポジトリです。今回はGitHub上にリポジトリを用意します。 ※リポジトリ自体はpublicにする必要がないです。ただし、チームメンバー全員リポジトリのアクセス権限を持つ必要があります。 今回はpro-specsのリポジトリを作りました。 作成したSpecリポジトリをローカルのCocoapodsに追加する Specのリポジトリを作成した後、次は作成したリポジトリをローカルのCocoapodsに追加する必要があります。 pod repo add [リポジトリ名] [リポジトリのURL] 例) pod repo add pro-specs https://github.com/lxlgarnett/pro-specs.git 追加したリポジトリが正しく追加されたかどうかをチェックする cd ~/.cocoapods/repos/[リポジトリ名] pod repo lint . 例) cd ~/.cocoapods/repos/pro-specs pod repo lint . 下のメッセージが表示すれば問題ないです。 All the specs passed validation. フレームワークリリース用podspecファイルを作成する 次はリリース用のpodspecファイルを作成します。 ※ここはすでにGitHubにリリース済みのプロジェクトが存在することを想定します。 まずは任意の場所に移動し、podspecファイルを作成します。 今回はDesktopにファイルを作成します。 cd ~/Desktop touch Sample.podspec Sample.podspecの中身は下記になります。 Pod::Spec.new do | spec | spec.name = 'Sample' spec.version = '1.0.0-alpha' spec.license = { :type => 'MIT' } spec.homepage = 'https://www.pro-japan.co.jp/' spec.authors = { 'Xiaolei Li' => 'g.rei@pro-japan.co.jp' } spec.summary = 'Qiita用サンプルフレームワーク' spec.source = { :git => 'https://github.com/lxlgarnett/sample-ios-framework.git', :tag => 'v1.0.0-alpha' } spec.source_files = 'Sample/*.swift' spec.platform = :ios, '14.0' spec.swift_version = '5.0' end spec.name: フレームワーク名、podspecのファイル名はsepc.nameと同じにする必要があります。 spec.version: バージョン spec.license: ライセンス spec.homepage: ホームページの情報 spec.authors: 作成者 spec.summary: フレームワークの説明 spec.source: ソースコードの場所 spec.source_files: 実際podに取り込むファイルのパスとファイルの形式 上記の項目は必須項目です。 作成したpodspecファイルをリモート上のSpecリポジトリにプッシュする pod repo push pro-specs ~/Desktop/sample.podspec Validating spec -> Sample (1.0.0-alpha) - NOTE | xcodebuild: note: Using new build system - NOTE | xcodebuild: note: Using codesigning identity override: - - NOTE | xcodebuild: note: Build preparation complete - NOTE | [iOS] xcodebuild: note: Planning - NOTE | [iOS] xcodebuild: note: Building targets in parallel - NOTE | [iOS] xcodebuild: warning: Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'App' from project 'App') Updating the `pro-specs' repo Adding the spec to the `pro-specs' repo - [Add] Sample (1.0.0-alpha) Pushing the `pro-specs' repo 問題がなければ、上記のようにリポジトリに追加したのメッセージが表示されます。 公開したフレームワークを使ってみる 実際リリースしたフレームワークを利用する場合、プロジェクト内のPodfileに作成したSpecのリポジトリを追加し、フレームワーク名とバージョンを指定し、podインストールすればOKです。 source "https://github.com/lxlgarnett/pro-specs.git" target 'ProjectName' do pod 'Sample' => '1.0.0-alpha' end 最後に 共通のソースコードをフレームワーク化すれば、変更があったとしても、全てのプロジェクト内もPodfileに記載したバージョンを更新するだけで、最新のコードが利用できますので、作業の効率が良くなります。 参考サイト Cocoapodsのインストール Cocoapods Private Pods
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

iPhoneで写真を撮ったら自動的にDropboxに保存されるようにする2 #ヘルスケア #医療

以前こちらの記事でIFTTTを使って、iPhoneの背面カメラで撮った写真が自動的にDropboxで指定したフォルダに保存される仕組みを紹介しました。 その後、@tishiyamaさんのこの記事を読みiOSショートカットアプリを使えば簡単に同じ仕組みを実装できることを知り、実装して現場で試したので新たに記事にしようと思います。 今回はじめてiOSショートカットアプを知りましたが、こちらの記事によくまとまっています。 背景 私は訪問診療に携わる医師です。 訪問診療では通院困難な方の家に訪問して診療を行います。 クラウド型のカルテを使用していて、診察の際はプリントアウトしたカルテを持って行き現地で診察しながらカルテを書いて、診察終了後にカルテの写真を撮ってクリニックにいる担当事務さんにLINE WORKSを使って写真を送りカルテを代行入力してもらうという一連の流れがあります。 特に施設などでまとめて複数名の診察をする際は診察の合間に写真を送りそびれて、カルテ入力の業務が滞るという課題がありました。 そこでiPaaSの仕組みを使い自動化できないかと考えたことが元々のきっかけです。 実装 iOSのショートカットアプリから作成します。 ・アプリを立ち上げ、右上の+から「新規ショートカット」を立ち上げ、「+アクションを追加」をタップ。 ・すると、アクションの候補が出てきます。 ・検索欄に「カメラ」と入れてカメラを選択。 ・「ビデオを撮る」「写真を撮る」の二択が表示されるので今回は「写真を撮る」を選択。 すると、この画面になります。 ここで青字になっている「1枚の写真」や「背面」をタップすると、撮る枚数やカメラを選択できます。 ・次にまた「+」をタップして新たなアクション追加。今後は検索欄に「Dropbox」と入れると可能なアクションの候補が出てきます。 ・今回は「ファイルに追加」を選択。 ・ここで「サービス」をタップし、今回は「Dropbox」を選びます。 ・あとは、「ファイルパス」の部分に、保存したいファイル名を入力して最後にショートカット名を入れれば完成です。 ちなみに、「ファイルパス」の部分に入れるファイル名を「/」で繋ぐことでフォルダ内のフォルダに保存することができます。 当院であれあれば複数医師が訪問していて写真を撮った医師を区別する必要があるので、「カルテ保存」という共有フォルダ内に医師ごとのフォルダを作成するという形の運用となるのですが、その場合は「カルテ保存/内田」と「ファイルパス」の部分に入力します。 実際に訪問診療で使ってみて 従来の運用では8タップが必要だった操作が3タップですみ簡単になりました。 ショートカット作成画面の「カメラ」のところにある「表示を増やす」をタップすると「カメラプレビューを表示」が出現し、デフォルトでオンになっているものをオフにすると2タップで操作可能となるのですが、写真を撮る画面すら表示されずどんな写真が撮ったかわからないので使いづらいです。 また、実際に運用していくつか課題がわかりました。 一つは、撮った写真が写真フォルダに保存されないこと。 このため、後で写真を振り返ることができません。 これが、次に書いていることと関係し一つの問題となりました。 もう一つの課題は、写真を撮って送信後、2-3秒してからショートカットが作動したことを示すこちらが表示されるのですが、 たまに、「エラーが出ました」と表示され、うまく作動しないことがあります。 しかし、表示されるのに2−3秒のタイムラグがあるため現場ではいちいち作動したかの確認をしていられません。 このため、写真を撮ったつもりが撮れておらず保存されていないということが、ごくたまにあります。 カルテであれば書いた紙が手元にあるためあまり問題にならないのですが、処方箋の場合手書きで修正した原本を患者さんに渡してくるため原本が手元になく、今回の運用では撮った写真が撮った写真が写真フォルダに保存されないため確認ができません。 このため、処方箋については従来の運用で写真を送ることにしました。 ちなみに、前回記事で書いたIFTTTを用いた方法であれば、IFTTTアプリ内で撮った写真が確認できるため、撮ったものの保存されていなくて確認できないという事象は生じません。 ただ、こちらの運用では写真の画質の悪さが課題となりました。 間にIFTTTアプリが入るせいか、今回のiOSショートカットで自動保存する場合よりも写真の画像が荒く記事入力する事務さんが見にくかったということです。 今後も在宅医療の現場を少しずつ自動化していこうと思います。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む