20210603のiOSに関する記事は9件です。

[iOS・Android] Apple Silicon搭載 Macの環境構築トラップまとめ

Apple Silicon(M1 chip)を搭載したMac(以下 M1 Mac)に、iOS・Androidのアプリ開発環境を整備した際に遭遇したトラップをまとめます。 便利なコマンド uname -m 実行中のシェルが、どのアーキテクチャで実行されているかを確認できる arch -x86_64 実行したいコマンド x86_64アーキテクチャでコマンドを実行する(arch -arch x86_64 実行したいコマンドと同じ) arch -arm64 実行したいコマンド arm64でコマンドを実行する(arm64eでも同じっぽい?) iOS・Android共通 Homebrewを使うなら、インストール先は /opt/homebrew のままにしておく M1 MacにHomebrewをインストールすると、brew installを実行した時の保存先は /opt/homebrew/bin/* になる。 なお、Rosetta 2を使用してシェルを実行している場合は、/opt/homebrew・/usr/localどちらにインストールするかを選択するプロンプトがあったはずだが、ここはデフォルト設定にしておく。 iOS rbenv等は使わない、システムのRubyを使う rbenvを使うと、CocoaPodsを動作させることができない システムのRubyを使用する CocoaPodsが依存するffiがarm64に対応していないことが原因 M1 macでpod installができない。sudo gem install ffiをしても治らない(rbenvが原因) じきに対応するとは思うが……。 CocoaPodsが動かない場合 CocoaPodsが依存するffiのバージョンが古い可能性がある ターミナルアプリ(iTerm2なども)を、Rosetta 2で開くように設定する bundle update ffiまたはgem update ffiを実行する M1 Macでpod installを実行する 完全なApple Silicon環境は、まだ遠いようだ…。 CocoaPodsで導入したライブラリが原因でシミュレータ向けビルドができない場合 これはM1 Macというよりは、Xcode 12なのかもしれないけど……。 いわゆる以下のエラーの問題。 building for iOS Simulator, but linking in object file built for iOS, for architecture arm64 Intelのときは発生しなかったのに、M1にしたら発生し始めるプロジェクトにも遭遇した。以下のリンクなどをよく参考にさせてもらって、どうにか対応した。 プロジェクトによっては、アプリのターゲット、もしくは、プロジェクト自体の方でも「Excluded Architectures」の設定をしないとビルドできないこともあった。 MintはMINT_PATHとMINT_LINK_PATHの変数を指定して実行する mint実行前に MINT_PATH と MINT_LINK_PATH をセットしておく。このパスは、アクセス権限のあるディレクトリでなければならない。 上記変数を指定しない場合、mintでインストールするパッケージは、デフォルトの /usr/local/lib/mint にインストールしようとする。しかしBig Surでは(M1 Macでは?)、このディレクトリのオーナーがrootに変わっているため、インストールすることができなくなっている。 https://github.com/MakeAWishFoundation/SwiftyMocky/issues/279 https://github.com/yonaskolb/Mint/issues/188 対策として、上のリンクにあるように /usr/local/lib/mint のオーナーを変更する方法もあるが、あまり安全とは言えない。そのため、 MINT_PATHやMINT_LINK_PATHは、自身の管理できるディレクトリ(例えばプロジェクトのディレクトリ等)に置くのが良さそうだ。 例 $ MINT_PATH=${PROJECT_ROOT}/mint/lib MINT_LINK_PATH=${PROJECT_ROOT}/mint/bin `which mint` bootstrap --link Carthageは特に問題なく動いた Carthageもなにかトラップがあるだろうと構えていたが、思いの外、問題なく通過できた。 Fastlaneも特に問題なく動いた 今のところ大丈夫そう。 Node.jsは未チェック Firebase App Distributionをローカルで実行している人には気になるところ。今後、動作チェックしたら加筆しておこう。 Android インストール時、Intel向けのツールはインストールに失敗する 標準インストールでなく、カスタムインストールを選ぶなら、 EmulatorやIntel HAXMのチェックを外すだけで良さそう。 エミュレータはプレビュー版を使う arm-v8a用のイメージがプレビューで公開されている。AVD Managerでエミュレータを新規で作成するときに、arm64-v8a用のイメージを選択できるようになっている。 しかし、2021年5月公開のrev.3のエミュレータイメージでは、起動してもずっとオフラインになる問題がある。Android Studioでビルドができても、デバッグができない。 rev. 2のイメージをダウンロードして対応しよう。 M1 Macは、iOS開発でトラップが多い Androidは比較的スムーズに環境構築ができたが、iOSについては、トラップがめちゃくちゃ多かった……。特に、Ruby周りとCocoaPods周りにトラップが多い。 とはいえ、M1 Macがリリースされてから半年以上になるので、このあたりのトラップに対する解決策はネット上にたくさんある。おかげで安心してM1に移行していけそうだ。 そういえば、これを読んでいる人の中には、OSSだけでなく外部ベンダーが開発したクローズドなライブラリを使っている人もいるだろう。そういったライブラリが引き金になってビルドできない場合もあるようなので、早めにM1 Macで検証しておくのが良いだろう……。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[Swift]Dateの使用でいつもハマるので自分用に記事を書いてみた[SwiftUI]

今回作成したアプリ はじめに 今回はユニットテストについて学びたく勉強していたところ”Date使ってテスト書くといいよ”と言うアドバイスを頂いたので挑戦してみたらDateに関して結構勉強になったのでまとめてみました。 またUIKitとSwiftUIの両方で書いてみたのでUIKitはGitで公開し、この記事では主にSwiftUIで書いたものを掲載していきます。 環境 ・ macOS Big Sur 12 ・ Xcode : 12.5 Dateを使ってみる 今回は記録した日時と、現在の日時の差分によって表示するものを変えると言う実装をする為、とにかくDateを使用する所から始めた。 @State var dateText = "" var body: some View { VStack { Button(action: { let date = Date() dateText = "\(date)" }, label: { Text("Button") }) Text(dateText) } } 上記のコードはボタンを押すと現在の日時を取得して表示すると言うもの。 Formatterを使用して表示を定義する ただ表示するだけって基本的にあまり使用する事はないので基本”Date使うならFormatter”ぐらいの勢いで必要な気がする。 時間と分だけを表示させたい場合は以下の通り(Buttonのaction内以外は省略) let date = Date() let dateFormat = DateFormatter() dateFormat.dateFormat = "HH:mm" dateText = dateFormat.string(from: date) .dateFormatでは表示する日時の表現を定義できる。以下表にまとめた。 年 月 日 時間 分 秒 YYYY MM dd HH mm ss 2021 6 3 22 26 45 エリアの指定は.locale エリアの指定をしておかないと正確な時間が取れないのでこちらもデフォルトで書く。 dateFormat.locale = Locale(identifier: "jp_JP") エリアの指定を日本にした時は特に和暦に気を付ける これも最初わからなかった部分だが、iPhoneの設定で和暦を設定しているとYYYYの西暦表示の部分がめちゃくちゃな数字を返してくる時がある。 上記を防ぐには予め .timeStyleと.dateStyleを定義しておくとよい。 let dateFormat = DateFormatter() dateFormat.timeStyle = .full dateFormat.dateStyle = .full dateFormat.locale = Locale(identifier: "ja_jp") dateFormat.dateFormat = "YYYY/MM/dd HH:mm:ss" let date = Date() dateText = dateFormat.string(from: date) dateFormat.dateFormat = "YYYY/MM/dd HH:mm :ss"を削除すると以下のように表示される。 時間の差分を取得したい場合 timeIntervalSinceを使用すると差分が簡単に取れる。 @State var dateText = "" var body: some View { VStack { Button(action: { let dateFormat = DateFormatter() // 日時をString型で定義 let textLogDate = "2021-01-01 12:00:00" let textNowDate = "2021-01-01 12:01:20" // styleで和暦設定に対応 dateFormat.timeStyle = .full dateFormat.dateStyle = .full // dateFormatを初期設定した"2021-01-01 12:00:00"と同じ形式になるように定義 dateFormat.dateFormat = "yyyy-MM-dd HH:mm:ss" // localeを日本に dateFormat.locale = Locale(identifier: "ja_JP") // String型の日時をDate型に変換 let logDate = dateFormat.date(from: textLogDate) ?? Date() let nowDate = dateFormat.date(from: textNowDate) ?? Date() // timeIntervalSinceを使用すると差分を取得できる->nowDate-logDate let dateSubtraction: Int = Int(nowDate.timeIntervalSince(logDate)) dateText = "\(dateSubtraction)" }, label: { Text("Button") }) Text(dateText) } } なお、取得した差分は秒数の為、今回は80秒となる。 以上これからを使用して日時の差分を取得するアプリを作成してユニットテストを書いてみました。(こちらはUIKitで書きました) https://github.com/yuujioka/TimeCalculate まとめ 毎度毎度Dateの差分を取るときに演算しようとしたりして、アレ?ってなったり、Dateの形式指定するときにアレ?ってなったり、日時を指定したものをDate型にするときにアレ?となり、同じような鉄釘踏みまくっていたのでいい加減鉄ゲタ履こうと自分用に書きました! また日時取得はDateだけでなく、Calendarクラスを使用して取得、加工することも可能なので是非そちらもチャレンジしてみたいと思います!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[Swift]Dateの使用でいつもハマるので自分用に記事を書いてみた

今回作成したアプリ はじめに 今回はユニットテストについて学びたく勉強していたところ”Date使ってテスト書くといいよ”と言うアドバイスを頂いたので挑戦してみたらDateに関して結構勉強になったのでまとめてみました。 またUIKitとSwiftUIの両方で書いてみたのでUIKitはGitで公開し、この記事では主にSwiftUIで書いたものを掲載していきます。 環境 ・ macOS Big Sur 12 ・ Xcode : 12.5 Dateを使ってみる 今回は記録した日時と、現在の日時の差分によって表示するものを変えると言う実装をする為、とにかくDateを使用する所から始めた。 @State var dateText = "" var body: some View { VStack { Button(action: { let date = Date() dateText = "\(date)" }, label: { Text("Button") }) Text(dateText) } } 上記のコードはボタンを押すと現在の日時を取得して表示すると言うもの。 Formatterを使用して表示を定義する ただ表示するだけって基本的にあまり使用する事はないので基本”Date使うならFormatter”ぐらいの勢いで必要な気がする。 時間と分だけを表示させたい場合は以下の通り(Buttonのaction内以外は省略) let date = Date() let dateFormat = DateFormatter() dateFormat.dateFormat = "HH:mm" dateText = dateFormat.string(from: date) .dateFormatでは表示する日時の表現を定義できる。以下表にまとめた。 年 月 日 時間 分 秒 YYYY MM dd HH mm ss 2021 6 3 22 26 45 エリアの指定は.locale エリアの指定をしておかないと正確な時間が取れないのでこちらもデフォルトで書く。 dateFormat.locale = Locale(identifier: "jp_JP") エリアの指定を日本にした時は特に和暦に気を付ける これも最初わからなかった部分だが、iPhoneの設定で和暦を設定しているとYYYYの西暦表示の部分がめちゃくちゃな数字を返してくる時がある。 上記を防ぐには予め .timeStyleと.dateStyleを定義しておくとよい。 let dateFormat = DateFormatter() dateFormat.timeStyle = .full dateFormat.dateStyle = .full dateFormat.locale = Locale(identifier: "ja_jp") dateFormat.dateFormat = "YYYY/MM/dd HH:mm:ss" let date = Date() dateText = dateFormat.string(from: date) dateFormat.dateFormat = "YYYY/MM/dd HH:mm :ss"を削除すると以下のように表示される。 時間の差分を取得したい場合 timeIntervalSinceを使用すると差分が簡単に取れる。 @State var dateText = "" var body: some View { VStack { Button(action: { let dateFormat = DateFormatter() // 日時をString型で定義 let textLogDate = "2021-01-01 12:00:00" let textNowDate = "2021-01-01 12:01:20" // styleで和暦設定に対応 dateFormat.timeStyle = .full dateFormat.dateStyle = .full // dateFormatを初期設定した"2021-01-01 12:00:00"と同じ形式になるように定義 dateFormat.dateFormat = "yyyy-MM-dd HH:mm:ss" // localeを日本に dateFormat.locale = Locale(identifier: "ja_JP") // String型の日時をDate型に変換 let logDate = dateFormat.date(from: textLogDate) ?? Date() let nowDate = dateFormat.date(from: textNowDate) ?? Date() // timeIntervalSinceを使用すると差分を取得できる->nowDate-logDate let dateSubtraction: Int = Int(nowDate.timeIntervalSince(logDate)) dateText = "\(dateSubtraction)" }, label: { Text("Button") }) Text(dateText) } } なお、取得した差分は秒数の為、今回は80秒となる。 以上これからを使用して日時の差分を取得するアプリを作成してユニットテストを書いてみました。(こちらはUIKitで書きました) https://github.com/yuujioka/TimeCalculate まとめ 毎度毎度Dateの差分を取るときに演算しようとしたりして、アレ?ってなったり、Dateの形式指定するときにアレ?ってなったり、日時を指定したものをDate型にするときにアレ?となり、同じような鉄釘踏みまくっていたのでいい加減鉄ゲタ履こうと自分用に書きました! また日時取得はDateだけでなく、Calendarクラスを使用して取得、加工することも可能なので是非そちらもチャレンジしてみたいと思います!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[Swift]Dateの使用でいつもハマるので記事を書いてみた

今回作成したアプリ はじめに 今回はユニットテストについて学びたく勉強していたところ”Date使ってテスト書くといいよ”と言うアドバイスを頂いたので挑戦してみたらDateに関して結構勉強になったのでまとめてみました。 またUIKitとSwiftUIの両方で書いてみたのでUIKitはGitで公開し、この記事では主にSwiftUIで書いたものを掲載していきます。 環境 ・ macOS Big Sur 12 ・ Xcode : 12.5 Dateを使ってみる 今回は記録した日時と、現在の日時の差分によって表示するものを変えると言う実装をする為、とにかくDateを使用する所から始めた。 @State var dateText = "" var body: some View { VStack { Button(action: { let date = Date() dateText = "\(date)" }, label: { Text("Button") }) Text(dateText) } } 上記のコードはボタンを押すと現在の日時を取得して表示すると言うもの。 Formatterを使用して表示を定義する ただ表示するだけって基本的にあまり使用する事はないので基本”Date使うならFormatter”ぐらいの勢いで必要な気がする。 時間と分だけを表示させたい場合は以下の通り(Buttonのaction内以外は省略) let date = Date() let dateFormat = DateFormatter() dateFormat.dateFormat = "HH:mm" dateText = dateFormat.string(from: date) .dateFormatでは表示する日時の表現を定義できる。以下表にまとめた。 年 月 日 時間 分 秒 YYYY MM dd HH mm ss 2021 6 3 22 26 45 地域や言語に関してはLocaleを使用する dateFormat.locale = Locale(identifier: "jp_JP") Localeで使用するIDの一覧↓ 地域ごとの時間を取得する時はTimeZoneを使用する dateFormat.timeZone = TimeZone(identifier: "Asia/Tokyo") TimeZoneで使用するIDの一覧↓ 和暦に気を付ける これも最初わからなかった部分だが、iPhoneの設定で和暦を設定しているとYYYYの西暦表示の部分がめちゃくちゃな数字を返してくる時がある。 上記を防ぐには予め .timeStyleと.dateStyleを定義しておくとよい。 let dateFormat = DateFormatter() dateFormat.timeStyle = .full dateFormat.dateStyle = .full dateFormat.locale = Locale(identifier: "ja_jp") dateFormat.dateFormat = "YYYY/MM/dd HH:mm:ss" let date = Date() dateText = dateFormat.string(from: date) dateFormat.dateFormat = "YYYY/MM/dd HH:mm :ss"を削除すると以下のように表示される。 時間の差分を取得したい場合 timeIntervalSinceを使用すると差分が簡単に取れる。 @State var dateText = "" @State var timeZone = "" var body: some View { VStack { Button(action: { let dateFormat = DateFormatter() // 日時をString型で定義 let textLogDate = "2021-01-01 12:00:00" let textNowDate = "2021-01-01 12:01:20" // styleで和暦設定に対応 dateFormat.timeStyle = .full dateFormat.dateStyle = .full // dateFormatを初期設定した"2021-01-01 12:00:00"と同じ形式になるように定義 dateFormat.dateFormat = "yyyy-MM-dd HH:mm:ss" // localeを日本に dateFormat.locale = Locale(identifier: "ja_JP") // timeZoneを日本に dateFormat.timeZone = TimeZone(identifier: "Asia/Tokyo") // String型の日時をDate型に変換 timeZone = dateFormat.string(from: Date()) let logDate = dateFormat.date(from: textLogDate) ?? Date() let nowDate = dateFormat.date(from: textNowDate) ?? Date() // timeIntervalSinceを使用すると差分を取得できる->nowDate-logDate let dateSubtraction: Int = Int(nowDate.timeIntervalSince(logDate)) dateText = "\(dateSubtraction)" }, label: { Text("Button") }) Text(dateText) Text(timeZone) } } } 時間は日本時間を表示しており、取得した差分は秒数の差分となるので、今回は80秒と表示される。 以上これからを使用して日時の差分を取得するアプリを作成してユニットテストを書いてみました。(こちらはUIKitで書きました) https://github.com/yuujioka/TimeCalculate まとめ 毎度毎度Dateの差分を取るときに演算しようとしたりして、アレ?ってなったり、Dateの形式指定するときにアレ?ってなったり、日時を指定したものをDate型にするときにアレ?となり、同じような鉄釘踏みまくっていたのでいい加減鉄ゲタ履こうと戒めの意味も込めて書きました! また日時取得はDateだけでなく、Calendarクラスを使用して取得、加工することも可能なので是非そちらもチャレンジしてみたいと思います!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[Swift]日付を取得し差分を出す方法

今回作成したアプリ はじめに 今回はユニットテストについて学びたく勉強していたところ”Date使ってテスト書くといいよ”と言うアドバイスを頂いたので挑戦してみたらDateに関して結構勉強になったのでまとめてみました。 またUIKitとSwiftUIの両方で書いてみたのでUIKitはGitで公開し、この記事では主にSwiftUIで書いたものを掲載しています。 環境 ・ macOS Big Sur 12 ・ Xcode : 12.5 日付を取得する @State var dateText = "" var body: some View { VStack { Button(action: { let date = Date() dateText = "\(date)" }, label: { Text("Button") }) Text(dateText) } } ボタンを押すと現在の日時を取得して表示する。 Formatterを使用して表示を定義する ただ表示するだけって基本的にあまり使用する事はないので基本”Date使うならFormatter”ぐらいの勢いで必要な気がする。 時間と分だけを表示させたい場合は以下の通り(Buttonのaction内以外は省略) let date = Date() let dateFormat = DateFormatter() dateFormat.dateFormat = "HH:mm" dateText = dateFormat.string(from: date) .dateFormatでは表示する日時の表現を定義できる。以下表にまとめた。 年 月 日 時間 分 秒 YYYY MM dd HH mm ss 2021 6 3 22 26 45 地域や言語に関してはLocaleを使用する dateFormat.locale = Locale(identifier: "jp_JP") Localeで使用するIDの一覧↓ 地域ごとの時間を取得する時はTimeZoneを使用する dateFormat.timeZone = TimeZone(identifier: "Asia/Tokyo") TimeZoneで使用するIDの一覧↓ 和暦に気を付ける これも最初わからなかった部分だが、iPhoneの設定で和暦を設定しているとYYYYの西暦表示の部分がめちゃくちゃな数字を返してくる時がある。 上記を防ぐには予め .timeStyleと.dateStyleを定義しておくとよい。 let dateFormat = DateFormatter() dateFormat.timeStyle = .full dateFormat.dateStyle = .full dateFormat.locale = Locale(identifier: "ja_jp") let date = Date() dateText = dateFormat.string(from: date) Localをen_USに変えると表示が以下のように変わる dateFormat.dateFormat = "YYYY/MM/dd HH:mm :ss"をdateFormat.locale = Locale(identifier: "ja_jp")の下に追加すると以下の表示となる。 時間の差分を取得したい場合 timeIntervalSinceを使用すると差分が簡単に取れる。 @State var dateText = "" @State var timeZone = "" var body: some View { VStack { Button(action: { let dateFormat = DateFormatter() // 日時をString型で定義 let textLogDate = "2021-01-01 12:00:00" let textNowDate = "2021-01-01 12:01:20" dateFormat.timeStyle = .full dateFormat.dateStyle = .full // dateFormatを初期設定した"2021-01-01 12:00:00"と同じ形式になるように定義 dateFormat.dateFormat = "yyyy-MM-dd HH:mm:ss" // localeを日本に dateFormat.locale = Locale(identifier: "ja_JP") // timeZoneを日本に dateFormat.timeZone = TimeZone(identifier: "Asia/Tokyo") // String型の日時をDate型に変換 timeZone = dateFormat.string(from: Date()) let logDate = dateFormat.date(from: textLogDate) ?? Date() let nowDate = dateFormat.date(from: textNowDate) ?? Date() // timeIntervalSinceを使用すると差分を取得できる->nowDate-logDate let dateSubtraction: Int = Int(nowDate.timeIntervalSince(logDate)) dateText = "\(dateSubtraction)" }, label: { Text("Button") }) Text(dateText) Text(timeZone) } } } 時間は日本時間を表示しており、取得した差分は秒数の差分となるので、今回は80秒と表示される。 以上これからを使用して日時の差分を取得するアプリを作成してユニットテストを書いてみました。(こちらはUIKitで書きました) https://github.com/yuujioka/TimeCalculate まとめ 自以上TimeZoneとLocaleの一覧やtimeIntervalSinceを使用して差分を取得する方法でした。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Error running pod install Error launching application on iPhone 12 Pro Max.

Flutterでiosをビルド時に以下のエラーに遭遇 Error running pod install Error launching application on iPhone 12 Pro Max. ios/Podfileの最初を以下のように修正するとビルドは成功した # Uncomment this line to define a global platform for your project platform :ios, '10.0'
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【iOS】Metal Best Practicesの解説(1) 基本的な概念

何回か分けて、Metal Best Practicesを解説していきたいと思います。 (途中でやめたらごめんなさい。というか1回目で終わったらごめんなさい) Metal Best Practicesは、iOS/MacOS/tvOSのAPIであるMetalを用いた設計のベストプラクティスガイドです。 本稿では、何回かに分けてこのガイドを読み解き、コード上での実験を交えて解説していきたいと思います。 読んでそのまま理解できそうなところは飛ばしますので、原文を読みながら原文のガイドとしてご利用下さい。 Fundamental Concepts (基本的な概念) Metalを利用してグラフィックや計算をするのは、おそらく高いパフォーマンスを実現したいからだと思います。そして、効率的なMetalアプリでを作るためには次の点を考慮する必要があります。 CPUのオーバーヘッドが低いこと GPUパフォーマンスを最適化すること CPUとGPUの並列処理を最大化すること 効率的なリソース管理をすること これらを実現するためにはMetal APIを推奨した方法にしたがって使用する必要があります。 (短いですが1回目はここまでです。) 最後に iOSを使ったARやML、音声処理などの作品やサンプル、技術情報を発信しています。 作品ができたらTwitterで発信していきますのでフォローをお願いします? Twitterは作品や記事のリンクを貼っています。 https://twitter.com/jugemjugemjugem Qiitaは、iOS開発、とくにARや機械学習、グラフィックス処理、音声処理について発信しています。 https://qiita.com/TokyoYoshida Noteでは、連載記事を書いています。 https://note.com/tokyoyoshida Zennは機械学習が多めです。 https://zenn.dev/tokyoyoshida
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Phú Thịnh

Review đánh giá chất lượng sản phẩm, địa điểm ăn uống giải trí thú vị LÀ WEBSTE ĐÁNH GIÁ CHẤT LƯỢNG SẢN PHẨM, ĐỊA ĐIỂM ĂN UỐNG, GIẢI TRÍ, DU LỊCH 399166916
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

文献管理のすすめ

最近困ったことがあります 最近困ったことが起こりました.なんとMendeleyのiosアプリとandroidアプリの提供が廃止されました. それまで行っていた * Mendeleyで文献管理 * Goodnoteで文献に書き込み * Google driveで書き込んだ文献を保存 を行っていたのですが,その素敵環境がなくなりました. その他の環境を求めていた僕にとっては環境を変える転機が来ました. Paperpileを使って見よう Paperpileはchromeの拡張機能として使える文献管理ツールです. 一ヶ月で$3かかるのが少し気になりますが,Endnoteなどは採用していない大学も多く,導入するのに今後のキャリアを考えると少し不安なので,Paperpileを使用することにしました. さらに追加情報として,最近,Paperpileのiosアプリができました. これを使えば前の環境を大幅に崩さずに行けるはず まだ書き途中なので,更新します・・・・(2021/06/03)
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む