Xcode Cloudは、Gitベースのソースコード管理ツール、ビルドツール、テストツールなどを統合したAppleが提供するCI/CDを実現するサービス。 GitHub、GitHub Enterprise、GitLab、Bitbucket Cloudなどと連携し、コードをクラウド上で自動的にビルドします。 自動テストの設定により、複数のプラットフォーム上でのテストを並行実行。
Xcode13、iOS15に対応するためのポイントをまとめる。 Xcode13 beta、iOS15 beta環境はこちらからインストール https://developer.apple.com/download/ (opens new window) Carthageビルドに失敗する Carthageを利用しており、以下のXcode12のWorkaroundスクリプトを導入している場合は、Xcode13対応版に修正する必要がある。 Carthage/Carthage - Xcode12Workaround (opens new window) Xcode13対応版 set -euo pipefail xcconfig=$(mktemp /tmp/static.xcconfig.XXXXXX) trap 'rm -f "$xcconfig"' INT TERM HUP EXIT # For
こんにちは。メルペイのiOSチームの@kenmazです。 メルペイのiOSチームでは Xcode11 で導入された Xcode Previews 機能を用いて、UIKitベースのプロジェクトの開発効率向上に取り組んでいます。Xcode PreviewsといえばSwiftUI用の開発支援機能、というイメージがありますが、実は従来のUIKitベースのプロジェクトに対しても使用が可能です。 Xcode Previews を使うことでiOS Simualtor等を起動することなく、様々な状態のビューをリアルタイムにプレビューできるため、開発効率が大幅に向上します。 またXcode Previewsが提供する強力なプレビュー機能を使うことで、Interface Builderの支援も不要となったため、従来のxib/Storyboardを用いたビューの実装から、コードによるビューの実装への移行を試みる
iOS開発者の皆さん、毎日、ハッピーな開発ライフ過ごしてますでしょうか。 楽しい開発には快適な開発環境は欠かせませんが、もちろんiOS開発者の皆さんが使うのはXcodeですよね。 いや、俺はAppCodeという人はそっとタブを閉じましょう。 JetBrains製品、良いですよね。Android Studio も素晴らしい。どんな言語でも同じ様な操作感で。でもちょっともっさりしてるんだよな。 その点、Xcodeは動きはキビキビしていて玄人プログラマー好み。 でも一つ、すごく嫌なところがありました。これさえ直してくれれば最高なのに。 普通、Xcodeって編集する時、複数のタブ開くじゃないですか。自分の場合はこんな感じ。 Storyboardと関連のソースファイルを幾つか。そして、デバッグする時は、気になってるところにブレークポイント張ります。 プログラム実行して、さて、気になるところに差し掛か
過去に公開されたXcodeのダウンロードや切り替えが可能なXcodeバージョン管理ツール「Xcodes.app」がリリースされています。詳細は以下から。 Appleの統合開発環境Xcodeは、Mac App Storeから最新バージョンのダウンロード&インストールが可能なものの、macOSやSDK、Swiftコンパイラのバージョンの関係で過去に公開された旧バージョンのXcodeを利用したい場合がありますが、そんなXcode.appのバージョン管理を行えるツール「Xcodes.app」がリリースされています。 The easiest way to install and switch between multiple versions of Xcode. RobotsAndPencils/XcodesApp – GitHub Xcodesシリーズはカナダのソフトウェア会社Robots & P
こんにちは。withでiOSエンジニアをしている @zrn-ns です。 4月になりましたね。新たなメンバーが増える会社も多いのではないでしょうか。 今回は、Xcodeを初めて触るiOSエンジニアが一番最初にすべき設定をいくつかご紹介します。 編集リクエスト大歓迎です!👏 1. スペルチェックを有効化 Xcodeには標準でスペルチェックの機構があります。 メニューバー > Edit > Format > Spelling and Grammar > Check Spelling While Typing にチェックを入れることで有効化できます。 キャメルケースなどもちゃんと考慮されるので、割と便利です。 コードレビューでtypoレベルの指摘は絶対に受けないようにしたいですね。 2. 空白文字を表示する これは割と好みが分かれるところですが、最初のうちは有効にしておくべきだと思います。 メ
Merpay Advent Calendar 2020 の6日目は、メルペイiOSチームの kenmaz がお送りします。 こんにちは。merpayのiOSチームのkenmazです。 この記事では「Xcode PreviewsからSnapshotテストを自動生成する」というテーマで、メルペイiOSチームで採用しているiOSアプリの開発スタイルや自動テストについての取り組みの現状、そこで直面した課題、そしてその解決方法について、具体例を交えながら紹介していきます。 背景 Xcode Previewsを用いた開発 メルペイのiOSチームでは、iOSアプリのほとんどのViewやUI部品をコードで記述し、Xcode Previewsを使ってレイアウトの確認を行う、という開発スタイルを採用しています。これによりiOS Simulatorなどを起動することなく、さまざまな状態のViewをXcode上で
Apple M3チップファミリーを搭載したMacBook Pro (Nov 2023)のXcodeベンチマークが公開されています。詳細は以下から。 Appleは現地時間2023年10月30日に開催したスペシャルイベント「Scary fast. (速いもの見たさ。)」で、Mac用の第3世代Apple Siliconチップとなる3つの「M3、M3 Pro、M3 Max」と、そのM3ファミリーを搭載する「MacBook Pro (14/16インチ)」を発表しましたが、このM3チップファミリーのXcodeベンチマーク(XcodeBenchmark)が公式リポジトリに登録されてきたのでまとめてみました。 なお、XcodeBenchmarkはオープンソースで公開されており、Xcodeとコマンドラインツールさえインストールしてあれば誰でも実行可能ですが、2023年10月からXcode 15用にコンパイル
4月にミラティブに入社したiOS開発者の福山 (@fokotate)です。ミラティブにはゲーム好きな人が多いためか、積みゲー消化が急速に進んでいます。 今回は珍しいケースかと思いますが、他社のiOSプロジェクトでも起こりえる問題に対処することができたので共有させてください。 2022/06/09 ✍️追記: Xcode 14 beta 1で確認したところ、以下の問題はほぼ解決しているようでした。AppleにFeedbackを送ったところ同様の報告が複数あり、対応していただけたようです。 Mirrativ iOS開発の問題点 Mirrativ iOS開発ではSwiftGenを使い、多言語対応ファイルLocalizable.stringsをswiftファイルに変換しています。これによって文言をコードに挿入するときに、Xcodeのコード入力の自動補完が使えるようになりタイピングミスがなくなり、コ
過去に公開されたXcodeをダウンロード&インストールできるXcodeのバージョン管理ユーティリティ「XcodeUpdates」がリリースされています。詳細は以下から。 Appleの統合開発環境Xcodeは、最新バージョンこそMac App Storeからダウンロード&インストールできますが、macOSやSwiftのバージョンの関係で過去に公開された古いバージョンのXcodeを利用したい場合、Appleの開発者ポータルサイトへログインし、古いXcodeを検索してダウンロードしなければなりませんが、そんな過去に公開したXcodeの検索からインストールまでを行うことができるXcode管理ユーティリティ「XcodeUpdates」がリリースされています。 SwiftUI implementation of xcodes by RobotsAndPencils Project supports m
※本記事は弊社が技術書典 14 で無料配布する同人誌「ゆめみ大技林 '23」の寄稿です。追筆や訂正等がある場合はこの記事で告知します。 皆さんは iOS 開発においてどんな CI を利用しているでしょうか。Bitrise?Circle CI?いやもしかすると Jenkins のお世話をしている方もいらっしゃるのではないでしょうか。いずれにせよ、CI/CD は現代の開発において必要不可欠な環境と言っても過言ではないでしょう、なぜなら CI/CD こそ我々に提出されたコードをマージする自信をもたらせてくれているのです。 そんな中、アップルがついに公式の CI サービスを 1 年の Beta を経て昨年正式リリースしました。その名も Xcode Cloud です。名前のとおり、Cloud で動く Xcode とイメージして差し支えないでしょう。 筆者が考えるこの Xcode Cloud の最大の
こんにちは、モバイル基盤部のヴァンサン(@vincentisambart)です。 Swift Package ManagerはAppleがXcodeで公式にサポートしている唯一のパッケージマネージャーです。Xcode公式サポートの他に、Swift Package Manager形式でのみ提供されているswift-algorithms、swift-atomics、将来的に期待されているswift-async-algorithmsといった準標準ライブラリを利用できるようになるという大きなメリットがあります。 クックパッドiOSアプリ(以下クックパッドアプリ)で一部の依存パッケージをXcodeのSwift Package Manager対応を使って入れるようにしました。この導入で得たいくつかの知見をまとめました。 XcodeのSwift Package Manager対応 本来のSwift Pa
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Xcodeは最新のものを使うのが基本ですが、場合によっては古いバージョンを使わないといけないこともあります。さらに最新といってもベータと共存させて新しいiOS向けの開発と同時にこれまでのものをメンテナンスする機会も多いです。 そんな様々なバージョンが混在するXcode環境を効率的に管理できるのがxcodesです。 xcodesの使い方 listコマンドでインストールできるXcodeがリストアップされます。 $ xcodes list 2.3 2.4 : 11.5 (Installed, Selected) 11.6 Beta 12.0 Beta 12.0 Beta 2 (12A6163b) 12.0 For Macos Universal Apps Beta 12.0 For Ma
モバイル基盤部のhiragramです。こんにちは。 私たちは、iOS版クックパッドアプリの開発において、CocoaPodsとCarthageを併用して依存ライブラリを管理しています。しかし、Xcode12の時代がやってきて、Carthageによる依存ライブラリのビルドに問題が生じました。この記事では、どのような問題なのか、そしてどのように対処したのかを紹介します。 3行まとめ Xcode12とCarthageの組み合わせで問題が生じた CarthageからSwiftPMへの移行を模索したが、断念した 2021年2月にリリースされたCarthage 0.37.0でXCFrameworkが正式にサポートされたので、それに移行した Xcode12と、当時のバージョンのCarthageの組み合わせで生じる問題 Carthageは、中央集権的なCocoaPodsとは対照的に、gitリポジトリを直接指
@hiragramです。nanaのプロダクトマネージャーとiOSアプリ開発を担当しています。 nanaは現在フルリニューアルに向けた作り直しに取り組んでいます。2022年9月現在、デザインや仕様を練ることと、手触りを確かめるためのプロトタイプ実装とを、グルグル繰り返しているところです。そのグルグルをより速くするために作った仕組みを紹介します。 UI確認用のプロトタイプアプリ nanaのiOSアプリ開発において、私たちはコードを書かずとも簡単にモックを作れるようなよくあるプロトタイピングツールを使わず、ネイティブアプリとしてプロトタイプを実装しています。nanaのプロトタイプには単なるデザインの事前確認だけではなく、仕様に対する設計の事前確認、シンプルな良い設計のための仕様の事前確認といった目的があり、それらは既存のプロトタイピングツールでは実現できないためです。 SourceryでXcod
Xcodeの高速ダウンロードや管理が可能なオープンソースのXcodeバージョン管理ツール「Xcodes App v2.0 beta 1」がリリースされています。詳細は以下から。 Xcodesシリーズはカナダのソフトウェア会社Robots & Pencilsが2019年からオープンソースで開発しているコマンドラインツールで、Appleの統合開発環境「Xcode」のダウンロードやインストール、バージョン管理(切り替え)が可能ですが、このxcodesコマンドをGUI化した「Xcodes.app」のバージョン2.0 Beta 1が公開されています。 このXcodes.appを開発しているMatt Kiazykさんによると、Xcodes.app v2.0ではAppleがXcode 15から行っている、XcodeアプリとmacOSやiOS、iPadOS, watchOS, tvOS, visionOS
Xcode12からAppDelegate.swiftとSceneDelegate.swiftファイルを使わないアプリ起動が選べるようになりました。そんなアプリの起動まわりをまとめた記事です。 はじめに Xcode 12からAppDelegate.swiftとSceneDelegate.swiftファイルを使わないアプリ起動が選べるようになりました。 また、Swift5.3からアプリのエントリーポイントを指定できる@main属性が追加されました。 SE-0281: @main: Type-Based Program Entry Points 今回は、そんなアプリの起動まわりで変更になった部分を、簡単にではありますがまとめてみました。 変更になった部分 Xcode 12でプロジェクトを新規作成するとLifecycleという項目が追加されています。 こちらの選択肢ですが、InterfaceをSw
こんにちは。 delyコマース事業部のJohn(@johnny__kei)です。 この記事は「dely #1 Advent Calendar 2020」の20日目の記事です。 adventar.org adventar.org 昨日はtakaoさん(takaoh717)の「エンジニアが始めるプロダクトマネジメント最初の一歩」という記事でした。 はじめに 今回は、iOS開発で試しに使っているTuistというツールを紹介したいと思います。 TuistはXcodeプロジェクトの生成、管理を楽にしてくれるコマンドラインツールです。 似たようなツールでXcodeGenがあります。 大きな特徴は、Project.swift というファイルでの中でプロジェクトの定義をSwiftで記述するところです。 ここがイケてるやんと思って使い始めました。 (↓サイトトップに記載されている例) import Proj
Xcode 11.2 で Storyboard か xib で UITextView を使っていると iOS 13.2 より前のバージョンでクラッシュするという凶悪なバグが発生している。 実際にクラッシュを起こしてみると以下の様に _UITextLayoutView ってクラスは無いとエラーメッセージが表示された。 *** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named _UITextLayoutView because no class named _UITextLayoutView was found; the class needs to be defined in source co
事の発端 元々以下のように数値を通貨形式の文字列フォーマットに変換する処理のユニットテスト書いてあったんだけど、Xcode11にしてからテストが失敗するようになってしまった。 let target = 1000 XCTAssertEqual(target.yenFormattedString, "1,000円") // "1,000 円" is not equal "1,000円" ちなみに、ここでやっている .yenFormattedString は以下のようなIntのExtension。 extension Int { var yenFormattedString: String { let formatter = NumberFormatter() formatter.locale = Locale(identifier: "ja_JP") formatter.numberStyle
The locations of any sparse SDKs that should be layered on top of the one specified by Base SDK (SDKROOT). If more than one SDK is listed, the first one has highest precedence. Every SDK specified in this setting should be a “sparse” SDK, for example, not an SDK for an entire macOS release.
iPad向けにXcodeやLogic Pro、Final Cut Proがいよいよやってくる?2022.02.09 07:0034,378 塚本直樹 待ってます! iPadといえばプロ向けのアプリが随分揃ってきましたが、肝心のApple(アップル)製のアプリ「Xcode」「Logic Pro」「Final Cut Pro」がまだ登場していません。しかし、そのiPad向けアプリのリリースが近いことが海外サイトにて報じられていますよ! iPadで私が一番使いたいアプリは、Adobe(アドビ)の「Premiere Pro」。現在リリースされている「Premiere Rush」では、物足りなくて…。しかしFinal Cut ProがiPad向けに登場するのなら、そちらでも構わないという方も多いのでは? 発表はいつだろう?さてiDropNewsが複数の情報源から得たところによると、現在は特定の開発者
GitLab、クラウド上でXcodeのビルドに対応する「GitLab Build Cloud for macOS」ベータ公開 クラウドサービスとしてソースコード管理などを提供するGitLabは、クラウド上でMacの仮想マシンを用いてXcodeなどのビルドを可能にする新サービス「GitLab Build Cloud for macOS」のベータ公開を開始しました。 GitLab 14.2 is released and includes the introduction of the Build Cloud for macOS beta, Markdown preview, expanded Gitpod integration, new DevOps adoption metrics, and much more.https://t.co/ELjMbJgx1e — GitLab (@git
MacやiPhone向けのアプリケーションを開発するための総合開発環境であるXcodeで作成されたプロジェクトを対象としたマルウェアの存在が明らかになっています。 XCSSET Mac Malware: Infects Xcode Projects, Performs UXSS Attack on Safari, Other Browsers, Leverages Zero-day Exploits - TrendLabs Security Intelligence Blog https://blog.trendmicro.com/trendlabs-security-intelligence/xcsset-mac-malware-infects-xcode-projects-performs-uxss-attack-on-safari-other-browsers-leverages-z
GitHub Actions で iOS アプリをビルドするときの Xcode のインクリメンタルビルドを有効にするためのキャッシュ設定について解説します。 CI でのビルドで Xcode のインクリメンタルビルドが使えるようになれば、毎回 CI 上でフルビルドし40分程度かかっていたプロジェクトが、差分のみのビルドでビルド時間が5分に短縮されたりすることが期待できます。 環境 この記事では、以下の環境で調査・検証した結果を記載しています。 ローカル環境 macOS Ventura 13.5.1 Xcode 14.3.1 (14E300c) APFS (Encrypted / Case Insentive) GitHub Actions 環境 macos-latest macOS Monterey 12.6.8 Xcode 14.2.0 (14C18) 結論 結論としては xcode-ca
Xcode 11 で作成した Mac アプリケーションでは、applicationWillTerminate と applicationShouldTerminate が呼ばれないことに気が付いた。 ファイルをドロップしたりすると、呼ばれる場合がある。 これらが呼ばれないと、アプリケーション終了時にデータを保存できないので、大変困る。 Xcode 10.1 や Xcode 9.2 で作成すると、呼ばれる。 それぞれで作成したプロジェクトを比較したところ、Xcode 11 で作成した Mac アプリケーションでは、Info.plist に、次の2項目が追加されていることに気が付いた。 <key>NSSupportsAutomaticTermination</key> <true/> <key>NSSupportsSuddenTermination</key> <true/>NSSupport
Charlie Osborne (Special to ZDNET.com) 翻訳校正: 編集部 2021-03-19 11:57 SentinelOneの脅威インテリジェンス/マルウェア分析部門であるSentinelLabsは米国時間3月18日、Apple製品向けアプリの開発者が使用するシステムを乗っ取り、カスタマイズされた「EggShell」バックドアを拡散させるという、悪意ある「Xcode」プロジェクトが発見されたことを明らかにした。 「XcodeSpy」というマルウェアは、「macOS」でAppleのソフトウェアやアプリケーションを開発するために用いられる統合開発環境(IDE)のXcodeを標的にしている。 SentinelLabsが公開したリサーチによると、攻撃者らはXcodeの「Run Script」機能を悪用し、オンラインで自由に共有されているXcodeプロジェクトをトロイの
どうも、ハルです。 アイドル沼が止まりません。カメラ沼が止まりません。 今回は、Webエンジニアがネイティブアプリに挑戦したよ! 的な記事なので過度な期待はしてはいけません! ネイティブアプリ作ったことないという方! 一緒に作ってみてこんな感じにできるんだーという感動を一緒にどうぞ! こんなものをつくるよ ボタンとテキストを用意して、ボタンを押すとテキストが変わる、ザ初心者のはじめてのアプリを作ってみたいと思います。 プロジェクトの準備 Xcodeを立ち上げます。 この画像でいう、真ん中の「Create a new Xcode project」を選択します。 テンプレートの選択で「Single View App」を選び「Next」。 プロジェクトの設定をします。 Product Name:気合いを入れてアプリ名を入力しましょう。 Organization Name:あなたの名前を入力しまし
Xcode用のプロジェクト管理ツール「XCOrganizer」がリリースされています。詳細は以下から。 Appleが提供するIDE「Xcode」にはWelcome to Xcode画面に簡易的なプロジェクト管理機能が備わっているものの、サンプルコードなど様々なXcodeファイルを扱っているとファイル管理が難しくなってきますが、そんなXcodeのプロジェクト管理をまとめて行うことが出来るプロジェクト管理ツール「XCOrganizer」がリリースされています。 XCOrganizer 1.0 is finally available! Still a lot of things to do, but I would really appreciate if you give it a try. https://t.co/EyxeU3aYpo pic.twitter.com/gCgpKBKvH6
What's new in Xcode 15を視聴したときのメモです。詳しい情報、正確な情報は元動画を参照してください。 Xcodeアプリについて 今年はiOSやvisionOSを含む全てのシミュレターをオプションにしたことでXcodeアプリのサイズが小さくなった。DeveloperサイトからXcodeをダウンロードする場合は、どのシミュレータを含めるか事前に選択できる。 編集 コード補完 例えば新規ファイルを作成し、 struct と入力すると新規ファイル名がサジェストされる。 複数のデフォルトパラメーターを含む関数を呼び出す時、キーボードの右矢印を押すと、すべてのバリエーションが表示されるようになる。 → 押下前 → 押下後 また、コード補完が賢くなっており、例えば VStack に対して修飾子を追加するために . を入力すると padding がサジェストされる。 Text に対して
検証環境: Xcode 12.2 Swift 5.3.1 Xcode のキャッシュファイルなどの関連ファイルはかなりのディスクスペースを消費するので定期的に削除するほうがよい。 DerivedData 中間生成ファイル。アプリ単位でビルド時に作成される。 ビルドが突然できなくなった場合などこれを消すと解消する場合がある。 rm -rf ~/Library/Developer/Xcode/DerivedData/* iOS DeviceSupport Xcode が iOS 実機端末との接続を認識したタイミングで作成される。 iOS バージョンをアップデートする度に新しいディレクリが増えていく。 全削除して問題なし。 $ l ~/Library/Developer/Xcode/iOS\ DeviceSupport/ 13.5.1 (17F80) 13.6 (17G68) 13.6 (17G6
Appleは次期開発環境として年内にも登場予定の「Xcode 16」に、自然言語のプロンプトによる指示を基にSwift言語のコードを生成する「Swift Assist」を搭載することを明らかにしました。 マイクロソフトのGitHub CopilotやGoogleのGemini Code Assist、AWSのAmazon Q Developerなど、主要なクラウドベンダが生成AIをベースにした自然言語によるコード生成機能を提供し始めています。 AppleのSwift Assistは同社のクラウド上で実行されると説明しており、これらクラウドベンダのコード生成機能と競合する位置づけになると見られます。 自然言語で指示するとコードを自動生成 下記はAppleが公開したSwift Assistのデモ動画の一部です。 Xcodeの画面に書きかけのコードと、下部のプロンプト入力欄に「Create li
SWETグループ、iOS自動テスト領域チームの細沼(tobi462)です。 今回はWWDC19で発表された内容の中から、 Xcode 11におけるテストまわりの新機能について紹介します! 新しく追加された機能は大きく以下の3つです。 Test Plans(テストプラン) テスト実行の設定(実行対象、言語・ロケール、他)を管理できる仕組み Result Bundle テストの成果物(ビルドログ、テストレポート、他)をまとめる仕組み XCTest - XCTUnwrap() XCTAssertNotNil + guard letに相当する関数 なお、メトリクスまわりも大きく進化していますが、本記事では割愛します。 関連するWWDC19のセッション それぞれの機能について解説する前に、 関連するWWDC19のセッションを紹介したいと思います。 本記事で解説する自動テストに関するセッションに加え、
Apple関連のリーク情報では多数の実績があるJon Prosser氏(@jon_prosser)が、「iOS 14」と「iPadOS 14」向けに「Xcode」アプリが提供されると報告しています。 「iOS 14」と「iPadOS 14」向けに「Xcode」アプリが提供されることにより、「iPad」向けにプロ向けアプリが登場する可能性が高まるだろうと予測しています。 ただ、「Final Cut」は「iPad」向けには提供されないだろうと予測しています。 I’m not gonna say that Final Cut is coming to iPad… But XCode is present on iOS / iPad OS 14. 👀 The implications there are HUGE. Opens the door for “Pro” applications to
XCode12からの新機能のひとつとして、ローカル環境で課金(StoreKit)のテストをする環境が追加されました。 この記事では、そんなローカルで課金のテストをする方法を試しています。 はじめに XCode12からの新機能のひとつとして、ローカル環境で課金(StoreKit)のテストをする環境が追加されました。 StoreKit構成ファイルをローカルで作成し有効にすると、App Storeのサーバーに接続しないで課金のテストを実行することが出来ます。 今回はローカルで課金をしてみるまでの流れを簡単にではありますが試してみました。 具体的にどんなことが出来るようになったの? Appleのサイトによると以下の項目が挙げられています。 開発の初期段階、またはApp Store Connectでアプリ内購入を構成する前に課金ができる。 ネットワーク接続が利用できない場合のローカルテスト。 San
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く