タグ

ブックマーク / qiita.com/mono0926 (25)

  • iOS 9の新しいWebビュー: SFSafariViewController - Qiita

    【追記】SFSafariViewControllerが出た当初は記事のようにほぼカスタマイズ性が無かったですが、元々のコンセプトはブレない範囲で少しずつカスタマイズ性が提供されています。 こちらなどご覧ください: What's New in Safari View Controller - WWDC 2017 - Videos - Apple Developer 以下、iOS 9 SDK時点での SFSafariViewController についてです。 UIWebView・iOS 8で追加されたWKWebViewに加えて、iOS 9ではSFSafariViewController というものが追加されました。 手軽なAPIなので、今作っているPlayer!にもちょちょいと組み込めそうです( ´・‿・`) ※ 記事は Apple による公開ドキュメントを元に構成しています SFSaf

    iOS 9の新しいWebビュー: SFSafariViewController - Qiita
    g08m11
    g08m11 2017/08/04
  • Apple App Storeへのレビューに対して返信できるようになりました🎉 - Qiita

    タイトル通りで、詳しくはこちらのApple公式ドキュメントに載っています: Monitoring Reviews on the App Store Responding to Reviews on the App Store - Apple Developer Ratings, Reviews, and Responses - App Store - Apple Developer 少し前からプレリリース版のドキュメントとして公開されていましたが、今朝のiOS 10.3リリースのタイミングで、iTunes Connect上で実際に操作できるようになり、かつドキュメントも正式版になりました。 ちなみに、リリース日は25日にTweetした予想が当たりました( ´・‿・`) iOS 10.3は3/28に正式リリースな気がする👃 — 🐶ブレス オブ ザ イッヌ🐶 (@_mono) March

    Apple App Storeへのレビューに対して返信できるようになりました🎉 - Qiita
    g08m11
    g08m11 2017/03/28
  • SwiftのString(文字列) APIとの付き合い方 - Qiita

    これは Swift Tweets の発表をまとめたものです。イベントのスポンサーとして Qiita に許可をいただいた上で、このような形(ツイートの引用)で投稿しています。 以下の内容は熟考した上での自分なりの見解でありますが、公式に記載されていないものが多く含まれています。もし誤りなど見つけたら指摘していただけると助かります。 それでは、「SwiftのString(文字列) APIとの付き合い方」の発表を始めます。 https://swift-tweets.github.io の発表概要に記載した通り、そこに挙げている3つの記事は理解済みの前提とします(そうでなくとも分かる話も多いと思いますが)。 #swtws — @_mono まずSwiftの文字列処理をコード例を交えながら見ていきます。SwiftのStringはCharacter・Unicode Scalar・UTF-16・UTF-

    SwiftのString(文字列) APIとの付き合い方 - Qiita
    g08m11
    g08m11 2017/01/15
  • 【翻訳】国際化対応のためのデザイン - 世界中のユーザーにより良いプロダクトを - Qiita

    Design for internationalization – Dropbox Design – Mediumの記事が素晴らしかったので、John Saitoさんに許可をいただいて日語訳しました。 あなたが初めて新しいアプリを試すときを想像してください。そのアプリはTwitter上などで評判を集めている、素晴らしいものだとします。 アプリを立ち上げて、こちらの画面を目にしました: うーん、ちょっと変ですね。画面上部に動画エリアがありますが、キャプションが理解できない言語で書いてあります。また、右下のボタンがはみ出ています。これを見て、良いアプリだと思えるでしょうか? このアプリは元々エルフ語で組まれていて、それからあなたの言語に翻訳されたのです。ほとんどはエルフ語ユーザーで、彼らはあなたの言語でこのように崩れた表示になっていることを把握してませんでした。 信じられないかもしれませんが

    【翻訳】国際化対応のためのデザイン - 世界中のユーザーにより良いプロダクトを - Qiita
    g08m11
    g08m11 2017/01/09
  • Swiftのつらみ Q&A - Qiita

    Swiftの激しい変更への追従がつらいという意見をちょくちょく目にします。 確かにSwift 1正式リリースから2年経ったSwift 3でかなりの変更が盛り込まれて、その対応が大変というのは分かるものの、それはSwiftを利用する上での必要なコストであると感じつつ付き合っていました。 Swift 3まではこの辛さは妥当、そしてそれ以降はその辛さも激減する、と思っています。 以下、何か思うことがあれば随時追記していくかもです。 「Swift 3 対応つらい」 Swift 3で、言語仕様の安定度的にはようやく所謂1.0レベルという印象 何となく空気読んだり、これまでの変更の激しさ、Swift Evolutionリポジトリなど追うと、言語として今どのくらいのフェーズか把握出来るものの、一応1.0として正式リリースされて、さらに2年経った今でも変更追従コストが大きいことに不満生じるのは分かる Sw

    Swiftのつらみ Q&A - Qiita
    g08m11
    g08m11 2016/11/23
  • iOSアプリの国際化対応の勘所とTips集(Swift版) - Qiita

    今まで国際化は気をつけながらやってきたので、ある程度ノウハウはあったと思っていましたが、String Localization · objc.ioを読んだらちらほら知らないこともあったりしたので、これまでのノウハウ + それを参考に最近、今開発中のPlayer!に実際に適用しつつ改善したことについてまとめます。 特に前半は、iOS以外の他のプラットフォームでも共通のことでけっこう有用だと思います。 ちょくちょく参考リンクも貼っているので、この記事 + それらだけ見ればiOSアプリの国際化については網羅出来るくらいの作りにしてますヽ(・ω・`) 「絶対に日語版以外出さない」というアプリ以外は、初めから国際化対応しておくべき 「国際化対応しておく」というのは英語対応をする、という意味では無く、文言をコードに直書きせずに国際化リソースとして分離しておく、という意味です。 開発リソースの余裕が無

    iOSアプリの国際化対応の勘所とTips集(Swift版) - Qiita
    g08m11
    g08m11 2016/11/09
  • iOS 10が正式リリースされた今、そろそろ既存アプリのiOS 8サポートは切っても良いだろうかという考察 - Qiita

    iOS 10が正式リリースされた今、そろそろ既存アプリのiOS 8サポートは切っても良いだろうかという考察iPhoneiOSSwiftiOS8ios10 ご存じの通り、iOS 10が2016年9月13日(日時間14日早朝)に正式リリースされました iOS 8は2年前の2014年9月17日正式リリースでしたが、現在iOS 8.0以上をサポート対象として開発中のJOIN US iOS版アプリにおいて、そろそろそのサポートを切っても良いのでは?と考えました。 以下、iOS 8.0以上をサポートしている既存アプリを、iOS 9.0以上サポートに変更しても良いだろうか、という視点中心に古いiOSバージョンを切り捨てることの考察をしていきます。 (その他のバージョン間にも通じる話が多いはずなので、その場合適当に読み替え・解釈お願いします。) iOSのバージョンごとのシェア 2016年9月12日時点で

    iOS 10が正式リリースされた今、そろそろ既存アプリのiOS 8サポートは切っても良いだろうかという考察 - Qiita
    g08m11
    g08m11 2016/09/16
  • iTunesConnectでのアプリスクリーンショットの簡易提出が可能になりました🎉 - Qiita

    日から、iTunesConnectでのアプリスクリーンショットの簡易提出が可能になりました🎉 Simplified Screenshot Submission Process - News and Updates - Apple Developer 説明動画はこちらです: What's New in iTunes Connect - WWDC 2016 - Videos - Apple Developer http://qiita.com/nerd0geek1/items/a0e67e794670d8c79492#screenshot-simplification でも紹介されていますが、要点は、 iPhoneiPadそれぞれの最大サイズのスクリーンショットをアップロードするだけで、自動で小さいサイズ用にリサイズ表示してくれる Other Sizesから、他のサイズのスクリーンショッ

    iTunesConnectでのアプリスクリーンショットの簡易提出が可能になりました🎉 - Qiita
    g08m11
    g08m11 2016/08/09
  • iOS 10などで使えるようになるUserNotificationsフレームワークへの所感 - Qiita

    10分間のLTの割に盛り込みすぎて予定通り、全て話し切れ無かったので、フォローアップ記事です。 スライド31ページ目まででUserNotificationsをほぼ網羅的に紹介してそこで時間切れでしたが、32ページ目から実際にプロダクト上で実装するにあたっての検討事項や悩ましいところについて用意していました。 そのあたりについてざっと記事にします。 (今回はあえて口頭の説明込みじゃないと分かりにくいかな、みたいなスライドにしているので31ページまでも記事化したいなと思いつつけっこう大変なので迷い中です🤔) では、以下32ページ目以降の内容を記事化したものです: iOSバージョン差異による実装の複雑化 2016年5月9日時点でのiOSバージョンのシェアはこのようになっています。 (最新のデータはこちら参照: App Store - Support - Apple Developer) 直感的

    iOS 10などで使えるようになるUserNotificationsフレームワークへの所感 - Qiita
    g08m11
    g08m11 2016/07/01
  • Xcode 7のPlaygroundで出来ることまとめ - Qiita

    Xcode 7のPlaygroundでちょっとしたコードを試せるのはかなり知られていると思いますが、その便利機能の全貌を把握している人は少ないのでは無いでしょうか。 僕はたまにすごく使いこなしている例を見つつそのやり方が分からないものがちょくちょくあるという状態だったので、改めて調べてみました。 公式ドキュメント: About Playgrounds 構成把握 作成直後は色々折りたたまれてシンプルなエディタ状態ですが、諸々展開すると普通のXcodeでのiOSアプリ開発ぽい感じになります。 デフォルトではコードの右に、評価された値が表示されますが、さらに下の出力エリアにprintやNSLogの出力が表示されます。 .playgroundはフォルダになっていて、中身を見ると上記のソースに当たる部分がContents.swiftで、他はプロジェクトファイル系ですね。 デフォルトでは、コードの実行

    Xcode 7のPlaygroundで出来ることまとめ - Qiita
    g08m11
    g08m11 2016/06/29
  • iOSアプリのリリース管理術 - Qiita

    主に今年学んだリリース周りの諸々の取り組み方やTipsについてご紹介します。 (体系だった感じでは無いですし、網羅性には欠けると思います) CI環境 fastlane + CircleCIで行っています。 去年まではJenkins使っていました(違う職場ですが)が、Travis CI上でビルド・配布のシェルスクリプトを実行するようになり、現在はfastlaneを使うようになった、という変遷があります。 TravisとCircleCIはiOSアプリビルドに関しては、大差無いですが、CircleCIの方がXcode 6.3対応が早かったので乗り換えました。 しかし、Xcode 7 betaはTravisの方が早くて、うーんという感じです。 fastlane使っていると、CI環境の設定ファイル(ymlファイルなど)がかなり薄くなるので、CI環境乗換簡単ではあるのですが、CircleCIもわりと早

    iOSアプリのリリース管理術 - Qiita
    g08m11
    g08m11 2016/03/08
  • shenzhenのipaよりビルド時間が3割速いというfastlane/gymがリリースされたので導入したら、ビルド時間が4分も短縮した - Qiita

    shenzhenのipaよりビルド時間が3割速いというfastlane/gymがリリースされたので導入したら、ビルド時間が4分も短縮したXcodeiOSCI自動化fastlane イケメンで有名なfastlane作者のKrauseFxさんが、最近gymというfastlaneツール群の新作ビルドツールを作っている模様で注目していましたが、昨夜ファーストリリースされました。 Release 0.1.0 Initial Release · fastlane/gym Release 1.16.0 Added gym · KrauseFx/fastlane Announcing ‘gym’: Building your iOS apps has never been easier 💪 https://t.co/9uCnusbUX0 pic.twitter.com/M9xIsjd3yg — Feli

    shenzhenのipaよりビルド時間が3割速いというfastlane/gymがリリースされたので導入したら、ビルド時間が4分も短縮した - Qiita
    g08m11
    g08m11 2016/03/08
  • 「手と目で覚える正規表現入門」連載の実践をSwift Playgroundで始めました - Qiita

    今朝、こんな素晴らしい記事が投稿されました Qiitaに正規表現の入門記事を書きました - give IT a try 初心者歓迎!手と目で覚える正規表現入門・その1「さまざまな形式の電話番号を検索しよう」 - Qiita 正規表現まともに勉強したことがなくて、スムーズに読み書き出来ずコンプレックスがあり克服したいと思っていたところグッドタイミングで、連載と同時にSwiftのPlaygroundで書きながら勉強していくことにしました。 https://github.com/mono0926/RegexPractice これまでの学習録 初心者歓迎!手と目で覚える正規表現入門・その1「さまざまな形式の電話番号を検索しよう」 - Qiita https://github.com/mono0926/RegexPractice/issues/1 初心者歓迎!手と目で覚える正規表現入門・その2「微妙

    「手と目で覚える正規表現入門」連載の実践をSwift Playgroundで始めました - Qiita
    g08m11
    g08m11 2016/02/05
  • 今年読んだSwift関連の良記事7選 - Qiita

    Advent Calendarに空きがあって完走の危機だったので、今年読んだSwift周りで良かった記事(資料)7選を一言コメント付きでご紹介します。 せっかくなので、Qiita以外から選びます( ´・‿・`) Swiftオープンソース化の衝撃 - Hatena Developer Blog 今月オープンソースとして公開されたことや、Swift 3についてとてもよくまとまっています。 RxSwift/Rx.playground 記事じゃ無いですが( ´・‿・`) 11月くらいにReactiveX/RxSwiftへの乗り換え(それまではReactKit/SwiftTaskでそれも良かったです)をしたのですが、このPlaygroundがReactive Extensionsの理解にとても役立ちました。 以前C#メインだったときも少しかじってたものの、今いち理解出来ていないところがあったのですが

    今年読んだSwift関連の良記事7選 - Qiita
    g08m11
    g08m11 2015/12/28
  • 良さげなiOSライブラリの見つけ方・管理法 - Qiita

    Advent Calendarに空きがあって完走の危機だったので今年読んだSwift関連の良記事7選 - Qiitaと同じく、良さげなiOSライブラリの見つけ方・管理法を振り返りました。 やはり良い感じのライブラリを把握しておくのは、開発効率向上に大いに貢献するので。 ライブラリの情報源 Trending Swift repositories on GitHub today 定期実行のTODO管理して、週1で見ています。 基的にStarを付けて、既読管理ぽくしてます。 Star付けられると嬉しいですしね。 僕はもうほとんど見てないですが、Trending Objective-C repositories on GitHub todayでObjective-Cのライブラリチェックしても良いかと思います。 メルマガ ライブラリ紹介の項もあるので、全部見てます。 Swift Weekly -

    良さげなiOSライブラリの見つけ方・管理法 - Qiita
    g08m11
    g08m11 2015/12/27
  • URLスキーム・独自ディープリンク実装に代わる、Universal Links(iOS 9で導入)でより良いUXを実現 - Qiita

    URLスキーム・独自ディープリンク実装に代わる、Universal Links(iOS 9で導入)でより良いUXを実現iPhoneWWDCsearchapiiOS9UniversalLinks iOS 9で、Universal Linksという仕組みが導入されます。 WWDC資料: Seamless Linking to Your App - WWDC 2015 - Videos - Apple Developer これまでのURLスキーム・独自ディープリンク実装と機能的に似ていますが、それがAPIとして公式にサポートされ、より良いUXが提供出来るようになる模様です。 Search API(特にWeb Markup API)と同時にiOS 9対応に向けてWeb側で是非対応検討しておいた方が良い事項だと思っています: searchapi - iOS 9の「Search API Best Pr

    URLスキーム・独自ディープリンク実装に代わる、Universal Links(iOS 9で導入)でより良いUXを実現 - Qiita
    g08m11
    g08m11 2015/12/24
  • Xcode 6-7系のバージョン間の微妙な差異まとめ - Qiita

    書いても意味の薄いマイナーバージョンは一部スキップしています。 ※1: エンバグについて これです。 Embedded Framework使ってたり(+もう少し条件あるかも)すると、ビルドが詰まってものすごく時間がかかってまともに使えなくなります(´・︵・`) Swift Compiler Swift projects now compile quickly, fixing a speed regression in Xcode 6.3.1. In Xcode 6.3.1, the Swift “Merge” compile phase could appear to hang for some targets. You no longer need to enable Whole Module Optimization in order to avoid this issue. (206

    Xcode 6-7系のバージョン間の微妙な差異まとめ - Qiita
    g08m11
    g08m11 2015/11/19
  • iOS版LINEアプリの使っているライブラリを調べた - Qiita

    メッセージアプリのような機能を実現するための参考に、iOS版LINE(バージョン 5.2.0)の使っているライブラリを調べてみました。 要は、ライセンス一覧見ただけなのですが、7万字の長文テキストで見にくかった ので少し手間かかりました( ´・‿・`) ライセンス一覧はこのLegal Noticesに記載されていました。 元々リアルタイムな更新処理の実装の選択肢に迷っていて、その参考にと思いましたが、関係無いものが大半です。でも知らないライブラリもちょくちょくあって、けっこう面白かったです。 Apache Thrift The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation

    iOS版LINEアプリの使っているライブラリを調べた - Qiita
    g08m11
    g08m11 2015/09/22
  • ローディング時のズルい進捗表示

    今開発中のPlayer!のログイン・登録画面で、こんな進捗表示をしていますが、これ実はフェイクだったりします( ´・‿・`) (Qiitaの画像サイズ制限が厳しくて粗いです。キレイなものは実際にアプリダウンロードしてご覧下さい。) 経緯 元々、この画面はこういう進捗表示では無く、単にインジケーターがクルクルするだけで、進捗状態が分からないものでした。 特にネットワークが悪いところだと、バグって固まってしまったのでは?とユーザーを不安にさせるようで、たまにそういう声を聞くことがありました。 登録フローは大事なところなので、そういうところでこれが原因で離脱してしまうと残念なので、改善が必要でした。 そこで、ネットワーク処理にもたつきつつもちゃんと正常に処理をしているということを示すために、進捗を表示することにしました。 ただ、例えば大きな画像などメディアファイルダウンロードなどならともかく、こ

    ローディング時のズルい進捗表示
    g08m11
    g08m11 2015/09/20
  • チャットなどリアルタイム更新が必要なスマフォアプリの構成について考えてみた - Qiita

    今開発しているPlayer!で、チャット系のリアルタイム更新処理が必要となったので、色々調べています。 ※「スマフォアプリ」として共通事項が多いのでそう表記しましたが、基的にスマフォアプリはiOSアプリとして書いてます。AndroidWindows Phoneなどは差異があったり読み替える必要があると思っています。 結論 後半で詳しく書きますが、今のところ以下の結論に至りました。 PUSH通知に全て依存する構成でもそれなりに動く PUSH通知 + 双方向通信処理(WebSocketなど)の併用がベスト 双方向通信処理はPusher・Firebaseなどのサービスに頼る or ws・Socket.IO・SignalR + 対応クライアントライブラリなどで自前実装 Pusherなど有名サービスのクローンOSS導入も良さそうです stevegraham/slanger edgurgel/po

    チャットなどリアルタイム更新が必要なスマフォアプリの構成について考えてみた - Qiita
    g08m11
    g08m11 2015/07/28