2015-11-23 5 views
1

У меня возникает необычная проблема, когда клавиатура правильно реагирует на действия фокуса ввода в симуляторе (жесткая клавиатура отключена), но когда я создаю и проверка на самом устройстве, клавиатура не появляется.ios9 - Xcode 7 - Swift - Клавиатура правильно отображается в симуляторе, но не на самом устройстве.

Приложение представляет собой простой SFSafariViewController. Нужно ли указывать настройки клавиатуры в Info.plist или что-то подобное?

----- ----- Обновление

Добавление исходного кода:

import UIKit 
import SafariServices 

class ViewController: UIViewController 
{ 
    private var urlString:String = "https://example.com" 

    override func viewDidLoad() 
    { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func viewDidAppear(animated: Bool) { 

     super.viewDidAppear(animated) 

     // This will remove the status (battery, time, etc) bar 
     UIApplication.sharedApplication().statusBarHidden = true 

     let svc = SFSafariViewController(URL: NSURL(string: self.urlString)!) 

     // Kind of a hack, in that we really aren't removing the navbar 
     // Rather we are adjusting the starting point of the vpc object so it appears as the navbar is hidden 
     self.presentViewController(svc, animated: true) { 

      var frame = svc.view.frame 
      let OffsetY: CGFloat = 42 

      frame.origin = CGPoint(x: frame.origin.x, y: frame.origin.y - OffsetY) 
      frame.size = CGSize(width: frame.width, height: frame.height + OffsetY) 
      svc.view.frame = frame 
     } 
    } 

    override func didReceiveMemoryWarning() 
    { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 
} 
+0

как вы пытаетесь ответить на фокус ввода? – BHendricks

+0

Я предполагаю, что с помощью SFSafariViewController он обрабатывается по умолчанию. Я добавил исходный код. –

+0

, так что вы говорите, что в симуляторе вы можете набирать текст на клавиатуре, и он будет работать, но на устройстве клавиатура никогда не появляется, поэтому ничего не может быть напечатано ... правильно? – BHendricks

ответ

1

тьфу. Будучи новичком в развитии ios, я был на 100% уверен, что мой код был обработан, что заставляло клавиатуру не появляться. Таким образом, этим утром я создал тестовый проект и добавил каждую строку кода из моего проекта в тестовый проект, чтобы увидеть, что вызывает вызываемый полом.

После того, как код был добавлен обратно, я снова скомпилировал тестовый проект, и он сработал. Тот же самый точный код, что и обычный проект, wtf? Итак, я понял, что должна быть какая-то кеширующая аномалия, которая вызывает проблему, и, конечно же, я нашел это post о том, как очистить кеш Xcode. После очистки кеша я снова загрузил свой проект, перекомпилировал и, конечно, мой проект работал, как ожидалось.

Итак, если у вас есть сомнения, очистите этот кеш.

+2

Новые версии XCode были супер глючными, почувствовали вашу боль! – royherma

+1

Что больше всего в итоге, я вытащил бинарный файл из iTunes connect, думая, что это проблема с кодом, поэтому потерял 4 дня в очереди :( –