2015-07-19 13 views
0

Хотите знать, если кто-то оказывает или имел этот вопрос, я просто побежал тест по умолчанию, производимую с передней спецификации RubyMotion вRubyMotion, получая еще одно окно [FAILED -. 2 == (1) не], когда я запускаю тест по умолчанию

describe "Application 'UIAlert'" do                        
before do 
    @app = UIApplication.sharedApplication 
end 

it "has one window" do 
    @app.windows.size.should == 1 
end 
end 

Это терпит неудачу с этой ошибкой:

Application 'UIAlert' 
- has one window [FAILED - 2.==(1) failed] 

Bacon::Error: 2.==(1) failed 
    spec.rb:769:in `satisfy:': Application 'UIAlert' - has one window 
    spec.rb:783:in `method_missing:' 
    spec.rb:316:in `block in run_spec_block' 
    spec.rb:459:in `execute_block' 
    spec.rb:316:in `run_spec_block' 
    spec.rb:331:in `run' 

Я не уверен, как бы мое приложение могло иметь более одного окна, что-то я не хватает? :(

ответ

1

Вы используете iOS8 SDK? IOS8 представил UITextEffectsWindow - это создается в дополнение к окну приложения, поэтому @ app.windows.size == 2, а не 1. Вы можете проверить это, запустив приложение и в РЕПЛИ глядя на 2 окна объектов.

(main)> UIApplication.sharedApplication.windows[0] 
=> #<UIWindow:0x11280d700> 
(main)> UIApplication.sharedApplication.windows[1] 
=> #<UITextEffectsWindow:0x10b6127a0> 

Я хотел бы предложить изменения спецификации по умолчанию на тот, который проверяет, что окно приложения имеет RootViewController по умолчанию, например.

+0

Это было действительно так, решил мое любопытство . Благодаря. –