タグ

iOSに関するsuginoyのブックマーク (446)

  • iOSアプリの画像ライブラリ、NukeのWebP対応版を本家からForkして公開しました | Nagisaのすゝめ

    2018年1月16日 iOSアプリの画像ライブラリ、NukeのWebP対応版を家からForkして公開しました 2018/01/19 更新 この記事で紹介しているNuke+WebPをdeprecateして、plugin形式にした Nuke-WebP-Pluginを作成しました。 詳しくはこちらをご覧ください。 はじめに iOSエンジニアの小菅です。 今回の記事は、去年末くらいから名前を聞くようになったNukeをForkして、WebPのデコード処理を組み込んだモノを開発して公開したので、それの紹介と作業手順などを書いていきます。 余談ですが、Nuke[ニューク]の意味を調べたら核兵器って意味らしいです。 Nukeと作ったものの紹介 先にNukeの紹介と作ったもののインストール方法を紹介します。 家のNukeのレポジトリ 今回、家がWebP対応をする予定がないとのことだったので、Forkし

    iOSアプリの画像ライブラリ、NukeのWebP対応版を本家からForkして公開しました | Nagisaのすゝめ
    suginoy
    suginoy 2018/01/16
  • Optional(2018)年あけましておめでとうございます - Money Forward Developers Blog

    iOS エンジニアの西信です。 新年早々、大変お騒がせしております。申し訳ありませんの一点に尽きます。 yuga panda on Twitter: "おっ、null安全だ https://t.co/RFta3RFXxu" マジレスすると『Optional(2018)年』を恐れる必要はない - Qiita はてブや、Twitterなどで大きく話題にしていただいたので、この機会に、恥は承知の上で、なぜこんなことが起きてしまったのか、筆をとらせていただくことにしました。 この問題は昨日 (2018年1月4日) リリースしました、バージョン 9.1 にて修正済みです。iOS のみで発生していました。 蛇足ですが、当バージョンから、ホーム画面が新しくなり、カードの引き落とし額決定や、使い過ぎなどをお知らせする『MY通知』がさらに便利になりましたので、ぜひお試しください。 さて、今回の起因となったの

    Optional(2018)年あけましておめでとうございます - Money Forward Developers Blog
    suginoy
    suginoy 2018/01/06
  • Xcode Cloud - Apple Developer

    Xcode Cloud Xcode Cloud is a continuous integration and delivery service built into Xcode and designed expressly for Apple developers. It accelerates the development and delivery of high-quality apps by bringing together cloud-based tools that help you build apps, run automated tests in parallel, deliver apps to testers, and view and manage user feedback. Automated workflows Configure workflows to

    Xcode Cloud - Apple Developer
    suginoy
    suginoy 2018/01/03
  • iOS用のCIサービスBitriseを使ってみた - Qiita

    Qiitaの記事で見かけたBitriseを使ってみたところ、とても良いサービスで応援したくなったので紹介記事を書いてみました。 Bitriseの特徴 iOS用のCIサービス 「Bitrise - iOS Continuous Integration and Delivery」と謳っていて、iOSをメインターゲットにしているようです。iOSの面倒なビルド周り(Provisioning Profileや秘密鍵等)の設定も簡単でした。また、Beta版のXcodeにもそれなりに追従しているようです。(2015/09/05にXcode7 beta6へ対応) GitHub以外にも対応 個人的にはBitBucketのプライベートリポジトリで使えるのが嬉しいです。(ストアで公開している個人アプリのソースをここで管理しているので) GUI設定 WorkflowというGUIの設定画面で設定していきます。Wor

    iOS用のCIサービスBitriseを使ってみた - Qiita
    suginoy
    suginoy 2017/12/26
  • iOSアプリ新規開発のノウハウ - NSBlogger

    今年でAdvent Calendarに参加するのは3年目。 2015年: iOSアプリ開発におけるイースターエッグのすすめ - NSBlogger 2016年: iOSアプリエンジニアのための面接質問集100選 - NSBlogger 今年は新規アプリ開発についてです。 iOSアプリの新規開発 仕事で何度か新規でiOSアプリを開発することがありました。チームやそのときの状況に応じて柔軟に対応するのがベストですが、その中でもやっておいてよかったなぁと感じたことについて紹介します。 iOSアプリの開発以外でも応用できる内容かも。 CIははやめに CIの構築は初期段階で行っておくと、以下のようなメリットがあります。 ビルド時間が早いのでCI構築時のサイクルがはやい 何か問題が起きた場合、CIの設定まわりが怪しいといえる その後の開発サイクルがスムーズになる 最低限のプロジェクトの設定をしたら、ま

    iOSアプリ新規開発のノウハウ - NSBlogger
    suginoy
    suginoy 2017/12/14
  • どうしてその機能/仕様はSwiftにないのか - Qiita

    この記事は Swift Advent Calendar 2017 の 3 日目の記事です。 記事では、よく提案されるけれど採用されなかった仕様とその理由、そして、そこから読み取れる Swift の設計方針を紹介します。 主なソースはapple/swift-evolution 内の Commonly Rejected Changes とswift-evolution のメーリングリストのログです。 リジェクトされた提案 Array の範囲外にアクセスした際に nil を返す 前提 Swift では配列(Array)の範囲外に添え字でアクセスすると実行時エラーになります。 リジェクト理由 理由は 2 点挙げられています。 1. 範囲外アクセスはロジックエラーである 「subscript は入力に前提条件があり、それが満たされていない場合の回復処理を動的にさせるべきではない」という考えのようで

    どうしてその機能/仕様はSwiftにないのか - Qiita
    suginoy
    suginoy 2017/12/04
    “”簡潔さ” が目的ではなく、”表現力” を目的とする”
  • iOSアプリに導入したプロトコル指向なAPI抽象レイヤーの設計 - ZOZO TECH BLOG

    iOSアプリエンジニアの@hiragramです。VASILYにジョインしてだいたい3か月経ちました。 今回は、僕がジョインしたプロジェクトに導入した、APIリクエストの抽象レイヤーの設計について紹介します。また、記事の最後にこの抽象レイヤーのコードをフレームワークとして切り出したもののリンクがありますので、興味がある方は見てみてください。 課題と方針 当プロジェクトでは、リアクティブフレームワークにRxSwift、通信ライブラリにAPIKit、JSONマッパーにHimotokiを採用しています。 従来のアプリの実装には、 ViewModelが直接APIKitをインポートして通信しており、通信のトリガーやレスポンスの処理が画面によってバラバラ APIが取得対象のリソースを常にresultsというキーに配列で返すようになっており、必ず1個しか返さないAPIのレスポンスもresults.firs

    iOSアプリに導入したプロトコル指向なAPI抽象レイヤーの設計 - ZOZO TECH BLOG
    suginoy
    suginoy 2017/11/13
  • Configuring Web Applications

    Configuring Web ApplicationsA web application is designed to look and behave in a way similar to a native application—for example, it is scaled to fit the entire screen on iOS. You can tailor your web application for Safari on iOS even further, by making it appear like a native application when the user adds it to the Home screen. You do this by using settings for iOS that are ignored by other pla

    suginoy
    suginoy 2017/10/20
  • apple-touch-icon.png をサイトに設定する意味のまとめ

    サーバ上の過去の不要なファイルをお掃除したので、久々にアクセスログで 404 の解析をしていたら、案の定消しすぎていたファイルの他に、見慣れないログを見かけました。 "GET /apple-touch-icon-114x114-precomposed.png HTTP/1.1" 404 962 "-" "MobileSafari/6533.18.5 CFNetwork/485.13.9 Darwin/11.0.0" "GET /apple-touch-icon-114x114.png HTTP/1.1" 404 962 "-" "MobileSafari/6533.18.5 CFNetwork/485.13.9 Darwin/11.0.0" "GET /apple-touch-icon-precomposed.png HTTP/1.1" 404 962 "-" "MobileSafari/

  • iOSの偽ダイアログを出してパスワードを盗み取るフィッシングが存在、騙されないための対策はコレ

    iPhoneなどの画面に時おり現れる「パスワードを入力してください」というダイアログが、実は非常に簡単な手口によって第三者が模倣できることが専門家の調査で明らかになっています。この方法が悪用されるとユーザーのiCloudのパスワードがいとも簡単に盗み取られてしまう危険性が高いのですが、同時に単純な方法で偽のダイアログであることを見抜く方法も明らかにされています。 iOS Privacy: steal.password - Easily get the user's Apple ID password, just by asking — Felix Krause https://krausefx.com/blog/ios-privacy-stealpassword-easily-get-the-users-apple-id-password-just-by-asking Watch Out!

    iOSの偽ダイアログを出してパスワードを盗み取るフィッシングが存在、騙されないための対策はコレ
    suginoy
    suginoy 2017/10/11
    これは怖いな。
  • [JavaScript] iOSでdocumentに張ったclickイベントが発火しない - Qiita

    $(document).on('click', '#target', function(){...});

    [JavaScript] iOSでdocumentに張ったclickイベントが発火しない - Qiita
  • iOS で click イベントがわけのわからない動作をする件について - Qiita

    iPhoneiPad などでも、 JavaScript の click イベントは基的に有効です。 しかし、これらのデバイスで click イベントを拾おうとすると、うまくいかないことがあります。 このあたり、結構わけのわからない仕様になっているので、順を追って説明します。 なお、以下の説明では jQuery 1.9以上の使用を前提としています。 どういうときにうまくいかないか とりあえず、以下のHTMLを前提とします。 ... <body> <p id="child1">...</p> <p id="child2">...</p> </body> ...

    iOS で click イベントがわけのわからない動作をする件について - Qiita
    suginoy
    suginoy 2017/10/02
    "CSSで cursor: pointer を指定することで JavaScript の動作が変わる"
  • iOS 11に別れを告げられた悲しき32bitアプリたち

    「iOS 11」は9月20日の水曜日に公開されましたが、アップデートは週末にするという方が多いと思います。バックアップなどに時間がかかるものなので。 それを差し引いても、iOS 11へのアップデートの初速が、前回の「iOS 10」へのアップデートより(少なくとも米国では)遅いと、米MacRumorsが米Mixpanelのデータに基いて報告しました。 公開から24時間後の時点で最新OSにアップデートされたデバイスは、iOS 10のときは解析対象全体の14.45%だったのに対し、iOS 11では10.01%でした。iOS 8とiOS 9は同じ12.60%だったそうです。 かつてのiOS 10文鎮化問題を覚えていたユーザーが慎重になったからじゃないかとも思いますが、iOS 11にアップデートすると32bitアプリが使えなくなることの影響も大きいかもしれません。 Appleは、2015年2月1日以

    iOS 11に別れを告げられた悲しき32bitアプリたち
    suginoy
    suginoy 2017/09/24
    “講談社の「スティーブ・ジョブズ」の電子書籍版がiOSアプリとして出ていて、上下巻で4000円したのにiOS 11では読めなくなります。”
  • SwiftでiOSアプリをリリースしたので利用したお勧めライブラリ・Webサービスのまとめ

    最近、Voicepaper2という音声読み上げアプリをリリースしたんだけど、一つのアプリをリリースするまで意外といろんなライブラリ、Webサービスなどを使いまくっている。 僕自身、他の人はアプリをリリースするまでどんなツールやサービス使ってるか参考にしたいと思ってきたので、まずは自分が使っていて便利なものを全部紹介してみる。 まず、今回はSwift3でスクラッチから開発したので、Swiftの新しい便利ライブラリをガンガン使えてめちゃ開発が捗った。さらにSwift自体もobj-cよりはるかに簡潔なコードが書けるので視認性がよくなるし、なにより書いてて気持ち良いのでほんとよかった。 Swift出た時は、「おいおい、勘弁してくれよ。もうobj-cで別にいいのに、ライブラリとか分裂するからメンドくさいよ。」と思ってたんだが、今では、「Swift最高、アップルさんGJ。ライブラリも、swiftで検索

    SwiftでiOSアプリをリリースしたので利用したお勧めライブラリ・Webサービスのまとめ
    suginoy
    suginoy 2017/09/23
  • format-detectionのtelephone,email,address=noの使い方

    format-detectionについて 下記のようにmetaタグにname="format-detection"とcontent属性のtelephone,email,addressなどにnoを指定することで自動リンクを無効にすることができるようになる。 <meta name="format-detection" content="telephone=no, email=no, address=no"> なぜ無効化が必要なのか telephone,email,addressはそれぞれ電話番号、メールアドレス、住所のことだが例えばサイト内に何らかの顧客番号などの記載があり、それが電話番号のフォーマットと同じ場合は(iOSだと)電話番号のリンクに自動変換されてしまうため、そのような事態を防ぐために指定される。 iOSとAndroidの違い 下図のようにiOSとAndroidではリンクに自動変換

    format-detectionのtelephone,email,address=noの使い方
    suginoy
    suginoy 2017/09/16
    iOSとAndroidで真逆の動作するのか...。
  • iTunes v12.7では「App Store」が削除され「App」や「着信音」は今後iOSデバイスでの管理へ。

    AppleiTunes v12.7で「App」や「着信音」の管理画面を削除し、今後はiOSデバイスで管理するように通知しています。詳細は以下から。 Appleは先程、iOS 11デバイスとの同期をサポートした「iTunes v12.7」をリリースしましたが、同バージョンではiTunes Uがポッドキャストへ移動した他、Build-in「App Store」および「App」、「着信音」の管理画面が削除されているそうです。 Apps can now only be downloaded on an iOS device using an iOS device, and the same goes for ringtones. In addition to the removal of the App Store, today’s update adds support for syncing

    iTunes v12.7では「App Store」が削除され「App」や「着信音」は今後iOSデバイスでの管理へ。
  • タブレット版アプリ(ヤフオク! for iPad、ヤフオク! for Tablet)提供終了のご案内 -お知らせ - ヤフオク!

    いつもヤフオク!をご利用いただき、誠にありがとうございます。 タブレット版ヤフオク!アプリ(ヤフオク! for iPad、ヤフオク! for Tablet)は、苦渋の決断ではございますが、2017年6月26日(月)をもちまして、提供を終了させていただくことといたしました。 長らくご愛用いただいた皆様には、心よりお礼を申し上げるとともに、多大なるご迷惑をおかけしますことを、深くおわび申しあげます。 ■終了予定日 2017年6月26日(月) ■内容 ・AppStoreおよびGoogle Playからのダウンロードができなくなります。 ・タブレット版ヤフオク!アプリのすべてのサービス、機能が利用できなくなります。 今後は、 iPadAndroidタブレットのブラウザ や スマートフォン版ヤフオク!アプリ(iOS / Android) より、引き続きヤフオク!サービスをご利用いただければ幸いです

    タブレット版アプリ(ヤフオク! for iPad、ヤフオク! for Tablet)提供終了のご案内 -お知らせ - ヤフオク!
    suginoy
    suginoy 2017/09/01
    タブレット市場の縮小か。
  • リジェクト後の審査再提出時にアプリ内課金アイテムを追加してはならない。絶対に。 - らっこのじゆうちょう

    結論から書くと、アプリ内課金入りのアプリをリジェクトされた後で、追加のアプリ内課金を設定して再審査に提出しようとすると、 「審査提出」ボタンを押した後、広告IDのチェックボックスを記入して「送信」ボタンを押した段階で App 情報を保存できませんでした。もう一度やり直してください。問題が解決しない場合はご連絡ください。 というメッセージが出て、何度やっても審査提出できなくなります。 このメッセージだけではアプリ内課金アイテムの追加が原因であるとは分からなかったので、英語版のエラーメッセージで検索をかけてみると、 ブラウザを変えてみる ビルドナンバーを変えてアップし直す Bundle Nameから2バイト文字をなくす 復旧までしばらく待つ といった情報が多く出てきますが、今回の場合はこれらは解決策になりません。 また、Appleのコンタクトフォームに連絡をしても、まずは Safariの履歴と

    リジェクト後の審査再提出時にアプリ内課金アイテムを追加してはならない。絶対に。 - らっこのじゆうちょう
    suginoy
    suginoy 2017/08/25
  • アプリの動向と考察 9

    AppStoreの方針が変わり、同じ系統のアプリは1つにまとめるように指導されたという報告を見かけるようになってきました。 すでに一化の動きは各所で見られており、CamScannerは有料版を取り下げて無料版への移行を促しています。 Apple社のポリシー変更によりアプリは各1種類のみApp Storeへ出品可能となりました。Camscanner有料版は今後出品を取り下げます。 登録後このページにてアカウントを有料版にアップグレードしてください。無料で使用できます。 Camscanner アップグレード これまで有料版と無料版で別々に提供されていたものが単一のアプリで提供されるようになれば、開発者としてもアップデート作業が1回で済むというメリットはあります。 またゲームのシリーズ展開についても、1つのアプリに統合しなければいけないという指導が入った報告があります。 同じフレームワークのア

    アプリの動向と考察 9
    suginoy
    suginoy 2017/08/09
  • iPhoneで睡眠管理! 「ベッドタイム」を活用しよう

    初心者向けにiPhoneのTipsを紹介する連載「iPhone Tips」。今回のテーマは「ベッドタイムで睡眠管理をする方法」です。時計アプリの機能の1つに、iOS 10からiPhoneに加わった「ベッドタイム」という機能があるのをご存じでしょうか。 初心者向けにiPhoneのTipsを紹介する連載「iPhone Tips」。今回のテーマは「ベッドタイムで睡眠管理をする方法」です。 iPhoneを目覚まし時計代わりに使っている人も多いと思います。ですが、時計アプリの機能の1つに、iOS 10からiPhoneに加わった「ベッドタイム」という機能があるのをご存じでしょうか。 ただアラームを鳴らすだけでなく、時計と解析機能を使って、睡眠時間や就寝・起床時間を自動で記録してくれる優れた機能です。アラームだけでなく、就寝時間が近くなると、リマインダーをポップアップで表示して、「そろそろ寝る準備を」と

    iPhoneで睡眠管理! 「ベッドタイム」を活用しよう
    suginoy
    suginoy 2017/07/31