自動更新サブスクリプション アプリ内でデジタルサブスクリプションのシームレスな体験を提供しましょう。StoreKit APIを活用すると、すべてのAppleプラットフォーム、およびApp Store上の全カテゴリのアプリにおいて、自動更新サブスクリプションをシンプルかつ効果的に実装できます。 概要 自動更新サブスクリプションとは、ユーザーがアプリのコンテンツ、サービス、プレミアム機能を継続的に利用できるようにするものです。各サブスクリプションは、ユーザーがキャンセルしない限り、期限終了時に自動的に更新されます。サブスクリプションはiOS、iPadOS、macOS、tvOS, visionOS、およびwatchOSで利用できます。 ユーザーにとって定期的に支払う価値があるサブスクリプションアプリとは、常に革新的なアプリ体験を提供し、継続的な価値を提供するものです。サブスクリプションモデルの導
iOSエンジニアの大木です。 日々の開発で、ちょっとした微修正でメソッドを追加・削除すると、差分コンパイルが効かずビルド10分待ちとなり、開発効率の低下が問題となっていました。それを解決するためEmbedded Frameworkを導入したところ、差分ビルドが成功し1-2分になったというお話です。 私が入社したのは、2017年の2月でした。そして、アプリはもともとObjective-Cで書かれていて、Swiftコードの占める割合は10%以下だったようです。それから1年近くで、90%以上Swiftコードに置き換えました。 その時点で、ビルドにかかる時間の長さが目立つようになり、ちょっとした不具合の調査や微調整しているだけなのに10分近く待たなければいけないケースが目立つようになってきました。 問題としては以下の2つがありました。 1つのメソッドを追加しただけなのに、何故か10分近くかかるため
iOSDC Japan 2018 に採択されたトーク「iOSエンジニアが知るべきProgressive Web Apps開発のエッセンス」のブログ版記事です。 CfP提出後に内容は二転三転しまして、当初は最新Web開発事情について技術的に突っ込んだ内容にしようと目論んでいたのですが、「iOSエンジニア」へ「伝えたいこと」という軸で作っているうちにこの内容に落ち着きました。 当日聞きに来てくださった方、声をかけていただいた方。このような場を下さったiOSDCスタッフの方々にはたいへん感謝しています。 Introduction📛 昨年末 SafariにService Workersが実装され「iOSがPWAをサポートした」というニュースが業界内で話題になりました。 (※Progressive Web Apps 以降 PWA という略称で話します) この時話題になっていたSafariのPWAサ
はじめに こちらはiOS その2 Advent Calendar 2016の12月24日の記事です。 iOSアプリエンジニアが採用面接時に聞かれることってなんだろうと思い、ひねり出した100個の質問です。 ゼロベースで考えるのはさすがに困難だったので、以下に挙げられている記事をだいぶ参考にしました。 https://github.com/MaximAbramchuck/awesome-interview-questions#ios https://github.com/MaximAbramchuck/awesome-interview-questions#objective-c https://github.com/MaximAbramchuck/awesome-interview-questions#swift これらで紹介されているものは、実際にコードを見て応えるものもありますのでぜひ
Aug 12, 2018 少し前に、自分のStoryboardの使い方をツイートしたら割と反応があったので、改めてまとめてみようと思います。これまで何年かiOSアプリの開発をしてきて、Storyboardとの付き合い方は何度も変わりました。なので、今回紹介するものはあくまで2018年現在のもので、来年には変わっているかもしれません。 説明のイメージを掴みやすくするため、画面の例を用意しました。左が編集時のStoryboardで、右が実行時のiOSシミュレーターです。具体的なトピックが出た時に、この例を説明に使うことがあります。 記事の最後にこれが動作するサンプルコードも用意しましたので、興味があればどうぞ。 Storyboardを使う目的 以下の2つを重視して、Storyboardを選択しています。 動作確認に掛かる時間を短縮する 成果物の構造を把握しやすくする ただし、Storyboar
iOSアプリケーションを開発しているとシミュレータでデバッグすることが多くあります。 しかし、通常では画面が大きくない場合、 開発しているXcodeなどのエディタとシミュレータをスイッチする必要があります。 今回は、隠し機能を使用し、iOSシミュレータを全画面表示を有効にして、 画面の制約がある際に効率的にデバッグを行う手順・手法を紹介します。 /AppleInternal /AppleInternalの作成 SIPによる制限 リカバリモードを用いたディレクトリの作成 隠し機能の有効化の確認 1つの画面で表示 隠し機能の無効化 Internalのそのほかの機能 まとめ /AppleInternal /AppleInternal ディレクトリはApple社の内部用に用意されたフォルダです。 このディレクトリが存在する場合、iOSシミュレータの隠された機能が有効化されます。 もちろん、我々デベ
こんにちは。 なめ橋です。 GWですね。 毎年来ているものですが、「ゴールデンウィーク」という名前の由来を調べてみました。 wikipediaによると、元々は、映画会社の取締役の方が番宣用の言葉として使い始めたのが由来なんだそうです。 「みんなで映画館に行きましょう!」ということですね。 今回はUIViewとCALayerの関係についてです。 今まで、Animationを取り上げていろいろ記事を書いてきましたが、「そもそもLayerって何?」という状態だったため、調べてみました。 まず、それぞれについて簡単に整理します。 UIView 画面に対して、描画を行うクラスです。 その他にも画面タッチに関するイベントや、レスポンダチェーンなどを取り扱います。 CALayer Veiwに描画する内容を管理するモデルオブジェクト(のようなもの)です。 ジオメトリ、コンテンツ、視覚属性などを管理しますが
* NSBackgroundColorAttributeName 背景色 * NSFontAttributeName フォント名 * NSForegroundColorAttributeName 文字色 * NSKernAttributeName カーニング * NSLigatureAttributeName リガチャ(合字) * NSParagraphStyleAttributeName - NSParagraphStyle * NSShadowAttributeName 影 NSShadowを使う * NSStrikethroughStyleAttributeName 打ち消し線 * NSStrokeColorAttributeName 袋文字(中抜き文字) * NSStrokeWidthAttributeName * NSUnderlineStyleAttributeName アンダ
From Mattt Thompson, the creator of NSHipster.com and author of , comes a new book about low-level programming on iOS & Mac OS X. Perfect for intermediate and expert developers wanting to take a deeper dive into advanced topics, iOS & covers the core technologies powering Cocoa, Objective-C, and the operating system itself, including: Kernel Objective-C Runtime Clang OSAtomic Grand Central Dispat
iPhoneアプリのクラッシュログからクラッシュの原因を探す。 必要なもの クラッシュログ dSYMファイル クラッシュログを取得 クラッシュログ一覧を表示 Devicesウィンドウを開く Xcode Windows -> Devices (Shift+Cmd+2) デバイスを選択 View Device Logs でクラッシュログの一覧を表示 クラッシュログのエクスポート 該当アプリのクラッシュログをCtrl+左クリック(右クリック) Export Log で任意のディレクトリに出力 dSYMファイルを取得 Organizerを開く Xcode Windows -> Organizer (Shift+Cmd+2) 該当アプリのクラッシュしたバイナリに対応するxcarchiveファイルを表示 該当アプリを選択 クラッシュした時のビルドをCtrl+左クリック(右クリック) Show in F
いまやiOSのネットワーク処理といえばAFNetworkingな感じです。 しかし古いストリーミングAPIを使った経験があれば、ブロックベースのAPIでどうやってネットワーク通信を行っているのか疑問に思うはずです。なぜかというと、 GCDは実行ループを持てない からです。 そもそも実行ループとは何なのでしょう。 実行ループとは NSRunLoop Class Referenceより The NSRunLoop class declares the programmatic interface to objects that manage input sources. An NSRunLoop object processes input for sources such as mouse and keyboard events from the window system, NSPort
また、人それぞれ見解が多少異なると思うので、同じタイミングであろうとも色々な方が書かれてみるのも面白い題材かなとも思っています( ´・‿・`) それではiOSアプリ開発に必要な要素ごとにつらつらと書いていきます。それぞれ語りすぎるとボリュームが増えすぎるので、あえてなるべく浅めに書いていきます🐶 高性能なMacマシンを確保まず、技術的なこと抜きに一定以上の性能のMacマシンを用意するのが良いです。取っ掛かりの勉強目的などならともかく、中規模以上のアプリを作る場合低スペックマシンでは著しく非効率です。 大体以下のようなイメージで、これ未満だと早めにマシン変えた方が幸せになれると思っています。 2–3年以内に買った20万円以上程度のMacBook Pro: 許容範囲iMac 5K: 良い感じiMac Pro: 一般的なiOSアプリ開発ではオーバースペック気味でコスパは微妙かも🤔会社で、交渉
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く