単一のSwiftコードからiOSアプリとAndroidアプリが作れる「Skip 1.0」正式リリース。SwiftをKotlinへトランスパイル iOSのネイティブアプリケーション開発には、開発ツールとしてXcodeを使い、Swift言語を用いてプログラミングを行うのが、iOSの開発元であるAppleが推奨する方法です。一方、AndroidではAndroid Studioを開発ツールとしてKotlin言語を用いてプログラミングすることがGoogleによって推奨されています。 しかしiOSとAndroidの両方で同じモバイルアプリケーションを展開したい場合、異なる開発ツールを使い分ける手間やプログラミング言語の学習コストを考えると、できれば単一のソースコードから2種類のプラットフォームへ展開できることが望ましいでしょう。 最近ではこうしたニーズに対応して単一のソースコードからマルチプラットフォ

Jung Giuk2023-08-292019年LINE にBuild Engineerとして入社し、現在は「アプリプラットフォーム開発室」のディベロッパーエクスペリエンス開発チームに携わっていてLINE iOSアプリのビルド環境やコードクォリティの改善に取り組んでいる。 はじめに こんにちは、ディベロッパーエクスペリエンス開発チームのJungです。 この記事では2年以上LINE iOSのビルドシステムとして運用したBazelをやめることにした背景についてご紹介します。 Bazel導入とこれまでのLINE iOSLINE iOS は200万行以上のソースコードと200以上のモジュールで構成される大規模プロジェクトです。LINE iOSのソースコードとモジュールの数が増えて規模を拡大し続けるにつれて、ビルド/テストの遅延と DX(デベロッパーエクスペリエンス) の低下という避けら

N予備校iOSアプリ開発チームのyoppieです。 筆者のN予備校での経歴はAndroidアプリ開発チーム 2021年4月 -2022年3月 iOSアプリ開発チーム2022年4月 - 現在 です。iOSアプリ開発にチャレンジしたくなり、Androidアプリ開発からiOSアプリ開発に移りましたが、iOSアプリ開発とAndroidアプリ開発(以下I/A)でのさまざまな違いがあり、苦労しました。(iOSアプリ開発チームに移り10ヶ月経ちますが、今も苦労しています...) I/Aでのさまざまな違いがありますが、この記事では筆者が特に違いを感じた点をまとめています。 I/Aどちらかのエンジニアの方がもう一方に移りたて、もしくは移ろうか迷っている方に向けた記事となっています。 IDEに関連した各種バージョン 一般的にXcodeでiOSアプリ開発を行い、Android StudioでAndroid

ここまでBazel の利点をいくつか紹介しましたが、採用には懸念点もありました。次のセクションからは、どのような懸念があったか、それをどのように解決したのかを紹介します。 Xcode 統合 Bazel と Xcode の統合は Bazel の採用においてもっとも大きな懸念でした。 Xcode はビルドシステムと密結合したやや特殊な IDE なので、外部ビルドシステムとの統合が難しいのです。特に indexing や LLDB デバッグを正しく動作させるのは困難でした。 統合とはつまり、Bazel によるビルドのアウトプットを利用して Xcode がサポートする動作を再現することを意味していて、主に下記のような要件を満たす必要があります。 Bazel のビルド構成ファイル群を解析して Xcodeプロジェクトを生成する Xcode ビルドの実行を抑制し、代わりに Bazel ビルドを実行する

armMac と向き合う Web アプリケーション開発環境 しない話:Docker Desktop の課金回避 問題意識Mac のCPU が arm になってしまった結果、以下のような問題がある JVM 系を中心にamd64 なDocker image がMac で挙動が怪しい ネイティブ開発すっか!!となるとライブラリのバンドリングとかでおかしいことになりがちRuby の nokogiri とか ネイティブだと古いものはわりと動かない そういう問題がなかったとして arm で開発したものをamd64 環境にデプロイするのはちょっと勇気がいる。 古い環境はアップデートせえやという話なのだが、リソース不足してるものはどうにもならず、結果として古い JVM 環境を延命させてたやつとかはまじでどうにもならなくなったりする。えてしてそういうものは皆さんの手元にあることでしょう。
ALL STAR SAAS FUNDのメールマガジン「ALL STAR SAAS NEWSLETTER」購読登録受付中ALL STAR SAAS FUNDがお届けする 最新SaaSニュース、ブログ記事情報を配信するSaaS業界にいる方は必見のメールマガジン! このツールを定義することは難しい。Notionは、半ば苦し紛れのように「万能ツール」や「生産ツール」と呼ばれる。ただ、俯瞰して見ると、言い得て妙でもあり、そうとしか呼べないともいえる。つまり、それこそが、Notionの魅力なのだ。 世界中で、熱心なユーザーを増やし続けるNotion。高まるのは愛情だけではない。2020年4月には約54億円を調達し、大胆な発展を見せる。今回は、共同創設者であるIvan Zhaoさんに、前田ヒロがその成り立ちや組織運営などを聞いた。Notionは、京都で再生した 前田:今日はお時間をいただき、ありがとう

将来読み返して「そんなこともありましたねぇ」と思うために書き残しておきます。なお、記事中の日時は日本時間です。 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
AppleとGoogleの新型コロナ対策、提供方法などの具体像が固まる:新たなガイドラインを発表(1/2 ページ)AppleとGoogleによる新型コロナウイルス感染症(COVID-19)対策での協業で進展があった。アプリの画面イメージ(UI)やサンプルコードが公開されたのだ。だが、進展の詳細に触れる前に、もう1度、これがどういう取り組みか改めて振り返りたい。 というのも、前回の記事が掲載された後、ネットで「GAFAなどの外資に負けずに日本企業も頑張ってほしい」といった読後感想を見てショックを受けたからだ。まったくもってナンセンスな感想で、これはそういう次元の話題ではない。 →・AppleとGoogleが協力した新型コロナ対策「接触追跡」とは何か? 「COVID-19にばく露した可能性があります」。日本で提供されるアプリの正式な訳語は分からないが、ある日、あなたのスマートフォンにこんな通

こんにちは。事業開発部の岡村 (@iceman5499) です。 普段はクックパッドアプリ(iOS)を開発しています。 先日、アプリケーションが特定の条件で意図せぬ状態に陥り、アプリケーションが重くなって端末が発熱する、というバグが発見されました。 調査の結果、このバグはメモリリークが原因で発生していました。 この反省を踏まえメモリリークを検知するテストを導入したため、本記事ではその事例を紹介したいと思います。 (本記事ではクックパッドアプリとはiOS版の「クックパッド」アプリのことを指すものとします)クックパッドアプリにおけるメモリリークの影響クックパッドアプリはレシピの検索をコア機能としています。 検索は重い処理ですがAPIを通してサーバ上で行われるため、アプリは結果を表示するだけです。そのためメモリを多く必要としません。 これまでにも何度かメモリリークが発生している状況はありまし

Swiftにおけるインポートとリンクの仕組みを探る iOSDC 2019

Naoki Hiroshima さんをゲストに迎えて、Swift, DSL,iPad, アクセシビリティなどについて話しました。 ShowNotes Intermittent Issues to Mixlr’s Services Aubrey Plaza Nintendo is working on a full sequel to The Legend of Zelda: Breath of the WildFlutter Jetpack Compose The Apache Groovyprogramming language fastlane - App automation done rightSwift Package Manager CarthageCocoaPodsSF SymbolsGoogle was never really serious about
こんにちは。モバイル基盤部の@giginetです。平成最後のエントリを担当させていただきます。 iOSアプリの開発では、Xcodeが生成するプロジェクトファイルである、*.xcodeprojをリポジトリで共有するのが一般的です。 しかし、この運用は大規模なプロジェクトになるほど、数多くの課題が発生します。クックパッドiOSアプリは巨大なプロジェクトであり、通常の*.xcodeprojによる管理には限界が生じていました。 そこで、昨年秋にXcodeGenというユーティリティを導入し、プロジェクト管理を改善したので、その知見をお伝えします。 従来のプロジェクト管理の問題点 ファイル追加の度にコンフリクトが発生する *.xcodeprojファイルはプロジェクトに含まれるソースファイルの管理を行っています。 開発者がプロジェクトにファイルを追加すると、このプロジェクトファイルが更新されることにな

2018年9月6日、ビジネスエアポート六本木にて「米国アップル社、マイクロソフト社、そして国連本部も認めた83歳のアプリ開発者 若宮正子氏登壇!『MY SMART WORK LIFE』セミナー②。世界を魅了する理由に迫る!!」が開催されました。本パートでは、若宮正子氏の生い立ちからアプリ開発に至るまでのエピソードについての講演模様をお送りします。 突然世界中で有名人になってしまった、若宮正子氏の講演若宮正子氏:みなさん、こんばんは。若宮正子です。どうぞよろしくお願いいたします。だいたいの人はみんな「マーちゃん」って言っているみたいなんですけども、戸籍上の名前は若宮正子です。 今日お話しすることは、まず自己紹介。それから、今日のテーマであります「私は創造的でありたい」というお話。それから最後に、最近の活動から得られたものです。といいますのも、私は1年半ぐらい前に、急に「にわか有名人」になっち

以下のTwitterアンケートを見かけたので、記事書いてみました。 結果は、母数が10人なので参考程度にするのが良いと思いますが、僕も多数派の「CocoaPodsもCarthageも含めている」を特に迷い無く選択しています僕は今ではCocoaPodsもCarthageも含めていない運用にしています。 【iOSアプリプログラマに質問】 あなたはアプリのリポジトリにCocoaPodsで取得したソースコードやCarthageでビルドしたフレームワークを含めていますか? — りず (r.izumita) (@rizumita) October 6, 2016 ちょうどCocoaPodsのガイドにこのことが記載されているので、まずはその訳を載せます。 (この記載はわりと有名なはずで、ここでオススメされているからバージョン管理に含める選択を取っている人も多そう。)CocoaPodsのガイドの訳 原文

Xcode9ではマークダウンファイルはデフォルトではレンダリングされません。レンダリングするためにはどうしたらよいでしょうか。 マークダウンファイルのレンダリング Xcodeのマークダウンファイルでソースコードへのリンクができるときいてやってみようとしたところ…… Xcodeのソースコメントに- Tag:をいれると、マークダウンファイルなどからソースコードへのリンクが簡単に作れるというお話。これで、気になったところのリストアップとかドキュメンテーションがはかどる。 https://t.co/7lwfbvRvMb— Kaoru (@TachibanaKaoru) 2018年1月3日 Xcodeでは、そもそもマークダウンファイルはレンダリングされず、生のマークダウンファイルのままで表示されてしまいました。 (Playgroundファイルでは、ファイルの中のマークダウンレンダリングをon/off
Aug 12, 2018 少し前に、自分のStoryboardの使い方をツイートしたら割と反応があったので、改めてまとめてみようと思います。これまで何年かiOSアプリの開発をしてきて、Storyboardとの付き合い方は何度も変わりました。なので、今回紹介するものはあくまで2018年現在のもので、来年には変わっているかもしれません。 説明のイメージを掴みやすくするため、画面の例を用意しました。左が編集時のStoryboardで、右が実行時のiOSシミュレーターです。具体的なトピックが出た時に、この例を説明に使うことがあります。 記事の最後にこれが動作するサンプルコードも用意しましたので、興味があればどうぞ。 Storyboardを使う目的 以下の2つを重視して、Storyboardを選択しています。 動作確認に掛かる時間を短縮する 成果物の構造を把握しやすくする ただし、Storyboar

こんにちは。モバイル開発チームに所属している小島です。 めったにはありませんが、たまにOSのイベントからアプリが起動されたときのデバッグを行いたいことがあります。 例えば、プッシュを受けた時や、ディープリンクで起動したときの application:didFinishLaunchingWithOptions: や Application#onCreate の挙動などです。 iOS の場合 Xcode のメニューから 「Debug > Attach to Process > By Process Identifier (PID) or Name」を選択します。 「PID or Process Name」 の部分に開発中のアプリ名(プロセス名)を指定して、「Attach」ボタンを押します。 そうすると、Xcode は、アプリが未起動の場合はプロセスが起動するまでアタッチを待機してくれます。 な


リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く