

お世話になります。  
iosアプリの開発プロジェクトにおいて、他社さんの開発チームに自作のUIライブラリを提供することになりました。  
CocoaPodsやPackageManagerを用いてGitHubなどに登録したソースを提供する方法は知っているのですが、事情によりソースを公開せずにバイナリファイルのような形式でライブラリを提供する必要があるため、一般的な方法で良い方法をご存知の方がおられましたら、ご教授いただきたいと思います。  
よろしくお願いします。


CC BY-SA 4.0
2018-12-17T09:29:22.210
51296
2018-12-20T00:19:17.723
2018-12-17T23:27:36.127
3060
29815
question
swift ios xcode
iosアプリのライブラリ提供方法について


不特定多数に配布するわけではなく、特定一社への提供でしたら、zipなどで固めたファイルをメールや、id/passが必要なwebページに載せておくので充分ではないでしょうか？

拘るべきは、配布の仕組みではなく、ライブラリーのバージョン管理で、必要に応じて挿し変えるライブラリーのバージョンがあやふやにならないようにinfo.plistのバージョンをしっかり管理することだとおもいます。

12/20 追記

特定複数社への配布である件、了解しました。  
連携を取っている会社へしか配布したくないのであれば、

  * コストが掛かっても構わないのであれば、`GitHub`のプライベートリポジトリーへ（プライベートリポジトリー作成は有償アカウントでなければ作れません）
  * コストは掛けたくないのであれば、`BitBucket`のプライベートリポジトリーへ

ビルド後の`framework`だけを管理するリポジトリーを作って上記いずれかを`master`にし、`GitHub`/`BitBuket`上のリポジトリーを連携する会社に伝えるのはいかがでしょうか？  
`framework`の更新があった際は、そのリポジトリーの`framewrok`を最新のビルドで上書きし、コミット後に`push`することで、各社が使えるようになりますし、連携する会社では、各社のプロジェクトに`git
submodule add
[上記のリポジトリー]`として貰うことで、それぞれのプロジェクトにサブモジュールという形で追加され、`Git`で管理（ローカルリポジトリー内でバージョンの変更(`checkout`)や最新のものを取得(`pull`)）出来ますので、バイナリーを配布するより手間が掛からないと思います。  
また、`Carthage`や`CocoaPods`など、特定のシステムに縛られないので、各社がこちらが提供するシステムでない方を採用していたときのバッティングが起きないのもメリットです。


CC BY-SA 4.0
2018-12-17T20:38:39.517
51309
2018-12-20T00:19:17.723
2018-12-20T00:19:17.723
14745
14745
51296
answer


パッケージマネージャであるCocoaPodsやCarthageはいずれもバイナリ配布の仕組みを持っています。Swift Package
ManagerはiOSでは使えないのでここでは省きます。

CocoaPodsなら`vendored_frameworks`または`vendored_libraries`を使います。  
<https://guides.cocoapods.org/syntax/podspec.html#vendored_frameworks>

Carthageなら決まった書式のJSONにライブラリの場所を記述しておくという仕様です。

<https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#binary-
project-specification>


CC BY-SA 4.0
2018-12-18T00:50:42.950
51312
2018-12-18T00:50:42.950
5519
51296
answer