*

Xcode6-Beta3でSwiftでBDDを行うためにQuickを導入しようと思ったが、all-product-headers.yaml:4:13: error: Could not find closing ]!が発生する

公開日: : 最終更新日:2014/07/16 Swift


スポンサードリンク



そろそろQuickを利用しようと思いまたまたハマりました。というかハマり中です。

「Quick」はBDD(ビヘイビア駆動開発)指向のテストフレームワークです。まだ立ち上がったばかりのプロダクトです。
今後、Swiftのテストフレームワークとしてホットになってくると思われます。やはりBDDができるの大きいです。

Quickのページの説明通りに利用してみたのですがテストのビルドエラーが発生します。

本現象はXcode6-Beta3から発生するバグです。

失敗の原因は
all-product-headers.yaml:4:13: error: Could not find closing ]!
で、all-product-headers.yamlの中身に誤った内容が出力され、結果的に

Command /Applications/Xcode6-Beta3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 254

で失敗して終了します。

stackoverflowにドンピシャのやり取りがありました。
「Xcode 6 beta 3: invalid virtual filesystem overlay file」

以下、stackoverflowからの引用です。

  1. Find the /[Long-path-goes-here]/all-product-headers.yaml (Go to Folder… in Finder)
  2. Replace the contents with the code below.
  3. Save and lock the file. (Get info for file, check locked.)

 

lock the fileは
sudo chflags uchg yamlのフルパス
で行います。

この操作のあと再度テストをビルドすると今度は
Unable to write to file yamlのフルパス
とのエラーが発生します。まあ当然な気がします。

この問題に対してもstackoverflowのやり取りに対処法がありました。

It was affecting the build for me (I couldn’t finish the build because of the error). I just set Define Module in ‘Build Setting’ to NO (using the response in the Apple developer forum) and it is working now.

set Define Module in ‘Build Setting’ to NOの操作が分かりません・・・
ここでさまよっています。

Apple developer forumには以下の記述がありましたので、多分これを指していると思います。

I’d like to add/confirm the issue is framework related but more detailed is it’s modules related. Disabling Build Settings -> LLVM 6.0 Language Modules -> Enable Modules stops this error for me. Re-enabling it still causes the error, but hopefully this will help determine a perminant fix.

Disabling Build Settings -> LLVM 6.0 Language Modules -> Enable Modules stops this error for me
が設定の箇所を指しているのだとは思うのですが、私には理解できません。

再度stackoverflowからの引用ですが

No idea what’s going on there. I’m doing Swift stuff so I need everything to define modules and it works for me anyways. Added that fix tho for anyone not on swift.

って結局はSwiftではfixされないのでしょうか・・・

明日も頑張って解決できなければ、とりあえず「Quick」の導入は一時中断しようかと考えています。

2014年7月14日追記
TARGETSのQuick-iOSやNimble-iOSの
Build SettingsのPackaging
Defines ModuleをNOにすればQuickのフレームワークはコンパイルエラーが出なくなりますが、Swiftのテストはキックされません・・・

CocoaPodsでインストールしているライブラリは前述の対応でいけるようですが・・・、数ページの英語をぐるぐる巡回したのでメタバニ状態です。

とさらに色々やっていると
TARGETSのアプリとTARGETSのTestのビルドでエラー(Unable to write to file …)が発生しますが、Quick形式のユニットテストが正しく起動できるようになりました。再現手順が分かったら別エントリーを作成いたします。

最終的にはNimble、Nimble-iOS、Quick、Quick-iOSの「Defines Module」はYESで
all-product-headers.yamlはロックした状態です。

おそらくCleanを実行したらまた動作しなくなるようです。

Update Swift code for Xcode 6 beta 3 #94
commented 6 days agoでXcode 6 beta 3対応終わってるのに、私の環境だけのろわれているのでしょうか・・・

「Xcode6-Beta3でSwiftでBDDを行うためにQuickを導入し動作させる手順」のエントリーを作成いたしました。


スポンサードリンク

Googleアドセンス

Googleアドセンス




関連記事

Swift入門[公式リファレンスのチュートリアルのSteps2の前半]

「Swift」と「Xcode 6」を少しずつさわっていこうと思ってはいるのですが、「Xcode 6

記事を読む

Xcode6-Beta2でSwiftのユニットテスト(Unit Test)をXCTestフレームワークで試してみる。

タイトルの通りですが、Xcode6-Beta2でSwiftのユニットテスト(XCTestフレームワー

記事を読む

iOS8開発者向けお勧め本紹介[詳細! Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応]

iOS7開発者向けお勧め本紹介を以前に紹介させていただきまいたが、今回は同じ著者(大重美幸様)の本を

記事を読む

Xcode6とSwiftでイメージ(画像)やアニメーションを表示する方法

本エントリーでは、Xcode6(言語はSwift)を利用してイメージ(画像)やアニメーションを表示す

記事を読む

Xcode6(Swift)のデリゲートとプロトコルの使い方

Xcode(Objective-C)のデリゲートの使い方では利用言語がObjective-Cの時のデ

記事を読む

動画で英語を学習できるiOSの無料アプリCapTubeをリリースいたしました。

個人では初となるiOSアプリをリリースいたしました。 何度もリジェクトをくらいながら、開発開始

記事を読む

Swift入門[公式リファレンスのチュートリアルのSteps2の後半]

「Swift入門」では、Steps2の前半まで説明させていただきました。 本エントリーでは、

記事を読む

Xcode6(xcode_6_beta_7、Xcode 6 GM seed)のインストール方法

2014年9月22日追記 Xcode6の正式版がリリースされApp Storeからインストール可能

記事を読む

Xcode6_Beta5&SwiftでUITableViewでUINibを使ったカスタムセル(UITableViewCell)を利用する方法

前回は、「Xcode5&Objective-CでUITableViewでUINibを使ったカ

記事を読む

Xcode6とSwiftで画面コンポーネント(UIコンポーネント)を配置して利用するための基本

当然ですが、iOS向けのアプリケーションを作成するためには、 画面に画面コンポーネント(UIコンポ

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

動画で英語を学習できるiOSの無料アプリCapTubeをリリースいたしました。

個人では初となるiOSアプリをリリースいたしました。 何度もリジ

no image
Ruby on rails4系でBootstrapを利用するためのtips

MacでRuby on rails4系のBootstrapを利用しよう

no image
Java、Eclipse、JUnit関連のエントリーの移行のお知らせ

Java、Eclipse、JUnit関連のエントリーは http:/

iOS8開発者向けお勧め本紹介[詳細! Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応]

iOS7開発者向けお勧め本紹介を以前に紹介させていただきまいたが、今回

Swift入門(Xcode6のXCTestフレームワークで学ぶ) 第二回「関数(メソッド)とクロージャーの利用方法」

前回はSwiftの概要をザックリと説明させていただきました。 今

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑