2017-09-30 13 views
0

私はSwiftプロジェクトのXcode 9で作業していますが、これでテーブル反転モードになります。私のプロジェクトにプレイグラウンドを含める

ここに私の最終目標があります:私のロジックを遊び場に置いて論理を書いてみると、テストはリアルタイムに近いことがわかります。

私は自分自身でテストを行う方法も受け入れますが、ちょっとしたことごとにシミュレータでテストを実行したくないのです。

これを動作させるための私の問題は多くあります。まず第一に、プロジェクト/ワークスペースに直接遊び場を追加する方法を見つけることができません。私は右のプロジェクトナビゲータでグループをクリックして「新規ファイル...」を選択すると、私はこれを取得:

New file dialog

あなたが見ることができるように、遊び場のためのオプションなし。フィルタリングでも結果は返されません。プロジェクトナビゲータの下部にあるプラスボタンを押すと、同じダイアログ(プレイグラウンドオプションなし)がポップアップします。

私はそれが別のメニューにあると思ったので、ファイルメニューに行きました。そして、 "新規>"で遊び場を作るためのオプションが見つかりました。選択した場所から空白のプレイグラウンドを選択し、保存する場所を選択します(「保存されていないXcodeドキュメント」に保存することが奇妙です)。新しいタブには基本的なプレイグラウンドが表示されます。私が気付いた不思議なことは、このタブの上部に再生ボタンやスキーム/シミュレータセレクタがなくなったことです。

Appleが提供しているモジュール以外のモジュールは認識されません。そして確かに、プレイグラウンドを作成してもそれを実際に私のワークスペースに追加するわけではありません。私は手動で私のプロジェクトに追加する必要がありますね。そうすると、私のポッドが認識されますが、私のプロジェクトファイルはありません!私が使用しようとするクラスはどれもUnrecognized identifierです。 importに連絡すると、私のプロジェクトはうまくいきません。ちょうど私にNo moduleが届きます。

DerivedDataをクリアしてみました。私はクリーニングを試みましたが、Xcodeを再起動しました。私はシミュレータのリストにiPad Proがあることを確認しました。

不満の中で、私は遊び場を削除し、私のテストを常に実行することに対処するために解決しました。しかし、今、私のプロジェクトは永続的なエラーがあります!遊び場をゴミ箱に移動したにもかかわらず、Swiftはその遊び場の「未解決の識別子」と誤解し続けています!

+0

なぜdownvotes ?? –

答えて

1

優れたBrandon Williamsは、FrenchKitでの彼のトークでは、遊び場 "does not get access to anything in the application target."と言っていますが、ちょっと、あなたは何をするつもりですか。答えは、現在私が尋ねたようにこれを行う方法はありません。

ロジックが独自のフレームワーク/ココアポッドにある場合、この機能を実現することは可能です。つまり、テスト対象のロジックをアプリケーションターゲットの外に移動し、外部ライブラリに移動してからアプリをインポートします。これにより、あなたの遊び場にもそれをインポートすることができ、あなたの心のコンテンツをテストすることができます。

関連する問題