自分のプロジェクトからPlaygroundに自分のクラスをインポートする方法
質問
このような設定を想定してください。
- Xcode 6プロジェクトがあり、Objective-CとSwiftの両方で独自のクラス(MyViewとMyViewControllerなど)を実装しています。
- プロジェクトにプレイグラウンドを追加しました。
プレイグラウンドでは、以下のようなモジュール(フレームワーク)をインポートすることが可能です。
UIKit
を使って
import
キーワードを使用します。プレイグラウンドからプロジェクトの他のクラスにアクセスできるようにするにはどうすればよいですか?
プロジェクトのクラスに直接アクセスしようとしただけで、エラーメッセージが表示されます。 未解決の識別子 'MyView' を使用しています。
どのように解決するのですか?
Xcode 6.0 Beta 5 では、独自のフレームワークをプレイグラウンドにインポートすることが可能になりました。これは、アプリケーションとプレイグラウンドの間でコードを共有する方法を提供するもので、両方ともフレームワークをインポートすることができます。これを行うには
-
あなたのプレイグラウンドは、フレームワークを生成するプロジェクトと同じワークスペースになければなりません。ワークスペースには、事前に構築されたフレームワークを使用するのではなく、フレームワークを生成するターゲットが含まれていなければなりません。
-
フレームワークをすでにビルドしている必要があります。iOS フレームワークの場合、64 ビットの実行先 (例: iPhone 5s) 向けにビルドし、シミュレータ向けにビルドする必要があります。
-
少なくとも 1 つのターゲットをビルドするアクティブなスキームが必要です (そのターゲットのビルド場所は、プレイグラウンド用のフレームワーク検索パスで使用されます)。
-
あなたの "Build Location" 環境設定 (Xcode の高度な "Locations" 設定内) は "Legacy" に設定されてはなりません。
-
フレームワークが Swift フレームワークでない場合、"Defines Module" ビルド設定は "Yes" に設定されなければなりません。
-
フレームワークのプレイグラウンドにimportステートメントを追加する必要があります。
これらの条件をすべて満たせば、フレームワークのインポートはプレイグラウンドで動作するようになります。
Xcode 7では、フレームワークをインポートする代わりに、独自のクラスをソースとしてインポートするために使用できる別のメカニズムが導入されました。 http://help.apple.com/xcode/mac/8.0/#/devfa5bea3af
関連
-
クラッシュエラー libc++abi.dylib: NSException 型のキャッチできない例外で終了_allanGold のブログ - ProgrammerITS401
-
IOSラーニングノート「このクラスはxxxのキーバリューコーディングに対応していません」問題解決
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] NSの接頭辞はどういう意味ですか?
-
[解決済み] UITableViewCell、スワイプ時に削除ボタンを表示させる
-
[解決済み] UIDevice uniqueIdentifierは非推奨 - どうしたらいいの?
-
[解決済み] 16進カラーバリューの使用方法
-
[解決済み] Objective-CフレームワークをSwiftプロジェクトにインポートする際、Bridging Headerで「ファイルが見つかりません」と表示される。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
dyld: ライブラリがロードされていません。エラーの解決
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] Objective-Cでデリゲートを作成するにはどうしたらいいですか?
-
[解決済み] Xcode 12、iOS Simulator用にビルドしても、iOS用にビルドされたオブジェクトファイルでは、アーキテクチャ「arm64」用にリンクされます。
-
[解決済み] フレームワークを使用したiOSアプリがデバイス上でクラッシュ、dyld: ライブラリがロードされない、Xcode 6 Beta
-
[解決済み] UIViewに角丸をつける
-
[解決済み] SwiftでURLから画像を読み込む/ダウンロードする
-
[解決済み] Swift 3, 4, 5 で dispatch_after GCD を書くにはどうしたらいいですか?
-
[解決済み] UITableView - トップにスクロールする
-
[解決済み] Swiftで配列に要素を追加する