ios - 表示されない - uinavigationbar title




Swiftコードを他のプロジェクトで再利用するには? (2)

  1. 再利用可能なコード用に新しいプロジェクト(iOS Cocoa Touch Framework)を作成する
  2. あなたのクラスをそのフレームワークプロジェクトに移動する
  3. あなたのメソッドとクラスをマークしてください。 publicれているように他の人に見えるようにしてください

  4. ワークスペースを作成します。
    手順1でワークスペースを作成することができます。新しいフレームワークプロジェクトを作成すると、新しいワークスペースを作成してそのプロジェクトをワークスペースに追加するかどうかを確認するメッセージが表示されます。 これが最良のアプローチです

  5. プロジェクトとフレームワークの両方をワークスペースに追加する
  6. プロジェクトターゲット - >一般タブを選択します。 フレームワークとライブラリを追加する(ここにあなたのライブラリを追加する)
  7. あなたのライブラリのコードをすばやいファイルで使いたいときは、それをimport 'LibTargetName'

私はSwiftにクラスを書いた。 私が書いた2つの別々のiOSアプリプロジェクトでこのコードを使用したいと思います。 共有コードとアプリは両方ともSwiftで書かれています。 それをする最善の方法は何ですか?

私は、Swiftでフレームワークとライブラリの両方を作成し、それをサブプロジェクトとしてアプリケーションに追加しようとしました。 どちらの場合でも、私はアプリにモジュールを見せられませんでした。 私は、主なアプリケーションのターゲットの "Target Dependencies"と "Link Binary With Libraries"に共有モジュールを追加しようとしました。 いいえ運がない - アプリはまだ共有モジュールのクラスを見ることができません。

Xcode6 Beta6を使用しています。

溶液

Konstantin KovalとHeliemが指摘したように、私が必要としたのは、クラスとメソッドの宣言で共有モジュールをpublicすることでした。 今、すべての作品は、私はワークスペースを使用して、私はサブプロジェクトとしてモジュールを追加する場合。

更新

Swiftのプロジェクト間でコードを再利用するための優れた簡単なソリューションが見つかりました。 これはCarthage( https://github.com/Carthage/Carthage )と呼ばれていhttps://github.com/Carthage/Carthage 。 これはプラグインではありませんので、私はそれと関連していません、私は本当にそれが好きです。 iOS 8以降で動作します。


SWM (Swift Modules)を使用すると、よりプログラム的なアプローチをとることができます: https://github.com/jankuca/swm : https://github.com/jankuca/swm

npm (node.jsパッケージマネージャ)またはbower (クライアントサイドモジュールマネージャ)と非常によく似ています。 依存関係を以下のようなswiftmodule.jsonファイルに宣言します。 2つのJSソリューションのような中央モジュールレジストリはありません。git URLのみを受け入れます。

{
  "name": "ProjectName",
  "dependencies": {
    "Dependency": "git://github.com/…/….git"
  }
}

... swm installを実行し、 Dependencyモジュール( *.swiftmoduleバイナリにコンパイルされたもの)を.modules/ディレクトリのインポート用に準備します。

import Dependency

また、アプリケーション開発のためにXcodeをスキップしたい場合は、 swm build (プロジェクトのreadmeの詳細)を使用してアプリケーション全体を構築することもできます。

このプロジェクトはまだ初期段階ですが、少なくとも私にとっては非常に有益です。 インポート可能なモジュールを作成するための最もクリーンな方法を提供します。







swift