WidgetKit 実装について iOS 14 から利用可能になった WidgetKit ですが、これまでの Today Widget とは異なる点が多く、戸惑う箇所が多々ありました...。ここでは、調査したことをまとめて、書いておきたいと思います。 主な参考サイト Creating a Widget Extension | Apple Developer Documentation 【iOS14】Widget(WidgetKit) まとめ - Qiita WidgetKitのUIを作る上で、UIKit (UIView) は使用できる? WidgetKitでは、UIKitは使用不可です。そのため、画面要素はすべて SwiftUI で作成する必要があります。 既存のTodayWidgetから、UIViewを使い回せたら楽だなと思ったんですが...簡単に事は運べないのでした...。 ちなみに、
This is my case: let passwordSecureTextField = app.secureTextFields["password"] passwordSecureTextField.tap() passwordSecureTextField.typeText("wrong_password") //here is an error UI Testing Failure - Neither element nor any descendant has keyboard focus. Element: What is wrong? This is working nice for normal textFields, but problem arise only with secureTextFields. Any workarounds?
社内でfastlane布教のためSnapshotから紹介したので その内容をまとめてみました。 fastlaneとは? 簡単に言うとiOSアプリのCI支援ツール及びそのツール群 ビルド・デプロイ・テスト・リリースなどの工程における自動化をサポートします。 https://fastlane.tools https://github.com/fastlane/fastlane snapshotとは? fastlaneのスクリーンショット作成支援ツールです。 Xcode7以前はUI Automationを利用していましたが現在はXCUITextを利用する形になっています。 私はUIAutomationを利用してた頃に触っていたのですが、XCUITestに移行したようなので改めてまとめてみる事にしました。 まずXCUITestを動かしてみよう Snapshotについて話を始める前に利用されるXCU
Now I would like to migrate my ObjC framework to Swift and I got the following error: include of non-modular header inside framework module 'SOGraphDB' The references is to a header file which just define a protocol and I use this header file in some classes to use this protocol. Is seems related to the module feature but it is at the moment not quite clear how to fix, do you know a solution? UPDA
Xcode上で古いiOS Simulatorが残ったままになっている為、手動で削除する。 ここに古いSimulatorが残っている状態なのを解消する。 Runtimeを削除する /Library/Developer/CoreSimulator/Profiles/Runtimes から、不要なシミュレータのバージョンのディレクトリを削除する。 rmtrash を使っている人はrmをシングルクォートで括って実行しよう。 /Library/Developer/CoreSimulator/Profiles/Runtimes $ sudo 'rm' -rf iOS\ 10.1.simruntime/ /Library/Developer/CoreSimulator/Profiles/Runtimes $ sudo 'rm' -rf iOS\ 10.3.simruntime/ シミュレータ環境の削除
UITest Xcode 7 から UITest という新しい仕組みが導入され、 今までの UI Automation による自動テストより遥かに簡単に UI に関するテストが 簡単に行うことができるようになった。 そこでこの記事では、UITest におけるテストの設計や導入の際に注意する点を挙げる。 なお実際の UITest の書き方やセットアップ方法などは取り上げない。 別プロセスで動く UITest と問題点 UITest は UnitTest とは違い App Target とは別のプロセスで実行される。 そのため、App Target に含まれているファイルにはアクセスできない。 (もちろん UITest 側でコンパイルすれば使えるが…) なので UITest 側でアプリケーション側に影響を与えるコードは原則 UI に関してのみになる。 そこで問題になるのが、例えばボタンを押して
This thread has been locked by a moderator; it no longer accepts new replies. You’re now watching this thread. If you’ve opted in to email or web notifications, you’ll be notified when there’s activity. Click again to stop watching or visit your profile to manage watched threads and notifications. You’ve stopped watching this thread and will no longer receive emails or web notifications when there
「【Swift】WKWebViewでJavaScriptのconsole.logを使えるようにする」への2件のフィードバック Yuhさん 一つ質問ですが、このコードってon_clickなどのイベントによるconsole.logも出力できますでしょうか?? html、javascriptを読み込んだ際に実行されるconsole.logはXcodeのログに出力されたのですが、画面表示後にhtmlのボタン押下などによる契機で動作するconsole.logは表示されないです。。。 もし、解決方法ご存知でしたらご教授いただけないでしょうか? すいません、スパムコメントが多くて気づきませんでした。 原理的には、イベントハンドラでも動作するはずなのですが、ブラウザの内部でconsole.log関数を元に戻してしまっているのかもしれません。 根本的な解決にはなりませんが、イベントハンドラの最初に「var
概要 iOSのUIStackViewを使ってトルツメ(空いた部分を詰めるレイアウト)を行う際に発生したWarningとその対応方法 実装内容 Storyboard上の定義は上記のような形。 Button2をhiddenすることで、Button1とButton3のみの表示にしつつ隙間をつめる。 [LayoutConstraints] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code
はじめに アプリに限らずだと思いますが、開発・ステージング・本番の3環境で制作が進んでいくケースは多いと思います。 ここでは、私がXcodeでプロジェクトを作成する際に設定する内容をまとめたいと思います。 基本的な設定の流れ 初期状態 Xcodeでプロジェクトを新規作成すると、Build ConfingurationはDebugとReleaseの2種類が作られます。 Build Configrationの設定を好みの形に変更する タイトルの通り、Develop/Staging/Releaseの3つで作成します。 [+]を押して「Debug」を複製する形で「Staging」を作成し、「Debug」はダブルクリックで名称を「Develop」に変更します。 最終的に、このようにします。 PROJECT -> Build Settingsの修正 Apple LLVM 9.0 – Preproces
プロビジョニング・プロファイルって何よ? 初学者用に記載しておきます。ご存知の方は読み飛ばしてください。 iOSアプリでは、コード署名とプロビジョニングによって、怪しい「野良アプリ」を配布できないように抑止しています。 少し前の記事になりますが、以下の記事中のイメージ図がわかりやすいと思います。 (参考リンク)iOSアプリのプロビジョニング周りを図にしてみる こちらの記事にある通り、プロビジョニング・プロファイルには「App ID(Bundle ID)」「開発者の証明書」「実機テスト用端末のUDID」が含まれています。 プロビジョニング・プロファイルに、これらの情報が正しく(開発者の想定通りに)設定されていないと、「アプリがビルドできない」「実機にアプリがインストールできない」などのトラブルに見舞われます。 Xcode 9.3時代のプロビジョニング・プロファイルの中身の確認方法 Xcode
[iOS] AutoLayoutの制約付け替えでレイアウトを動的に変える!active/deactiveのお話 こんぬづは、シン・ゴジラの実況ツイート(#シンゴジ実況)にハマっている田中です。 キャスト陣がのっかったツイートをしているのを見るとテンションあがる。 今回はAutoLayoutの制約を動的に付け替えたいというお話。 AutoLayoutの制約を動的に付け替えるとは この記事で言う制約を動的に付け替えるというのは以下のようなレイアウトのお話。 Twitterクライアントアプリのセルのようなものをイメージしてください。 画像が1枚のみだった場合は横幅いっぱいとし、画像が2枚以上だった場合は横幅半分とします。 該当するUIImageViewの親Viewに対するEqual Widthの制約をmultiplierで制御している例です。 NSLayoutConstraintのmultipl
When faced with an iOS crash report from your app, it can be difficult to identify where in the code the error actually occurred. Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 bugsnag-example 0x0000000100099cb4 0x100094000 + 23732 1 bugsnag-example 0x000000010009b250 0x100094000 + 29264 2 bugsnag-example 0x0000000100099328 0x100094000 + 21288 3 bugsnag-exa
マンガZERO(iOS)の開発環境の紹介 マンガZERO(iOS)では環境変数をScheme毎に変えてビルドできるようにしています。 この記事では環境変数を変える理由と実際にConfigファイルを使って環境変数を切り替える手段を紹介します。 社内配布限定のアプリを作りたいなどの要望があった場合、この手法ですぐに対応できるようになるのでオススメです。 マンガZERO(iOS)のSchemeの分け方 以下の3パターンに分けてアプリを生成できるようにしています。 Debug 開発時用。開発者以外は触りません。 Adhoc 社内配布用。新機能の使い心地やユーザビリティなどを確かめる際に使われています。 社内ではFabricのBetaを使用して、配布しています。 Store 公開用。ストアに公開される状態をもつようにしています。 弊社ではiTunes ConnectのTestflightを使用して最
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く