Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。166件0Xcode10.1を使用して、ObjectiveCを使っています。storybordは使用せず、xibとコードで画面を作成しています。共通部分を抜き出し、別プロジェクトとし、他のプロジェクトから使用できるようにしたいと考えています。やり方はいろいろあるのかもしれませんが、ネットで探していきついた以下を試してみようとしています。・workspace作成http://blog.9wick.com/2011/08/xcode-workspace-share-code/複数のプロジェクトを一つのwindowで開けるそのビルド結果をworkspace内で参照し合える他のプロジェクトを参照した場合、ビルド時にそのプロジェクトもビルドし直してくれる上記のようなもの...らしいので、プロジェクトAから、プロジェクトA-1、プロジェクトA-2(共通ソース)このように切り出して、workspaceにA-1、A-2を置けば参照できるのではと考えました。以下を参考にworkspaceにA-1のプロジェクトを追加しました。Frameworkで作成しています。Framework」から作成とあります。票0特にフレームワークにする必要はありません。一つのワークスペース・プロジェクトから2つや3つのアプリケーションを作成することは可能です。Xcodeのファイルの管理階層はWorkSpaceが一番土台にあり、その上に各プロジェクトが、更にその上に各ターゲット(ソースナビゲーターの一青いプロジェクトアイコンを押し、隣のウィンドウの一番下にある+ボタンでターゲットを追加、ウィンドウ左上で切り替え可能)、更にその上にソースファイル群があり、同じワークスペース内のどのターゲットにどのソースファイル(ストーリーボードやxibファイルも同様)が必要か?は設定次第で自由自在です。参考にされたサイトは「更に別なプロジェクトでも再利用すること」を考慮して、プログラムの一部をframeworkとして作成し、作成されたframeworkを同じワークスペースの別targetに取り込む様にしているのだと思います。このメリットは、別なプロジェクトを作成したときにそのプロジェクトに追加すべきファイルは、なにやら.frameworkだけで済むということです。frameworkに共通部分をまとめた(追いだした)理由の一つだと思います。その様な場合はframeworkというコンパイル済みのライブラリーを作成し、アプリケーションAと異なる用途のアプリケーションBで、それぞれ、共通部分だけを纏めたframeworkを事前に作成し、それぞれでインポートすればframework自体は再コンパイルする必要もソースコードも必要が無く、動作も保証されているため手軽に使えます。今まで作っていたアプリケーションA,Bの他にアプリケーションCを同じプロジェクトに追加したところ、共通部分にアプリケーションA,Bでは起きなかった問題が起き、共通部分を修正した場合にアプリケーションCを再コンパイルするにあたって、アプリケーションA,Bもコンパイルしなければいけないのではないか?と問題が複雑になっていきます。共通部分はフレームワークに纏め、それをインポートし合う最初にフレームワークを作るプロジェクトは必要だよね?だからどこかにフレームワークを作成するターゲットは必要それ以降は、作成されたフレームワークだけをプロジェクトに追加すればそれで充分じゃない?一つ(のワークスペース/プロジェクト)に何でもかんでも詰め込むと複雑すぎて思わぬミスを招くよね。個の銅バッジコメントありがとうございます。A、Bプロジェクトがあり、たとえばある画面の処理以外はほぼ共通だったとします。そこで、共通部分を抜き出したいと考えました。WorkSpaceAにはAプロジェクトと共通プロジェクト、WorkSpaceBにはBプロジェクトと共通プロジェクトを用意し、共通プロジェクトは同じソースにできればと考えています。これは「・共通部分はフレームワークに纏め、それをインポートし合う」に当てはまるかと考えています。「・最初にフレームワークを作るプロジェクトは必要だよね?だからどこかにフレームワークを作成するターゲットは必要」こちらがいまいち理解できませんTTすいません...。「・一つ(のワークスペース/プロジェクト)に何でもかんでも詰め込むと複雑すぎて思わぬミスを招くよね。一つのワークスペース・プロジェクトが管理するターゲットは必要最小限に」は本当にその通りだと思います。勉強のため、ひとまず今のプロジェクトから切り出したものを別プロジェクトにして参照させたいと考えています。「更にその上にソースファイル群があり、同じワークスペース内のどのターゲットにどのソースファイル(ストーリーボードやxibファイルも同様)」がやはりよくわからなくなってきました。13:17結果から言って、アプリケーション2つ。それぞれのターゲットだけがあって、フレームワークを作るターゲットは要らないと思います。Xcodeの左上、実行、停止ボタンの右に現在のターゲットを選ぶポップアップメニューがあるので、そこで、それぞれのターゲットに必要なファイルを追加するか、ソースコードを開いてXcode画面の一番右のグレーの領域四角の内側に右端に縦棒があるボタンをクリックすると出てくる領域で、このファイルはどのターゲットの時にコンパイル対象か?のチェックマークを入れられるので、このどちらかでアプリAにしか必要でないファイル、アプリBにしか必要でないファイル、双方に必要なファイルを考えて✔️を入れていけば、ちょっと慣れが必要なフレームワークの作成を行わずに共通ソースは同じファイルを参照してアプリを作成出来ます。13:28コメントありがとうございます。13:58仰るとおりです。XR等を選択して下さい。14:05選択してみたのですが、どうやって「それぞれのターゲットに必要なファイルを追加する」のかがわかりませんでした。回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。プロジェクトをSwiftで書きなおし、同じアプリとして申請したい0Xcode7.1でプロジェクトにSyphon.framework追加時にエラーが発生します。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。