Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
iOSのスマホでheight: 100vh;を定義してビューポートの高さいっぱいに表示したいのに、アドレスバーが表示されているとその分下が隠れて表示されてしまい、高さいっぱいにならないのを解決する方法を紹介します。 CSSのみのテクニックで、JavaScriptは必要ありません。 height: 100vh;だけでなく、min-heightやmax-heightでも機能します。 PostCSS 100vh Fix -GitHub PostCSS 100vh Fix 注意点 使い方 PostCSS 100vh Fix PostCSS 100vh Fixは、100vhのiOSの挙動(バグ?)を修正するPostCSSのプラグインです。ピュアCSSのソリューションで、JavaScriptは必要ありません。 高さいっぱいに表示したい時に、height: 100vh;だけを定義してもiOSでは期待通り
あけましておめでとうございます!今年も本ブログをよろしくお願い致しやす🙏 さて、私はプログラミングに関する情報を調べる際、基本的に英語でググるようにしています。理由は単純で、英語のほうが圧倒的に情報量が多いからです。このエントリではいつも私が英語でググる際に使っているキーワードなどをメモしておきます。 実装した機能がうまく動かない場合 〜が表示されない メソッドなどが呼ばれない/実行されない プログラムで〜したい 2つの違いを知りたい 〜かどうかをチェックしたい 〜を検知したい 〜の実装方法を知りたい 〜についての最良の方法を知りたい あわせて読みたい 実装した機能がうまく動かない場合 〜 not work でググります。「動く」だからといって move で検索しても期待した検索結果にはなりません。 さらにOSバージョン等を指定する際は 〜 not work in iOS 12 のように
do { let url = URL(string: "https://www.apple.com")! var encoding = String.Encoding.utf8 let text = try String(contentsOf: url, usedEncoding: &encoding) print("contents: \(text)") } catch { print("error: \(error)") } dnssd_clientstub ConnectToServer: connect()-> No of tries: 1 dnssd_clientstub ConnectToServer: connect()-> No of tries: 2 dnssd_clientstub ConnectToServer: connect()-> No of tries: 3
通信を行うアプリケーションでは、不慮の事態等に備え、タイムアウト処理を実装することが望まれます。特にUIを備えた人間の利用するアプリケーションの場合には、より一層、タイムアウト処理へ気を使う必要があります。 タイムアウト値の選択には、いくつかの異なる視点があります。 例えば、サーバが落ちていたり、サーバまでの経路が切断している場合など、サーバとの接続を確立できない場合は、即座に処理を中断できるよう短いタイムアウトが望まれます。この状況は、待ち時間を長くしても解決できる見込みが少ないためです。 一方、伝送終了までの時間を制限したい場合には、伝送品質や利用回線の状況なども考慮し、先程の例よりも長めのタイムアウト値を設定することが望まれます。この場合、長めの時間を許容することで、通信の終了できる可能性が高まるためです。 iOSやOS XのNSURLRequestでは、初期化時のtimeoutIn
Core AudioのAudioToolbox.Frameworkにはオーディオファイルの読み書きに2通り方法が用意されています。<AudioToolbox/AudioFile.h>での、ほぼ生のデータを直接扱う方法と、<AudioToolbox/ExtendedAudioFile.h>での、オーディオファイルの読み書きにコンバーターを組み合わせてあるものを使う方法です。 圧縮ファイルを扱う場合や、リニアPCMでサンプリング周波数を変換して扱いたい場合には、ExtendedAudioFile.hを使ったほうが楽だと思います。逆にリニアPCMでフォーマットの変換が全く必要ないときには、AudioFile.hのバイトデータでの読み書きを使うとパフォーマンス的に有利かもしれません。 今回は、ExtendedAudioFileの使い方を見ていきたいと思います。まず、読み込みを行うときにはオーディオ
Core Audioにおいて、オーディオデータの状態(リニアPCM等のフォーマットとか、ビットやサンプリングレートとか、チャンネル数とか)を表す構造体がAudioStreamBasicDescriptionです。 struct AudioStreamBasicDescription { Float64 mSampleRate; //サンプリング周波数(1秒間のフレーム数) UInt32 mFormatID; //フォーマットID(リニアPCM、MP3、AACなど) UInt32 mFormatFlags; //フォーマットフラグ(エンディアン、整数or浮動小数点数) UInt32 mBytesPerPacket; //1パケット(データを読み書きする単位)のバイト数 UInt32 mFramesPerPacket; //1パケットのフレーム数 UInt32 mBytesPerFr
TMPTaskCompletionManagerの公開に伴い、task completionについてまとめてみます。 task completion は iOS4 で導入されたマルチタスク処理方式の一つです。アプリがバックグラウンドモードへ入った後も、実行中の処理を継続したいときに使います。実行可能時間は、iOS6までは最長10分間。iOS7では最長3分間へ短縮されました。 バックグラウンドでの実行要求は、 - [UIApplication beginBackgroundTaskWithExpirationHandler:] で行います。要求は何度でも可能です。 処理が終了したなど、バックグラウンドでの実行が不要になった場合には、 - [UIApplication endBackgroundTask:] を呼び出さなければなりません。このメソッドを呼び出すか、規定時間が経過した場合、アプリ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに アプリで大きなサイズの動画や画像をアップロードしようとする時、ユーザを待たせないためにアプリが動作していないときでもアップロードできるようにしたいという要望が必ず上がる。そういうとき、NSURLSessionによるBackground Transferを使ってアプリが動作していないときでもコンテンツをアップロードする方法について行き着くと思うが、何から調べたら良いのかということや、iOS4からあるバックグラウンド要求について、Background fetchなどと紛らわしいという事があったのでそれを整理しておく。結局、実装は出
UIButtonに角丸とか枠線とか付けたいことがちょくちょくある。 でもIBで普通にボタンを置いても設定できない。 コード上で設定はできるけど、見た目の問題なのでIBでやりたい。 @IBDesignable / @IBInspectable @IBDesignableと@IBInspectableを使えば実現できる! @IBDesignable クラスに付ける(UIViewのサブクラス) IBでリアルタイムでプロパティが反映されるようになる @IBInspectable プロパティに付ける IBで設定できるようになる 以下サンプルコード @IBDesignable class CustomButton: UIButton { // 角丸の半径(0で四角形) @IBInspectable var cornerRadius: CGFloat = 0.0 // 枠 @IBInspectable
iOSより、MFMailComposeViewControllerを利用せずに裏の処理でメールを送信するため、以下の二通りを試した。 PARSE+Mailgun AMAZON SES ここでは、AMAZON SESについて記載します。とりあえず簡単に。 (参考:Sending E-mail with Amazon SES Using the AWS SDK for iOS and the AWS SDK for Android) 1. amazon web serviceのアカウントを作成する amazon web serviceよりアカウントの作成を行います。 2.IAMの設定を行う。 IAMからユーザー登録をします。ユーザーには、AWSで利用できるパーミッションを設定できます。ここでは、"AmazonSESFullAccess"を指定します。 Access key IDと、Secret
※当ブログではアフィリエイト広告を利用しています。 Amazon Web Serviceのサービスの一つにAmazon SES(Simple Email Service)という大規模メール配信用サービスがあります。 SMTPを使ったメール送信の他に、多くのプログラミング言語用に用意されているSDKを使ってのメール送信が可能とのことなのでiOS用のSDKを使ってiPhoneからメール送信してみました。その方法をまとめます。 Amazon SESとは Amazonが提供するメール配信用のクラウドサービスです。Eメールを1,000通当たり$0.10と転送量による課金だけで安価に大量に送信することができます。 公式サイトによる説明は以下の通りです。 Amazon Simple Email Service(Amazon SES)は、企業や開発者のための、非常に拡張性が高くコスト効率の良いトランザクシ
2017年12月2日深夜0時より、一部のiPhoneユーザーの間で、突然iPhoneが再起動を繰り返す症状が発生しています。 iPhoneの操作中に突然、黒い画面に読み込み中のぐるぐるマークが表示された画面になり、ロック画面(パスコード入力画面)に戻されてしまいます。これが数十秒~数分ごとに発生し、再起動が無限ループします。 【追記】12月26日現在も引き続き、突然この問題が発生するユーザー増え続けています。 参考:深夜0時頃から/朝起きたら「iPhoneが何回も落ちる・ロック画面に戻される」場合の対処法について この不具合をわざと発生させて検証を行い、通知機能周りに原因があることを特定しました。 本記事では、検証に基づくおすすめの対策手順を紹介します。 目次 1. 突然iPhoneが再起動を繰り返すように2. 原因の調査(2017年12月2日深夜0時10分頃開始)2.1. 原因について(
SVProgressHUD 有名どころですね。コード自体はObjective-Cで書かれてるみたいです。 Swift3.0に対応してます。 Installation CocoaPods Carthage もちろんドラッグアンドドロップでも出来ます Usage ロード開始 SVProgressHUD.show() パラメータにimageとかstatus(string)を入れられる 終了 SVProgressHUD.dismiss() パラメータにtimeIntervalを設定できる MBProgressHUD こちらも有名だと思います。コードもObjective-Cで書かれてるみたいです。 Swift3.0に対応してます。 Installation CocoaPods Carthage 同じくドラッグアンドドロップでも出来ます Usage ロード開始 * HUDに対してimageとかstat
(こちらのサンプルに関して) ※1 UIの見た目や動き方に関しては 「以前の記事で紹介させて頂きましたサンプルと同じもの」 になります。 ※2 こちらのサンプルはPullRequestやIssue等はお気軽にどうぞ! ※3 まだまだSwift3.0の書き方が甘い部分も多々あるかと思いますがその際もご指摘をお待ちしております。 (Swift3へ書き直しの際の参考資料) 今回のサンプルはSwift3.0で以前のサンプルを書き直した形でレイアウトは特にそのままです。(純粋にコードだけを直した感じです) SwiftでContainerViewとStoryboardをフル活用して複雑なUIを実現する際の実装ポイントまとめ [iOS][Swift]Swift 3.0の変更点まとめ [Swift 3.0]標準ライブラリがAPIガイドラインに適用された話 2. Swift3.0とSwift2.2での実装の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く