Xcodeで提供されている基本的なコマンドラインツールでiOSアプリをビルドし、AppStoreに提出する方法を記述。 使うコマンドラインツール Xcodeの選択 複数のバージョンのXcodeが入っている場合はxcode-select -s <パス>で使用するバージョンを選択できる。
Xcodeで提供されている基本的なコマンドラインツールでiOSアプリをビルドし、AppStoreに提出する方法を記述。 使うコマンドラインツール Xcodeの選択 複数のバージョンのXcodeが入っている場合はxcode-select -s <パス>で使用するバージョンを選択できる。
コードからAutoLayoutの制約の有効化/無効化を切り替える方法は以下の4つがあります。 UIViewのadd(remove)Constraint(_:) UIViewのadd(remove)Constraints(_:) NSLayoutConstraintのisActive NSLayoutConstraintの(de)activate(_:) この4つの方法の違いを解説します。 UIViewのadd(remove)Constraint(_:) この方法は非推奨です! UIViewのインスタンスメソッドのaddConstraint(_:)とremoveConstraint(_:)を使う方法です。 以下のように使います。 let widthConstraint = aView.widthAnchor.constraint(equalToConstant: 100) aView.add
これは? Firebase Cloud Messaging を使用してプッシュ通知を実装することがあったので、それについてまとめたもの。 前提事項 環境はiOS10以降を想定しており、つまりは UserNotifications Framework を使用します。 また、本項ではサーバーサイドの実装については言及しません。 Apple Push Notification serviceとは? Apple Push Notification service (APNs) は、Appleが提供するプッシュ通知を実現するサービスです。 プッシュ通知を担う登場人物としては 通知を受信する側の アプリ 通知をアプリに送信するサーバーである プロバイダー APNs の大きく3つが存在し、以下のような関係で結ばれています。 受信側と送信側の通知の設定が完了したら、プロバイダーからAPNsに送信のリクエス
How to Create Top/Bottom Rounded Corners for Views and Buttons Simon Ng We are launching a new series of tutorials to answer some of the common questions. The questions can be simple ones from beginners and tough ones that require some works. One of the questions is: I know how to create rounded corners of a view or button. But what if I just want to create a view with top/bottom rounded corners o
将来読み返して「そんなこともありましたねぇ」と思うために書き残しておきます。なお、記事中の日時は日本時間です。 2020年9月16日 2:00に開催されたAppleEventにて、iOS14のリリース日が2020年9月17日だと発表されました。突然の発表に戸惑い、時にはキレるエンジニアたち。どうしてでしょう。 iOS 14のGM版が出てねぇ AppleEventの開始時点ではiOS 14のBeta版は以前から利用可能でしたが、GM版は出ていませんでした。 Beta版でのデバッグも可能ですがやはりBeta版ですので、不具合も発生します。この不具合がBeta版iOSのせいなのか、アプリのせいなのか判断をするのは難しいです。そのため、不具合報告をAppleにフィードバックを送ったりしてGM版の登場を待ちます。そして、GM版が公開されてから、再度がっつりと動作確認・デバッグすることが多いです。 i
目的 画像をキャッシュするための方法がわからず、NSUserDefaultsに保存しまくっていたらメモリ不足でアプリが立ち上がらなくなった。 安全なキャッシュの仕方について調べていると結構勉強になったので、その時のメモをまとめました。基本的にはAlamofireImageリポジトリのREADMEを読めばOK。 https://github.com/Alamofire/AlamofireImage#image-caching NSURLCache iOSデフォルトのキャッシュはこれ。意外と高機能で基本的な使い方であれば十分に役割を果たせる AlamofireImage::ImageCache AlamofireImageによるNSURLCacheの拡張 ダウンロードしてきた画像を加工したもの(後述のImage Filtersを適用した結果の画像)をキャッシュすることもできる。 例えば、プロフ
iOSエンジニアなら、Auto Layoutの制約がうまく設定できず、コンソールにワーニングがぞろぞろと出てくる事態に遭遇したことがあるのではないでしょうか。ずらずら並んだワーニングを読みたくない--そんな気持ちを少しでも軽減できるツール、WTF?(Why The Failure, Auto Layout?)を紹介しようと思います。 どんなツール? Auto Layoutでワーニングログが出てきたときに、制約のコンフリクトを視覚化してくれるツールです。コードはGitHubで公開されています。 ここからは具体例を用いて説明します。 使用例 作りたいレイアウト こんなレイアウトを作りたいと思って、コードでAuto Layouを使いつつ書いたとします。self.viewの上にグレーのview、そのまた上にUILabelを置いたレイアウトです。UILabelは左右中央、横幅はself.viewの0
Spacing to nearest neighbor はこんな感じです。 余白は数字を入れて、濃い赤線でつながれた部分のみに制約が追加されます。 widthなどもこの画面から、チェックを入れると追加できます。 束縛対象を意識する Viewのレイアウトを考える時、それぞれの要素に対して、 x y width height の4つが、一意に決まるようにルールを作ります。これを意識しながら、想像して、制約を追加します 例えば、固定幅100という制約はwidth=100、アスペクト比の制約はwidth = K * height、のように、方程式で表すことができます。 4つの値がわからない、4次方程式の解が定まるには、基本的には4つの制約が必要になりますので、基本的に制約は4つがメンテもしやすくてよいです。 5個以上制約がある場合は、冗長な制約はないか、確認してみてください。冗長な制約があると、矛
※この記事はApple公式の「Debugging View Hierarchies」をベースにして「よくわかるAuto Layout iOSレスポンシブデザインをマスター」を参考にしつつ書いています。ちなみにこの記事執筆時に私が使っているXcodeのバージョンは8.1です。 ビューデバッガーの使いどころ あるviewがどこにくっついているのかわからない時に使うことが多いと思います。「なんでこのviewは隠れてしまっているんだろう」「removeFromSuperView()してこのviewも消えるはずなのになんで残ってるんだろう」などの疑問を感じた時に役に立ちます。 ビューデバッガーの表示 一番簡単なのはアプリ実行中にXcode下部にあるデバッグバーのDebug View Hierarchyボタンをクリックすることです。 もしくはXcodeのメニューバーからDebug > View Deb
2023/01動作確認及び掲載内容の確認が完了しました🎉 手順を画像と共に紹介していますので、参考にしてください 概要 アプリを作るとき「プッシュ通知機能があったらいいな!」と思いませんか?でもどうやったら良いんだろ?と思う方も多いはず!そこで、今回は必要な証明書周りの話を書いてみました^^* この Qiita 記事で必要な証明書類の作成ができます ただしリリース用ではなく開発用の作成手順を書かせていただいています。リリース用も同じような手順でできますのでまずは開発用でチャレンジしてみてください プッシュ通知 ASP サービスには ニフクラ mobile backend を使っています mobile backend を利用してプッシュ通知機能の実装をする場合は以下ドキュメントを参考にしてください Xcode > Swiftはこちら https://mbaas.nifcloud.com/d
はじめに アプリに限らずだと思いますが、開発・ステージング・本番の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
VASILYのiOSエンジニアにこらすです。最近、Swift Evolutionに私の2つ目の提案がマージされました。 今回は、Swiftで型にExtensionを作る特殊な方法について説明します。 今回紹介する方法を使ってExtensionを作ると、名前空間が切り分けられ、コードの読み書きがしやすくなります。 ブログを書くに当たって、この Extension 実装方法を研究しましたが、この手法の正確な名前がわからなかったため、この記事では「Targeted Extensions」と呼ぶことにします。 Extensionについて 通常、 Extensionを書くとき、String なら下記のようになります。 extension String { var count: Int { return characters.count } } "hello".count // 5 Extension
インストール プロセスで失われないディープリンク Dynamic Links は、既存のユーザーと潜在的ユーザーを iOS または Android アプリ内の任意の場所に誘導できるスマートな URL です。アプリのインストール プロセスを挟んでも失われないリンクなので、新規ユーザーが初めてアプリを開いたときも、探していたコンテンツが見つかります。Dynamic Links は規模にかかわらず、ずっと料金なしで使えます。
はじめに 概要 構成 目的 手順 1. idTokenの発行 2. idTokenの検証とcustomTokenの発行 3. customTokenをWKWebViewにセットし、初期化する 4. customTokenでログイン まとめ 参考にしたサイト はじめに ネイティブアプリ開発をしていて、部分的にwebview実装にする場合は多い。一方でその際にセッション共有など、ログイン状態をネイティブアプリとウェブの間で引き継ぐ必要が出てくる場合がある。 webview session share などでググると、そこそこ記事は出てくる↓ qiita.com qiita.com qiita.com しかし、Firebase Authを使ってユーザ認証をしている場合にどうやるのかというのがなかなかなかったので、今回はその部分をやってみた。 手順としては、以下の記事とほぼ同じになる。 stack
Markdown parser for iOS. Contribute to M2Mobi/Marky-Mark development by creating an account on GitHub. Marky Mark is a parser written in Swift that converts markdown into native views. The way it looks it highly customizable and the supported markdown syntax is easy to extend. 100%Swiftで出来てるMarkdown parserのライブラリです。 Marky-Markを選んだ理由以下のMarkdown Parserを触ってみました。
// rootViewControllerに戻る navigationController?.popToViewController(navigationController!.viewControllers[0], animated: true) // または navigationController?.popToRootViewControllerAnimated(true) // rootViewControllerの1つ先のViewControllerに戻る navigationController?.popToViewController(navigationController!.viewControllers[1], animated: true) // rootViewControllerの2つ先のViewControllerに戻る navigationController
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く