Bug 27654 - No extension keyboard within "Add New Keyboard"
Summary: No extension keyboard within "Add New Keyboard"
Status: VERIFIED FIXED
Alias: None
Product: iOS
Classification: Xamarin
Component: General ()
Version: XI 8.6.0
Hardware: Macintosh Mac OS
: Normal major
Target Milestone: Untriaged
Assignee: Paola Villarreal
URL:
Depends on:
Blocks:
 
Reported: 2015-03-04 12:18 UTC by Rustam Zaitov
Modified: 2015-07-02 08:31 UTC (History)
4 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
screenshot 1 (99.07 KB, image/png)
2015-05-15 13:03 UTC, Paola Villarreal
Details
screenshot 2 (108.13 KB, image/png)
2015-05-15 13:03 UTC, Paola Villarreal
Details
screenshot 3 (93.86 KB, image/png)
2015-05-15 13:04 UTC, Paola Villarreal
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
VERIFIED FIXED

Description Rustam Zaitov 2015-03-04 12:18:23 UTC
I am not sure that this issue relative to XI.

I tried to verify this issue: https://bugzilla.xamarin.com/show_bug.cgi?id=23666 and observed that I can't enable custom keyboard on my devices (iPhone6–64bit and iPadMini 1gen–32bit)

Steps to reproduce:
* download sample https://github.com/xamarin/monotouch-samples/tree/master/ios8/SingleWordKeyboard
* start debug
* Go to Setting > General > Keyboards > Add New Keyboard

There is no sample's custom keyboard under "Third-party keyboards". Proof:
http://www.screencast.com/t/L9ND6OJmtOos

About XS: https://gist.github.com/rzaitov/a6fe79e5a66572cee3a7
I tried this test case with XCode 6.2 betta 5 [6.2 6C121] and with XCode 6.3 betta 2 [6.3 6D532l] – result is the same.
Comment 1 Rustam Zaitov 2015-03-04 12:28:14 UTC
I checked that Plugins folder exists with *.appex file within bundle

Also build output
https://gist.github.com/rzaitov/7a8287ee4b05ac8b4bdd

Also I tried to create new app with keyboard extension from XS template and observed the same result – there is no custom keyboard under "third-party keyboards"
Comment 3 Sebastien Pouliot 2015-03-04 12:56:42 UTC
* What iOS version are the device(s) running ?

* Can you log at the device logs while running settings ? you should see iOS looking for the plist (minimally) and that might give some clues about what's going on
Comment 4 Rustam Zaitov 2015-03-09 08:30:15 UTC
Device log from iPhone6 (iOS 8.1.3):
https://gist.github.com/rzaitov/1d27cd129bdc2c138cea

* App installed https://gist.github.com/rzaitov/1d27cd129bdc2c138cea#file-gistfile1-txt-L37
* Strange assertion failure on app and Setting launch https://gist.github.com/rzaitov/1d27cd129bdc2c138cea#file-gistfile1-txt-L95-L101

There was no looking for the plist ((
Comment 5 Sebastien Pouliot 2015-03-09 08:36:05 UTC
@Paola can you check if the sample is based on an old (broken?) template ? and update it. If it's not template based then there's an issue that msbuild tests should have caught (and worth investigating).
Comment 6 Paola Villarreal 2015-03-12 14:45:25 UTC
So, if you add another keyboard extension (Add New Project -> iOS -> Custom Keyboard Extension) and then add it as a new reference to the Host App, the new extension will be shown on the Add New Extension dialogue but (after a Clean All) not the old one.

I will be working towards updating the template for this sample.
Comment 7 Paola Villarreal 2015-03-17 18:16:36 UTC
Commit d0f53da67d37defc86603472244a63cea733e1a4 on monotouch-samples fixes this :)
Comment 8 Rustam Zaitov 2015-05-12 16:47:18 UTC
this fix doesn't work for me ((( I am not able to add custom keyboard via settings. 

Also according to you comment:
> and then add it as a new reference to the Host App
this change looks strange for me:
https://github.com/xamarin/monotouch-samples/commit/d0f53da67d37defc86603472244a63cea733e1a4#diff-2e415e841b46007e4e30cc0223e6d46fL124

Why did you remove reference to extension project?
I tried to reference keyboard extension back, but this didn't help

Any thoughts?

AboutXS:
https://gist.github.com/rzaitov/af4be00520bd725a1354
Comment 9 Paola Villarreal 2015-05-15 13:01:42 UTC
Hey! I tested this (brand new checkout of monotouch-samples) and i can add the Keyboard in General -> Keyboards -> Add new keyboard in both simulator and device... using iOS 8.2 and 8.3

Attached screenshots.
Comment 10 Paola Villarreal 2015-05-15 13:03:37 UTC
Created attachment 11215 [details]
screenshot 1
Comment 11 Paola Villarreal 2015-05-15 13:03:58 UTC
Created attachment 11216 [details]
screenshot 2
Comment 12 Paola Villarreal 2015-05-15 13:04:24 UTC
Created attachment 11217 [details]
screenshot 3
Comment 13 Rustam Zaitov 2015-05-15 14:36:36 UTC
I figure out the problem.
First of all I reverted yours changes in SingleWordKeyboard.csproj file, because Host app MUST have ref to Extension project.

Then I set deployment target to 8.1 for Extension project (minimum possible). This was the issue because if deployment target is not set XS picks maximum value (8.4 at this point) this means that Extension will be discarded by iOS below 8.4 (e.g. I have 8.3).
As an example of this issue. Here is an device log from my phone:

-[MIInstaller performInstallationWithError:]: Installing <MIInstallableBundle ID=com.your-company.SingleWordKeyboard; Version=1.0, ShortVersion=1.0>

-[MIBundle isApplicableToCurrentOSVersionWithError:]: 368: The system version is lower than the minimum OS version specified for bundle at /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.s3PU5g/extracted/SingleWordKeyboard.app/PlugIns/com.your-company.SingleWordKeyboard.KeyboardExtension.appex. Have 8.3; need 8.4

-[MIBundle pluginKitBundlesWithError:]: Ignoring plugin at /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.s3PU5g/extracted/SingleWordKeyboard.app/PlugIns/com.your-company.SingleWordKeyboard.KeyboardExtension.appex because it doesn't work on this OS version
Comment 14 Rustam Zaitov 2015-05-15 14:37:04 UTC
closing the issue
Comment 15 Udham Singh 2015-07-02 08:31:44 UTC
As per comment 14, I am marking this issue as Verified-Fixed.

Thanks!