- 投稿日:2019-08-28T19:03:28+09:00
【Xcode】No such module と表示された時の対処
結論
ターゲットを増やしたが、Podfileのターゲットを増やしていなかったため
Podfileのターゲットを増やし、再度pod installで解消された普段触らなすぎて、忘れていました。。。
環境
Xcode: 10.1
Swift: 4.2
pod: 1.7.1手順
Podfileにターゲットを追加
platform :ios, '9.0' use_frameworks! def install_pods pod 'Firebase/Core' pod .... end target 'すでに存在してるターゲット名' do install_pods end # 新しいターゲットを追記し忘れていた target '新しく追加したターゲット名' do install_pods endインストール実施
pod install振り返り
こんなことで3時間ほど費やしてしまった コンチクショー!(振り返ってない)
参考に試したが自分の場合ダメだったこと
- 投稿日:2019-08-28T18:43:55+09:00
Xcodeのブレークポイントはドラッグアンドドロップで消せる
- 投稿日:2019-08-28T13:45:32+09:00
[Swift 5]UIButtonに設定したimage(画像)を右側に表示する
UIButtonは、アイコンと文字を同時に設定できますが、デフォルトでは左側に表示されます。
文字を左、アイコンを右側に表示したかったのですが、思ったより単純にはできず、今回以下のように実装しました。実装
UIButton+.swiftextension UIButton { // ボタンのアイコンをLeading(右側)に表示する func iconToRight() { if #available(iOS 11.0, *) { // leadingはiOS 11以降のため contentHorizontalAlignment = .leading } else { contentHorizontalAlignment = .right } semanticContentAttribute = UIApplication.shared.userInterfaceLayoutDirection == .rightToLeft ? .forceLeftToRight : .forceRightToLeft } }使用方法
sampleButton.iconToRight()もう一つ、トランスフォームを使って反転させる方法もあるようでしたが、今回はsemanticContentAttributeを使う方法を採用しました。
代替方法
button.transform = CGAffineTransform(scaleX: -1.0, y: 1.0) button.titleLabel?.transform = CGAffineTransform(scaleX: -1.0, y: 1.0) button.imageView?.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)参考
- 投稿日:2019-08-28T08:46:58+09:00
Flutterウィークリー #72
Flutterウィークリーとは?
FlutterファンによるFlutterファンのためのニュースレター
https://flutterweekly.net/この記事は#72の日本語訳です
https://mailchi.mp/flutterweekly/flutter-weekly-72※Google翻訳を使って自動翻訳を行っています。翻訳に問題がある箇所を発見しましたら編集リクエストを送っていただければ幸いです。
読み物&チュートリアル
Flutterオンライン調査ソフトウェア
https://google.qualtrics.com/jfe/form/SV_3kiGXYfYOfXUjB3?Source=Twitter&linkId=71914718
Flutterチームが簡単なアンケートに回答して製品を改善できるように支援する
60 Days Of Flutter : Flutterからのメッセンジャーの構築
https://medium.com/@adityadroid/60-days-of-flutter-building-a-messenger-from-scratch-ab2c89e1fd0f
Aditya Gurjarは60日間、完全なFlutterアプリを開発し、プロセスを文書化します。最初の記事はすでに作成されています。FlutterとCloudinaryを使用して写真日記アプリを作成する9つの最も簡単な手順
Promise Nzubechi Amadiによるこの記事に従って、写真ダイアリーアプリを段階的に作成してください。Flutter CLI:52の非表示サンプル
https://medium.com/flutter-community/flutter-cli-52-hidden-samples-fc90f218a9d0
Nitish Kumar Singhは、 Flutter CLIツールで52の非表示のサンプルプロジェクトを示しています。Flutterウィジェットのbuild()メソッドが「すべてがウィジェット」であることを証明する方法
Bui Minh Trietは、Containerウィジェットの構築方法の分析を使用して、テーブルの下でウィジェットがどのように機能するかを学習します。Flutter依存性注入
https://medium.com/flutter-community/dependency-injection-in-flutter-f19fb66a0740
Flutterアプリに依存性注入を実装する方法に関するZubair Rehmanによる優れた記事思考のFlutter
https://medium.com/flutter-community/thinking-flutter-22f38961f9ba
Pratik Jainは、いくつかの例を使用して新しいウィジェットの設計に取り組む前に、どのように考えるかを分析します。ビデオ&メディア
カスタムドロワー、ファイリングバグ、データベースの操作(The Boring Flutter Development Show、Ep。27)
https://www.youtube.com/watch?v=SJKrtx759Xk&feature=youtu.be
ボーリングショーのこのエピソードでは、エミリーとエミリーが協力してデータベースをFlutterアプリに追加し、ユーザーがお気に入りの記事を保存したり、パッケージにバグを登録したり、カスタムドロワーメニューの作成を開始できるようにします。フレアベクトルアニメーション:Zero to Hero
https://www.youtube.com/playlist?list=PLjr4ufdmNA4Jt19RyRQPD7cMF0r0juDs8
Flareを使用してアニメーションを作成する方法を学ぶためのビデオチュートリアルの全リストFlutterアニメーション-AnimatedSwitcherを使用した放射状メニュー
https://www.youtube.com/watch?v=1Bz06bLeWHY&feature=youtu.be
Flutterカスタムアイコン-自動および手動の方法(アイコンフォントまたはSVG)
https://www.youtube.com/watch?v=qZYqmM3daO0&feature=youtu.be
カスタムアイコンを使用してFlutterにベクターフォントベースのアイコンの新しいセットを追加する方法に関するビデオチュートリアル。今週のパッケージ
https://www.youtube.com/playlist?list=PL163X1AUpNTGyw4eNVnvIfPl3chAXsReW
「週のパッケージ」を示す毎週成長するプレイリスト、またはさまざまな利用可能なFlutterパッケージの使用方法。抽象化により開発時間を節約| Flutter抽象化
https://www.youtube.com/watch?v=n2yGl7vJJGM&feature=youtu.be
この抽象化に関するFlutterチュートリアルでは、抽象化が必要な理由、抽象化がどのように役立つか、偽の実装を使用して実際に何時間もの開発時間を節約できるかがわかります。ライブラリ&コード
aliyigitbireroglu / flutter-peek-and-pop
https://github.com/aliyigitbireroglu/flutter-peek-and-pop
同じ名前のiOS機能に基づくFlutter Peek&Pop実装。
Almoullim / background_location
https://github.com/Almoullim/background_location
AndroidおよびiOS用のFlutterバックグラウンドロケーションプラグイン
form_bloc / packages / flutter_form_bloc
https://github.com/GiancarloCode/form_bloc/tree/master/packages/flutter_form_bloc
Flutter form_blocパッケージでフォームを作成するのに役立ちますフラッターウィジェットを持つパッケージ。
mannprerak2 / nearby_connections
https://github.com/mannprerak2/nearby_connections
近くの接続API用のFlutterプラグイン(Android)
schibsted / tweet_ui
https://github.com/schibsted/tweet_ui
Tweet UIのFlutterパッケージ
fluttercommunity / get_it
https://github.com/fluttercommunity/get_it
インターフェースを具体的な実装から切り離すことができる単純な直接サービスロケーター。
- 投稿日:2019-08-28T08:46:22+09:00
Flutterウィークリー #71
Flutterウィークリーとは?
FlutterファンによるFlutterファンのためのニュースレター
https://flutterweekly.net/この記事は#71の日本語訳です
https://mailchi.mp/flutterweekly/flutter-weekly-71※Google翻訳を使って自動翻訳を行っています。翻訳に問題がある箇所を発見しましたら編集リクエストを送っていただければ幸いです。
読み物&チュートリアル
Flutter and Graphql-ファイルをアップロードする方法
https://codinglatte.com/posts/flutter/flutter-and-graphql-how-to-upload-files/
GraphQLとFlutterを使用してファイルをアップロードする方法に関するチュートリアル。Flutterチュートリアル:習慣トラッカーUI
https://cybdom.tech/flutter-tutorial-habit-tracker-ui/
カスタムペインタとベジェカーブを含むUIの作成に関するチュートリアル。Flutterサノススナップ効果
https://fidev.io/thanos-snap-effect-in-flutter/
MarcinSzałekが説明した画像に適用する楽しい効果。効果の最高の名前:)Flutter非同期プログラミングのガイド
Gaspard MertenによるFlutter先物、ストリーム、コンプリーターの紹介。Flutter Androidの文字Flutter
https://medium.com/flutter-community/android-strings-to-flutter-12a5c307147c
ŁukaszWiśniewskiは、作成する理由と、ライブラリを使用してAndroid xml文字列ファイルをi18n Flutterクラスに変換する方法について説明します。FlutterとGraphQLを使用したシンプルなアプリケーションの構築
DanielBerríoBarreraがFlutterでのGraphQLの使用について紹介します。Flutter —プロバイダーを使用したFirebase Realtime Database CRUD操作
Mohamed Hassan Kadriによるプロバイダーライブラリを使用して、Firebaseでcrud操作を処理する方法。BLoCパターン付きのFlutter BottomNavigationBar
https://medium.com/@lovnicki.sandro/flutter-bottomnavigationbar-with-bloc-pattern-bba6f13d49f3
SandroLovničkiは、BLoCデザインパターンでBottomNavigationBarウィジェットを使用する方法を示します。バックグラウンドでFlutterを実行するには?
https://medium.com/vrt-digital-studio/flutter-workmanager-81e0cfbd6f6e
Tim Rijckaertは、 Flutterバックグラウンドジョブを定期的にトリガーする必要性をどのように解決したかについて説明します。Flutterための必須のVSコード拡張機能
Daniele CambiによるFlutter動作するために推奨されるVSコード拡張のキュレーションリスト。FlutterアプリでColorTweenを使用する
https://medium.com/flutterpub/using-colortween-in-flutter-app-d05a3ebe83f5
Tyagi Priyankaによるこの記事で、ColorTweenを使用してアニメーションを実装する方法を学びます。Flutter PCゲームをモバイルに
https://rainway.com/blog/2019/08/06/flutter/
Rainwayチームは、 Flutterを使用してモバイルにゲームをストリーミングする方法を説明し、驚くべき結果を出しました。ビデオ&メディア
CustomPaintを使用したFlutterアニメーションノイズ
https://www.youtube.com/watch?v=-3bRoZ2kbW8&feature=youtu.be
CustomPaintウィジェットを使用してFlutterノイズアニメーションを作成する方法を学びます。AnimatedPadding(今週のFlutterウィジェット)
https://www.youtube.com/watch?v=PY2m0fhGNz4&list=PLjxrf2q8roU23XGwz3Km7sQZFTdB996iG&index=46
AnimatedPaddingを使用すると、ウィジェットのパディングを動的に変更し、2つの値の間でアニメーション化できます。より良いコードのためのDart機能:スプレッド、Collection-If、Collection-For
https://www.youtube.com/watch?v=mnaN_6465Gk&feature=youtu.be
このチュートリアルでは、Spreads、Collection-If、およびCollection-Forを実際に使用する方法を示します。Flutter Animation Tutorial – AnimatedWidgetとAnimatedBuilderによるリファクタリング
https://www.youtube.com/watch?v=o-h_e4b71o8&feature=youtu.be&app=desktop
AnimatedWidgetとAnimatedBuilderを手動アニメーションに適用して、コードをよりクリーンで再利用しやすくします。ライブラリ&コード
アリアミン/ shopx
https://github.com/Ali-Amin/shopx
MobX状態管理を使用したEコマースFlutterアプリ
asjqkkkk / flutter-todos
https://github.com/asjqkkkk/flutter-todos
包括的で美しいFlutter Todo-Listアプリは、ベストプラクティスプロジェクトでもあります。印象的なドキュメントの栄誉。
dmh2000 / Flutter -GraphqlX
https://github.com/dmh2000/Flutter-GraphqlX
DartとFlutter GraphQLを使用する例
fayeed / flutter_parsed_text:
https://github.com/fayeed/flutter_parsed_text
テキストを解析し、リンクされたテキストウィジェットにするFlutterパッケージ
flutter-ui-challenges / flutter_web_challenge_googlemaps
https://github.com/flutter-ui-challenges/flutter_web_challenge_googlemaps
Google Maps UIの再設計のFlutterチャレンジ。
fluttervn / super_widgets
https://github.com/fluttervn/super_widgets
一般的に一緒に使用される複数のウィジェットを単一のウィジェットに結合する一連のウィジェット。
JideGuru / Flutter FurnitureAppUI:
https://github.com/JideGuru/FlutterFurnitureAppUI
khalidfsh / flutter_localizations_tale
https://github.com/khalidfsh/flutter_localizations_tale
sarbagyastha / flutter_rating_bar
https://github.com/sarbagyastha/flutter_rating_bar
フラッター用のシンプルなレーティングバー。レーティングバーインジケーターも含まれ、レーティングの一部をサポートします。
- 投稿日:2019-08-28T08:44:55+09:00
Flutterウィークリー #70
Flutterウィークリーとは?
FlutterファンによるFlutterファンのためのニュースレター
https://flutterweekly.net/この記事は#70の日本語訳です
https://mailchi.mp/flutterweekly/flutter-weekly-70※Google翻訳を使って自動翻訳を行っています。翻訳に問題がある箇所を発見しましたら編集リクエストを送っていただければ幸いです。
読み物&チュートリアル
Flutter –ポートレートとランドスケープのレイアウト
https://codingwithjoe.com/flutter-portrait-and-landscape-layouts/
縦向きでも横向きでも、美しく表示できるFlutterフォームの作成方法を調べてください。「刷新」 Flutterボトムシート
https://medium.com/flutter-community/revamped-flutter-bottom-sheet-61662dc2983
Sumeet Rukejaは、独自のボトムシートをゼロから作成して、さらにカスタマイズできるようにする方法を説明します。Flutterはよさそうですが、痛いです。ここに私の不満があります。
ベルナルド・フェラーリはFlutterを試し、その過程で発見したいくつかの問題を共有しています。プロバイダーパッケージの詳細
https://medium.com/flutter-nyc/a-closer-look-at-the-provider-package-993922d3a5a5
プロバイダーパッケージをよりよく理解するためのMartin Rybakの記事Flare& Flutterした水追跡アプリの構築
https://medium.com/2dimensions/building-a-water-tracking-app-with-flare-flutter-f03de436dba3
FlutterアプリからFlareアニメーションを処理する方法を理解するための優れたチュートリアル。Flutter —デバッグUIチートシート
https://medium.com/@louagejulien/flutter-debugging-ui-cheat-sheet-18a7b09dd468
Julien LouageによってキュレーションされたUIのデバッグフラグのリストFlutterとムーア
https://medium.com/flutterpub/flutter-and-moor-c2b2e03b1fbe
Aseem Wangooによるこの記事では、Moorを使用してFlutterデータベースの操作を簡素化する方法を学びます。Flutterとコマンドライン—ラブストーリー
https://medium.com/flutter-community/flutter-and-the-command-line-a-love-story-a3648ef2411
GonçaloPalmaは、コマンドラインオプションをレビューしてFlutterます。Flutter Rx Dartを使用したインスタント画像検索
https://medium.com/@sagarsuri56/instant-image-search-using-rxdart-in-flutter-9eedd4b53364
Rx Dartを使用して画像検索アプリを作成する方法を説明するSagar Suri。Dialog ManagerでFlutterダイアログを管理する
https://medium.com/flutter-community/manager-your-flutter-dialogs-with-a-dialog-manager-1e862529523a
Dane Mackierは、中央のダイアログマネージャーを使用してアプリでダイアログを処理する方法を示します。プロバイダー—およびそのタイプ
https://medium.com/flutterpub/provider-and-its-types-dda8463586e7
Flutterを使用したテキスト読み上げ
https://medium.com/@arend.kuehle/text-to-speech-with-flutter-8d959dad40a8
FlutterでTTSを使用する際のArendKühleによるヒント。レンタル代理店向けのFlutterデータ入力フォームアプリの作成
Steve Zwartによるこの記事でFlutterフォームの取り扱いを学ぶカールとDart楽しみ-マーキーデセルス:クリスの洞察力
http://sellsbrothers.com/fun-with-curl-and-dart
Chris Sellは、Curlでリクエストを生成し、それらをDartコードに変換する方法を説明します。Flutter次のアプリを作成する理由
https://skillsmatter.com/skillscasts/13223-why-i-m-building-my-next-app-in-flutter
ビデオ&メディア
Flutterフォーム検証を追加し、Firebase Authエラーメッセージのユーザーに警告する方法
https://www.youtube.com/watch?v=bSUdYUw4Jjs
サインアップとサインインフォームにカスタムフォーム検証を追加し、エラーメッセージを処理する方法AnimatedPositioned( Flutter Widget of the Week)
https://www.youtube.com/watch?v=hC3s2YdtWt8&list=PLjxrf2q8roU23XGwz3Km7sQZFTdB996iG&index=45
AnimatedPositionedは、指定された位置が変更されるたびに、指定された期間にわたって子の位置を自動的に移行しますFlutterグリッターアニメーションを作成する(The Boring Flutter Development Show、Ep。27)
この退屈なショーのエピソードでは、アンドリューはゲストメアリーと一緒に、 Flutterキラキラと輝くアニメーションを作成するというアイデアを探求します。Flutterアニメーションチュートリアル-基本を理解し、簡単にアニメーション化する
https://www.youtube.com/watch?v=txLvvlooT20&feature=youtu.be
Flutter Bloc-自動ルックアップ-v0.20(以降)、更新されたチュートリアル
https://www.youtube.com/watch?v=_vOpPuVfmiU&feature=youtu.be
このチュートリアルでは、BLoCライブラリを使用して状態を管理する最新のベストプラクティスと方法を学習します。Flutter File Upload-画像を選択、切り取り、クラウドに保存
https://www.youtube.com/watch?v=HCmAwk2fnZc&feature=youtu.be
FlutterとFirebase Cloud Storageでファイルをアップロードしてください。画像を選択、切り取り、クラウドストレージバケットにアップロードする方法を学ぶFlutter Live: Flutter Blocパッケージの学習|私と一緒に学びましょう!
https://www.youtube.com/watch?v=eAiCPl3yk9A&feature=youtu.be
Flutterミニマルデザイン-栄養アプリ
https://www.youtube.com/watch?v=K1uH_SN4X0w
エリック・ザイデル( Flutter共同設立者)へのインタビュー
https://www.youtube.com/watch?time_continue=287&v=AMOs1cuNhDY
フルテランドのメンバーがエリック・ザイデルにインタビューします(ポルトガル語での紹介ですが、インタビューは英語です)Material Themer- Flutter開発ツールの情報ビデオ
https://www.youtube.com/watch?v=o_xs5sXEaqg&feature=youtu.be
Material Themerアプリを使用すると、ThemeDataを視覚的に作成し、ワンクリックでコードを生成できますライブラリ&コード
Flutter Enhancement Suite
https://plugins.jetbrains.com/plugin/12693-flutter-enhancement-suite
Flutter作業をこれまで以上に簡単にするための重要なプラグイン!AubergineDevelopers / flutter_scale
https://github.com/AubergineDevelopers/flutter_scale
Flutterパッケージを使用すると、Scaleウィジェットを簡単に統合できます。
csells / flutter_mazegen
https://github.com/csells/flutter_mazegen
Flutter迷路を生成するために古いC ++を移動する
florent37 / Flutter -ShapeOfView
https://github.com/florent37/Flutter-ShapeOfView
フラッターウィジェットにカスタムシェイプを追加し、Material Design 2を準備
mjohnsullivan / ffi
https://github.com/mjohnsullivan/ffi
DartからCライブラリを呼び出す方法を示す一連の簡単な例。
- 投稿日:2019-08-28T01:21:36+09:00
AppDelegateについて
目的
iOSアプリを開発する上で、当たり前のように使うAppDelegateクラスについての理解を深める。また、ストーリーボードを使用しない場合のAppDelegateへの記述にも触れる。
ソースコード
import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { self.window = UIWindow(frame: UIScreen.main.bounds) self.window?.rootViewController = UINavigationController(rootViewController: <表示したいViewControllerを入れる>) self.window?.makeKeyAndVisible() return true } func applicationWillResignActive(application: UIApplication) { println("アプリ閉じそうな時に呼ばれる") } func applicationDidEnterBackground(application: UIApplication) { println("アプリを閉じた時に呼ばれる") } func applicationWillEnterForeground(application: UIApplication) { println("アプリを開きそうな時に呼ばれる") } func applicationDidBecomeActive(application: UIApplication) { println("アプリを開いた時に呼ばれる") } func applicationWillTerminate(application: UIApplication) { println("フリックしてアプリを終了させた時に呼ばれる") } }@UIApplicationMainとは
#import #import "AppDelegate.h" int main(int argc, char *argv[]) { @autoreleasepool { //AppDelegateのクラス名を指定 return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } }@UIApplicationとは上記のコードを省略するための記述であり、この記述のおかげで上記のmain関数を自動実装してくれます。ちなみにこのmain関数というのはアプリケーションを起動した時点で、はじめに実行する関数であり、ここでAppDelegateのクラス名を指定しているため、アプリ起動時などにAppDelegateが実行されるようになっている。
AppDelegate.swiftとは
xcodeでプロジェクトをcreateした時点で自動生成されるファイルの一つであり、アプリ全体のライフタイムイベントを管理するためにAppDelegateクラスが記述されている。
そしてそのAppDelegateクラスはUIResponderを継承して、UIApplicationDelegateプロトコルを適合している。//上記省略 func applicationWillResignActive(application: UIApplication) { println("アプリ閉じそうな時に呼ばれる") } func applicationDidEnterBackground(application: UIApplication) { println("アプリを閉じた時に呼ばれる") } func applicationWillEnterForeground(application: UIApplication) { println("アプリを開きそうな時に呼ばれる") } func applicationDidBecomeActive(application: UIApplication) { println("アプリを開いた時に呼ばれる") } func applicationWillTerminate(application: UIApplication) { println("フリックしてアプリを終了させた時に呼ばれる") }上記のようにAppDelegateクラスにはいくつかのメソッドがファイル生成時に定義されており、何かしらの動作がアプリに行われた際に各メソッドが実行されるようになっている。
UIResponderクラスとは
UIResponder(のインスタンス)は、UIKitアプリのイベント処理バックボーン(裏側の処理)を構成しています。つまりUIResponderクラスはイベントの処理を管理するクラスであり、UIViewやUIApplicationなどのスーパークラスになります。そのためタッチイベントやモーションイベントをこのクラスが管理しています。そのため、UIViewを継承しているUITextFieldやUITextViewはUIResponderのプロパティやメソッド使えることになります。
UIApplicationDelegateプロトコルとは
UIApplicationDelegateプロトコルとは、アプリの共有動作を管理するために使用する一連のメソッドを宣言しているメソッドである。つまりこのプロトコルは、シングルトンのUIApplicationオブジェクトのデリゲートによって実装されるメソッドを宣言し、それらのメソッドは、起動完了時・終了時、メモリの低下、重要な変更の発生など、アプリケーション実行中に置けるキーイベント(重要なイベント)を実行します。
application(_:didFinishLaunchingWithOptions:)とは
関数UIApplicationDelegateに含まれているメソッドのapplication(_:didFinishingWithOptions:)は起動プロセスがほぼ完了し、アプリを実行する準備がほぼ整ったことをデリゲートに伝えます。このメソッドを使用する場合、最後にBool値を返す必要がある。アプリがURLリソースを処理できないかユーザーアクティビティを続行できない場合はfalse、それ以外の場合はtrueを返します。リモート通知の結果としてアプリが起動された場合は戻り値は無視されます。
application(_:didFinishLaunchingWithOptions:)の中の三行について
//ウィンドウをインスタンス化する self.window = UIWindow(frame: UIScreen.main.bounds) //メインストーリーボードをロードし、その最初のView Controllerをインスタンス化します。 self.window?.rootViewController = UINavigationController(rootViewController: <表示したいViewContorollerをいれる>) //新しいView ControllerをウィンドウのrootViewControllerプロパティに割り当ててから、ウィンドウを表示状態にします。 self.window?.makeKeyAndVisible()上記のコードのように記されている通り、アプリケーションのメインストーリーボードファイルを作成し、それを情報プロパティリストファイルでメインストーリーボードファイルとして識別すると、iOSはいくつかのセットアップタスクを実行することができます。つまりは、起動後最初のViewを表示する動きをしているということです。


















































