第3部のフレームワークをXcode Playgroundにインポートするにはどうすればよいですか?
Swift Playgroundには明らかにCocoa
、SpriteKit
をインポートできるフレームワークインポートメカニズムがあり、OSX Playgroundでは、XCPlayground
(iOSからXCPlayground
が欠落しているようですが、奇妙に)
私が本当にやりたいのは、プレイグラウンドからコードを隠し、最小限の例を見せることです。フレームワークをSwift playground?
こちらもご覧ください:
(この質問は、リクエストが単に通常のSwift
ファイルではなく、プレイグラウンドでframeworkを使用することであるため異なります)
編集:Beta5では、プレイグラウンドがフレームワークをターゲットとして構築するワークスペースの一部である場合、これがサポートされるようになりました。 Apple devフォーラムサイトに詳細がありますが、@ Rick Ballardがここに彼の答えに追加してくれることを願っています。
もう以下はしないでください!
短期的には、サポートされるソリューションはありませんが、モジュール/フレームワークを作成している場合、SDKにコピーできますSystem/Library/Frameworks
ディレクトリ、次にimport <#Module#>
システムフレームワークをインポートするのと同じ方法。
OS Xプレイグラウンドの場合:/Applications/Xcode6-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks
IOSの場合:/Applications/Xcode6-Beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.0.sdk/System/Library/Frameworks/
しかし、それを行う前に... @Rickが答えで言っているように、レーダーを提出してください。
現在、独自のフレームワークまたはアプリコードをプレイグラウンドにインポートするためのサポートされている方法はありません。プレイグラウンドエディタに貼り付けることはできません。これは非常に望ましい機能であると認識していますが、いつものように、bugreport.Apple.comで「bugreporterに投票する」ことをお勧めします。
現在、例で表示するためにコードを非表示にしようとしている場合は、エディターでコードを折りたたむとうまくいく可能性があります。
独自のフレームワークをプレイグラウンドにインポートできるようになりました。これにより、アプリケーションとプレイグラウンド間でコードを共有する方法が提供され、どちらもフレームワークをインポートできます。これを行うには、フレームワークを生成するプロジェクトと同じワークスペースにプレイグラウンドが必要です。フレームワークをすでに構築している必要があります。 iOSフレームワークの場合、64ビットの実行先(iPhone 5sなど)向けに構築する必要があります。少なくとも1つのターゲットをビルドするアクティブなスキームが必要です(そのターゲットのビルド場所は、プレイグラウンドのフレームワーク検索パスで使用されます)。 「高度な「場所」設定での)「場所の構築」設定は「レガシー」に設定しないでください。フレームワークがSwiftフレームワークではない場合、[モジュールの定義]ビルド設定は[はい]に設定する必要があります。これらの条件がすべて満たされると、フレームワークのインポートはプレイグラウンドで機能します。
チュートリアル Beta 6のカスタムフレームワークのインポートをカバーしました
つまり、同じプロジェクトまたはワークスペースにプレイグラウンドとフレームワークがあり、フレームワークが64ビット(iOSでも)向けに構築されている場合、それらは非常にうまく連携します。
ビルドされたフレームワークをビルドされた製品ディレクトリにコピーすることで解決しました。ワークスペースのPlaygroundsもフレームワークを検索します。注:また、リポを実行し、FATバイナリから未使用のアーキテクチャを削除する必要があります。
必要な手順(簡単に言えば):
さらに、アプリで集約ターゲットを活用できます。
上記のプロジェクト設定の例を次に示します。 https://github.com/richardnees/CarthagePlaygrounds
ソース: http://qiita.com/ryokosuge/items/2551cd4faa9dca324342
受け入れられた答えを読んだ後、どうやってそれを実行するかを理解するのにまだ苦労している人がいるなら、これは役に立つかもしれません。
英語ではないので、ここで説明します。
カルタゴの使用:
1:プロジェクトのルートにCartfileをセットアップし、ライブラリを追加して実行します:
carthage update --platform iOS --use-submodules
2:プロジェクトがWorkspace
として保存されていることを確認してください。 Xcodeメニューバーから:File
> Save As Workspace
。 Xcodeをシャットダウンし、新しい.xcworkspace
ファイルから再度開きます。
3:ワークスペースにライブラリの.xcodeproj
ファイルを追加します:File
> Add files to "your_workspace_name"
。次にそれを見つけます:${SRCROOT}/Carthage/Checkouts/your_library_name/your_library_name.xcodeproj
4:プロジェクトの一般設定でEmbedded Binaries
およびLinked Frameworks and Libraries
セクションを見つけます。ライブラリの.framework
ファイルを両方に追加します。
5:クリーン(⇧+⌘+ K)およびビルド(⌘+ B)。
6:プレイグラウンドでライブラリをインポートします。
SwiftコードでObjective-Cクラスを使用するように、サードパーティのライブラリ/クラスをプロジェクトにインポートでき、Xcodeは<#YourProjectName>-Bridging-Header
ヘッダーファイル。 [はい]を選択し、そのファイルに必要なすべてのヘッダーファイルをインポートします。その後、プレイグラウンドで、単にimport <#YourProjectName>-Bridging-Header
の後import UIKit
そして、プロジェクトにインポートしたクラスを使用できるようになります。
更新:これは実際には正しくありません。以下の私のコメントをご覧ください。混乱してごめんなさい...