並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 27 件 / 27件

新着順 人気順

XcodeGenの検索結果1 - 27 件 / 27件

  • XcodeGenによる新時代のiOSプロジェクト管理 - クックパッド開発者ブログ

    こんにちは。モバイル基盤部の@giginetです。平成最後のエントリを担当させていただきます。 iOSアプリの開発では、Xcodeが生成するプロジェクトファイルである、*.xcodeprojをリポジトリで共有するのが一般的です。 しかし、この運用は大規模なプロジェクトになるほど、数多くの課題が発生します。 クックパッドiOSアプリは巨大なプロジェクトであり、通常の*.xcodeprojによる管理には限界が生じていました。 そこで、昨年秋にXcodeGenというユーティリティを導入し、プロジェクト管理を改善したので、その知見をお伝えします。 従来のプロジェクト管理の問題点 ファイル追加の度にコンフリクトが発生する *.xcodeprojファイルはプロジェクトに含まれるソースファイルの管理を行っています。 開発者がプロジェクトにファイルを追加すると、このプロジェクトファイルが更新されることにな

      XcodeGenによる新時代のiOSプロジェクト管理 - クックパッド開発者ブログ
    • GitHub - yonaskolb/XcodeGen: A Swift command line tool for generating your Xcode project

      XcodeGen is a command line tool written in Swift that generates your Xcode project using your folder structure and a project spec. The project spec is a YAML or JSON file that defines your targets, configurations, schemes, custom build settings and many other options. All your source directories are automatically parsed and referenced appropriately while preserving your folder structure. Sensible

        GitHub - yonaskolb/XcodeGen: A Swift command line tool for generating your Xcode project
      • XcodeGen で project.pbxproj のコンフリクトとおさらばする - Qiita

        name: My Project targets: MyApp: type: application platform: iOS sources: MyApp settings: PRODUCT_BUNDLE_IDENTIFIER: com.example.myapp dependencies: - target: MyFramework MyFramework: type: framework platform: iOS sources: MyFramework これをプロジェクトのディレクトリに配置し、xcodegen コマンドを実行するとプロジェクトファイルが生成されます。 このようにして、yaml を置いて project.pbxproj を削除することで、根本的に問題を解決できます。spec 自体のコンフリクトが起きる可能性がありますが、spec は可読性が高いため解決は容易です

          XcodeGen で project.pbxproj のコンフリクトとおさらばする - Qiita
        • XcodeGenでxcodeprojを卒業する // Speaker Deck

          All slide content and descriptions are owned by their creators.

            XcodeGenでxcodeprojを卒業する // Speaker Deck
          • 既存のプロジェクトを XcodeGen に移行する - Qiita

            yonaskolb/XcodeGen: Swift command line tool that generates your Xcode project from a simple spec and your folder structure XcodeGen というのは、複数人で開発しているとよくコンフリクトする project.pbxproj を yaml から生成するように出来るツール。 XcodeGen 自体の説明とか、何が嬉しいかは、この記事を御覧ください XcodeGenでxcodeprojを卒業する // Speaker Deck XcodeGen で project.pbxproj のコンフリクトとおさらばする - Qiita XcodeGen を既存のプロジェクトで使いたい場合になるべく簡単に移行する助けになればと思い、この記事を書いています。 新規プロジェクトで使いた

              既存のプロジェクトを XcodeGen に移行する - Qiita
            • XcodeGenを用いてxcodeprojから卒業する | PSYENCE:MEDIA

              この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2017 の投稿記事です。 こんにちは。スタディサプリENGLISHのiOSエンジニアの井原 (@nonchalant0303) です。 今回は『XcodeGen』というツールを導入して、iOSにおけるプロジェクトファイルのxcodeproj1)xcodeprojの実態はディレクトリで、プロジェクト構成を管理しているのはprojct.pbxprojですが、この記事ではまとめてxcodeprojと呼んでいますの管理を改善したという話について述べていきます。 https://github.com/yonaskolb/XcodeGen 導入の経緯 xcodeprojはiOSプロジェクトにおける様々な設定を管理しています。コンパイル対象のファイルなども管理しているので、チーム開発をしているとファイル追

                XcodeGenを用いてxcodeprojから卒業する | PSYENCE:MEDIA
              • Xcodegenを導入しました。

                A Swift command line tool for generating your Xcode project - yonaskolb/XcodeGen xcodegenを導入することで、 yml -> 設定値ディレクトリ構造 -> ファイルツリーという関係のxcodeprojを作ることができます。 結果、xcodeprojをgitで管理する必要がなくなりxcodeprojのコンフリクトを0にすることができます。 xcodeprojのコンフリクトはチームの規模が大きくなるにつれて課題になるのは明らかなので、先んじて手を打ったという形です。 PocochaでのXcodegenの導入Pocochaでは、アプリケーションの各モジュールをxcodeprojで管理しておりそれらをworkspaceに入れて開発しています。 モデル層やタイムラインのUIなどで細かくモジュール分割しているこれらの

                  Xcodegenを導入しました。
                • mikanのiOSプロジェクトにXcodeGenを導入しました。|noppe

                  mikanのiOSプロジェクトは複数人で開発をしているため、xcodeprojのコンフリクトが発生していました。 これらのコンフリクトをXcodeGenの導入をもって無くし、事業の成長速度を加速させるのが今回の目的です。 また全てのxcodeprojの設定値がダンプされるため、不要な設定・ファイル・構造を洗いざらい見つけることができます。 長年改善が繰り返されたxcodeprojを今一度見直し、リアーキテクチャ出来る地盤に整える効果も期待できるでしょう。 導入にあたってまずXcodeGenの導入にあたって、全員の作業を止めずに導入することを目指しました。 これは自分の稼働時間やプロジェクト規模に対して移行期間を見積もったところ数日で終わらない計算になった為です。 作業を継続しつつXcodeGenへの移行を達成するために、最初にMakefileを用意しました。 チームメンバーにはMakefi

                    mikanのiOSプロジェクトにXcodeGenを導入しました。|noppe
                  • iOSのプロジェクト管理をXcodeGenからSwift Package Managerに移行する - エムスリーテックブログ

                    【マルチデバイスチーム ブログリレー5日目】 こんにちは、エムスリーエンジニアリンググループ マルチデバイスチームの渡辺です。 スマホアプリの開発(iOS/Androidネイティブがメイン、たまにFlutter)を担当しています。 マルチデバイスチームの開発するm3.comアプリ(iOS)ではプロジェクトとマルチモジュールの管理にXcodeGenを利用しているのですが、後述する課題を感じていました。そんな中、昨年@d_dateさんによりSwift Package Managerを利用したプロジェクト管理する記事が公開されました。 www.notion.so この記事を参考に、1日目の記事でも触れていますが現在 脱XcodeGen を進めています。 プロジェクトごとに構成が違うため、必要なステップは変わってくるのですが、m3.comアプリの構成における進め方を紹介します。 m3.com アプ

                      iOSのプロジェクト管理をXcodeGenからSwift Package Managerに移行する - エムスリーテックブログ
                    • Xcodeプロジェクトの生成ツール「XcodeGen」のセットアップ&操作方法 - Qiita

                      はじめに もともと気になっており、先日の勉強会でXcodeGenのLTを聞いて、触ってみようと思いました。 触ってみた結果、業務でも導入したいと考えています。 「プロジェクトファイルがコンフリクトしない」という特徴は、複数人による開発では非常に大きなメリットになるためです。 「XcodeGen」とは? Xcodeプロジェクトファイル( .xcodeproj )を定義ファイル( project.yml )から生成する、Swift製のコマンドラインツールです。 YAMLでプロジェクトの設定を書くことで、プロジェクトファイルが自動生成されます。 そのため、プロジェクトファイルを自分たちで編集する必要がなくなります。 XcodeGenが行うことは「プロジェクトファイルを自動生成する」に尽きる ので、それがわかるとメリットやこの先の説明が理解しやすいです。 用語解説 本記事では用語を以下のように定義

                        Xcodeプロジェクトの生成ツール「XcodeGen」のセットアップ&操作方法 - Qiita
                      • XcodeGenでiOSチーム開発でのストレスを軽減する | Recruit Tech Blog

                        概要 チームで iOS 開発をする際 xcodeproj ファイルはコンフリクトが発生しやすい状況となります。 XCodeGen というツールを用いて xcodeproj ファイルのコンフリクトと解消にかかる手間暇を回避していきます。 動機 xcodeproj ファイルは、 プロジェクトのファイル構成や設定など様々な情報を保持しているファイルです。プロジェクトにファイルを加えただけで変更されるので、 差分が入りやすくチーム開発の際にコンフリクトしやすくなっています。加えて、 xcodeprojファイルは独自の構造を持っているため、 中身を読んで理解するのは容易ではありません。 これらの性質のため、 iOS のチーム開発にて xcodeproj ファイルはコンフリクトしやすい上に修正が容易ではないので、 コンフリクト解消には手間暇がかかることもあり何度も続くとストレスになりえます。 Xcod

                          XcodeGenでiOSチーム開発でのストレスを軽減する | Recruit Tech Blog
                        • 「既存のプロジェクトを XcodeGen に移行する」という文章をQiitaに投稿した - 銀の人のメモ帳

                          qiita.com XcodeGen 少し前に知って良さそうって思ったんだけど、そのときはドキュメントが充実していなかったのかドキュメントの存在を見落としていたのか分からないけど導入見送って、最近になってまた少し話題になってたから見てみたらドキュメントしっかり存在してたので移行した。 XcodeGen 話題にはなっていたけど、何がいいとか、リリースされてるアプリの設定ファイルとかはあるものの、じゃあ実際に使い始めるぞ!って感じになるような日本語の情報が皆無だったので書いた。 移行するぞ!って作業し始めると、本当に一通りの設定を yaml に書けたのか不安になり、生成されるプロジェクトとの差分見ても diff がやばくて分からんしで、うむ〜って感じだった。 xcconfig-extractor というツールを教えてもらったらシュッと移行終わった。 qiita.com xcconfig に大体

                            「既存のプロジェクトを XcodeGen に移行する」という文章をQiitaに投稿した - 銀の人のメモ帳
                          • .xcworkspace と Swift Package を活用して XcodeGen 等に頼らずともほぼコンフリクトしないプロジェクト設計

                            Summary Xcode Project(.xcodeproj)による開発では project.pbxproj によるコンフリクトが多発する XcodeGen などのツールでコンフリクトしないようにしてきたが、外部ツールに頼らない方針でいきたい Xcode Workspace(.xcworkspace)と Swift Package を使って Xcode Project(.xcodeproj)内でのファイル操作をなくし、コンフリクトが起きないようにする まえがき 2021年5月19日に行われた CA.swift #14 〜いま考える次世代の設計〜 にて、@ry-itto(Ryoya Ito) さんが発表した「isowords の構成で3週間開発して得た知見」で紹介されたファイル等構成がおもしろく、実際に自分の手で試してみました。 YouTubeのvideoIDが不正です 概要 Xcode

                              .xcworkspace と Swift Package を活用して XcodeGen 等に頼らずともほぼコンフリクトしないプロジェクト設計
                            • XcodeGen超入門

                              try! Swift Tokyo 2020 Meetup!! https://tryswifttokyo.connpass.com/event/160481/

                                XcodeGen超入門
                              • XcodeGenを基本から理解する

                                Xcodeプロジェクト(.xcodeproj)のコンフリクトはストレスです。 でもXcodeGenでXcodeプロジェクトを生成することで、このストレスから解消できます。 XcodeGenとは? XcodeGenとは、フォルダ構造とプロジェクト仕様ファイルからXcodeプロジェクトを構築するコマンドラインツールです。なおSwiftで作られてます。 プロジェクト仕様ファイル YAMLまたはJSONで記述されており、次の項目を定義できます。 ターゲット 構成 スキーム カスタムビルド設定 その他オプション フォルダ構造がそのままXcodeプロジェクトのディレクトリ構造に反映される仕組みとなってます。 またデフォルト値が用意されているので必要な部分だけをカスタマイズするだけで構築できます。 プロジェクト仕様ファイルの中身 例えば下記は、YAML形式のプロジェクト仕様ファイルです。 name: M

                                  XcodeGenを基本から理解する
                                • XcodeGen + CocoaPods の組み合わせで Build Phases の一番最後に script を追加する - Qiita

                                  xcodegen -> pod install すると、postbuildScripts の後に Cocoapods の script が追加される。 Fabric の script は Cocoapods のものよりも後(一番最後)に呼ばないといけないので、困る。 なので、以下のように一番最後に追加したい script は Podfile に書く。 --- a/Podfile +++ b/Podfile @@ -7,4 +7,7 @@ target 'ExampleApp' do pod 'Fabric', '~> 1.7.2' pod 'Crashlytics', '~> 3.9.3' + + script_phase :name => 'Run Fabric', + :script => '"${PODS_ROOT}/Fabric/run"' end

                                    XcodeGen + CocoaPods の組み合わせで Build Phases の一番最後に script を追加する - Qiita
                                  • XcodeGen Example

                                    project.yml 0es�lU ��S�lU name: XXXX attributes: LastUpgradeCheck: 1140 ORGANIZATIONNAME: "kankak, Inc." options: bundleIdPrefix: com.xxxx.xxxxxxxx deploymentTarget: iOS: 13.1.3 configs: Develop Debug: debug Staging Debug: debug Production Debug: debug Develop Release: release Staging Release: release Production Release: release schemes: App Develop: build: targets: App: all run: config: Develop D

                                      XcodeGen Example
                                    • Contributing to XcodeGen

                                      GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection

                                        Contributing to XcodeGen
                                      • [2021年版]XcodegenでCarthageとCocoapodsを使う最小プロジェクトを作成

                                        個人アプリのプロジェクト構成をXcodegenで作り直そうかと思っています。 個人アプリはライブラリーの依存関係をCarthageとCocoapodsを使って管理していますが、Xcodegenではどういう記述でproject.ymlを書けばいいのかが検討つきませんでした。 理解を深めるために最小プロジェクトを作ることにしました。 この記事ではXcodegenでCarthageとCocoapodsを使う最小プロジェクトを解説します。 実行環境 Xcode 12.4 Xcodegen Carthage: 0.37.0 Cocoapods: ディレクトリ 今回はTryXcodegenという名前のプロジェクトを作成して、CarthageとCocoapodsでライブラリーを管理し、プロジェクト生成にXcodegenを利用します。 最終的なディレクトリ構造は次のとおりです。 主要なもののみ掲載していま

                                          [2021年版]XcodegenでCarthageとCocoapodsを使う最小プロジェクトを作成
                                        • XCodeGen対応のTIPS - dip Engineer Blog

                                          はじめに こんにちは。iOSエンジニアの@satoshi-babaです。 いま巷で賑わっているXCodeGenを検証する過程で、ハマりどころがいっぱいあったので簡単なTIPSを共有したいと思います。 そもそもXCodeGenがどんなものかというのは割愛させていただきます。 バイトルはなぜXCodeGen対応したの? バイトルiOSは10名前後のエンジニアが開発に携わっています。 ABテストの実施もよく行っており、ファイルの追加/削除が頻繁に行われるようになっています。 元々、開発フローの課題の1つにxcodeprojのコンフリクト抑止がありました。 その中で年末に行われていたtry! Swift Tokyo 2020 Meetup!!に参加した時に、XCodeGenの紹介があり「これだ!」と思い導入することにしました。 TIPS Templateバリ便利! SchemeとTargetにそれ

                                            XCodeGen対応のTIPS - dip Engineer Blog
                                          • XcodeGen で Flutter の .xcodeproj 管理を手軽にする

                                            はじめに 🎉 XcodeGen を用いて ios/Runner.xcodeproj を生成する Flutter のサンプルリポジトリを作成しました! dev, prd の 2 つの Flavor ごとに以下の出しわけを想定した project.yml を作成しています。 アプリアイコン アプリの表示名 Bundle ID Firebase Project project.pbxproj のつらみ 😢 Flutter で iOS アプリを開発していると、時折 Xcode 開いて編集する機会があると思います。 Xcode の GUI で編集した後に ios/Runner.xcodeproj/project.pbxproj の diff を見てみると👇のように非常にわかりにくい差分が生まれていることがあります。 https://github.com/react-native-communi

                                              XcodeGen で Flutter の .xcodeproj 管理を手軽にする
                                            • XcodeGenを用いて中規模プロジェクトをリリースした話 - Qiita

                                              はじめに 久しぶりの投稿。 題名の通り、期間は半年、エンジニアは二人という開発体制のプロジェクトにXcodeGenを導入し、先日プロジェクトをリリースしましたので、その知見を共有します。 XcodeGenとは? iOSアプリをチーム開発のついて回る問題、project.pbxprojファイルがコンフリクトしまくる問題があります。その問題解決できるツールがXcodeGenです。 最近取り入れてるプロジェクトは増えてきてるとはいえ、まだまだ発展途上のツールでガンガンアプデされており、機能がもりもりです。 XcodeGenは主に以下をやってくれます。(*1) XcodeGenがやってくれること コマンド一発で.xcodeprojをproject.ymlの設定を元に生成。 ライブラリ依存、フレームワークも管理 Build Configurationも管理 Development Team、Prov

                                                XcodeGenを用いて中規模プロジェクトをリリースした話 - Qiita
                                              • Xcodeプロジェクトの生成ツール「XcodeGen」のセットアップ&操作方法 - Qiita

                                                はじめに もともと気になっており、先日の勉強会でXcodeGenのLTを聞いて、触ってみようと思いました。 触ってみた結果、業務でも導入したいと考えています。 「プロジェクトファイルがコンフリクトしない」という特徴は、複数人による開発では非常に大きなメリットになるためです。 「XcodeGen」とは? Xcodeプロジェクトファイル( .xcodeproj )を定義ファイル( project.yml )から生成する、Swift製のコマンドラインツールです。 YAMLでプロジェクトの設定を書くことで、プロジェクトファイルが自動生成されます。 そのため、プロジェクトファイルを自分たちで編集する必要がなくなります。 XcodeGenが行うことは「プロジェクトファイルを自動生成する」に尽きる ので、それがわかるとメリットやこの先の説明が理解しやすいです。 用語解説 本記事では用語を以下のように定義

                                                  Xcodeプロジェクトの生成ツール「XcodeGen」のセットアップ&操作方法 - Qiita
                                                • Sansan iOS アプリに XcodeGen を導入しました - Sansan Tech Blog

                                                  こんにちは、Sansan プロダクト開発部 iOS アプリエンジニアの相川です。 本記事は Sansan Advent Calendar 2020 - Adventar の 24 日目の記事になります。 Sansan の iOS アプリに XcodeGen を導入することができたので、今回は XcodeGen 導入について以下の話を紹介できたらと思っています。 XcodeGen 導入の流れ XcodeGen Tips Sansan における XcodeGen の運用方法 XcodeGen を利用するにあたって気をつけるべきこと XcodeGen 参考リンク集 XcodeGen 導入の流れ まずは Sansan の iOS アプリにどのような流れで XcodeGen を導入することができたのかということについて話していこうと思います。 iOS チームでは、徐々に開発メンバーが増えていることも

                                                    Sansan iOS アプリに XcodeGen を導入しました - Sansan Tech Blog
                                                  • XcodeGenのSettings周りを整理する

                                                    XcodeGenは便利ですが、プロジェクト仕様ファイル(project.yml)のSettingsに関して自分の中で不透明なので整理しました。 Settingsとは? XcodeGenのプロジェクト仕様ファイル内で使えるビルド設定を定義するプロパティと総称。 settingsはプロジェクトとターゲットの2箇所で使える ビルド設定の値の解決はレベル順となっている Build Configuration(DebugやReleaseなど)別でビルドパラメータを設定できる Build Configurationにも適用されるbaseプロパティがある settingGroupsでビルド設定を共通化できる Xcode同様に自動で適用されるプリセットビルド設定がある ビルド設定群を別ファイル(xcconfig)として抜き出せる ビルド設定はプロジェクトとターゲットで出来る 例えば次のプロジェクト仕様はプ

                                                      XcodeGenのSettings周りを整理する
                                                    • XcodeGenの導入でつまずいたところ - 今日のごはんは素麺です

                                                      今私の中でちょっとアツいのがXcodeGenで、まあアツいんでアツいうちに導入するか〜って昨日ぐらいに重い腰を上げました。 結構スムーズに書けたんですが、いくつかつまずいたので、その点をピックアップ。ちなみに書くときに参考にしたのは XcodeGen/ProjectSpec.md at master · yonaskolb/XcodeGen · GitHub です。ここ見れば大体書いてある。 Xcode上でTestingのHost Applicationが設定されていない(ように見える) テストターゲットの指定の仕方は: targets: SampleApp: scheme: testTargets: - SampleAppTests SampleAppTests: # ... でOKで、実際これでテストの設定がされたSampleAppのスキームが出力されます。ただし、SampleAppの

                                                        XcodeGenの導入でつまずいたところ - 今日のごはんは素麺です
                                                      • XcodeGenでNotificationServiceExtensionを使う - Qiita

                                                        NotificationService: type: app-extension platform: iOS sources: NotificationService settings: base: ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: ${inherited} PRODUCT_NAME: NotificationService PRODUCT_BUNDLE_IDENTIFIER: {NotificationService用のBundle Identifier} INFOPLIST_FILE: NotificationService/info.plist CODE_SIGN_STYLE: Manual TARGETED_DEVICE_FAMILY: 1 DEVELOPMENT_TEAM: {アプリに合わせる} configs: debug: CODE

                                                          XcodeGenでNotificationServiceExtensionを使う - Qiita
                                                        1