Alejandro Gonzalez
Alejandro Gonzalez

Reputation: 23

Custom Keyboard ViewDidLoad method not printing to console

I've got this simple keyboard, but what I try to print to the console won't show up... Any ideas? This is all done within the folder for the keybaord target, Here's the code:

import UIKit

class KeyboardViewController: UIInputViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {

    @IBOutlet var nextKeyboardButton: UIButton!
    @IBOutlet var collectionView: UICollectionView!

    override func updateViewConstraints() {
        super.updateViewConstraints()
        // Add custom view sizing constraints here
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        print("keyboard view loaded")

        //keyboard nib setup
        let nib = UINib(nibName: "KeyboardView", bundle: nil)
        let objects = nib.instantiateWithOwner(self, options: nil)
        view = objects[0] as! UIView

        //cell setup
        collectionView.registerNib(UINib(nibName: "CustomCell", bundle: nil), forCellWithReuseIdentifier: "MyCell")

        // Perform custom UI setup here
        self.nextKeyboardButton = UIButton(type: .System)

        self.nextKeyboardButton.setTitle(NSLocalizedString("Next Keyboard", comment: "Title for 'Next Keyboard' button"), forState: .Normal)
        self.nextKeyboardButton.sizeToFit()
        self.nextKeyboardButton.translatesAutoresizingMaskIntoConstraints = false

        self.nextKeyboardButton.addTarget(self, action: "advanceToNextInputMode", forControlEvents: .TouchUpInside)

        self.view.addSubview(self.nextKeyboardButton)

        let nextKeyboardButtonLeftSideConstraint = NSLayoutConstraint(item: self.nextKeyboardButton, attribute: .Left, relatedBy: .Equal, toItem: self.view, attribute: .Left, multiplier: 1.0, constant: 0.0)
        let nextKeyboardButtonBottomConstraint = NSLayoutConstraint(item: self.nextKeyboardButton, attribute: .Bottom, relatedBy: .Equal, toItem: self.view, attribute: .Bottom, multiplier: 1.0, constant: 0.0)
        self.view.addConstraints([nextKeyboardButtonLeftSideConstraint, nextKeyboardButtonBottomConstraint])

    }

thanks!

Upvotes: 1

Views: 608

Answers (1)

DarkAgeOutlaw
DarkAgeOutlaw

Reputation: 587

Since a keyboard is an extension you need to run the extension in order to debug it and not the app. Set the active scheme to your keyboard

enter image description here

The circle with the E inside of it means you are loading the extension. It will make you choose an app to run the extension in. As long as you are in that app when you bring up the keyboard it should work.

Upvotes: 6

Related Questions