iOS 如何检测软件键盘显示在其他应用程序上?

How to detect software keyboard was displayed on another apps on iOS?

我想知道如何检测软件键盘显示在 iOS 上的其他应用程序上。情况如下:

  1. 在我们的应用程序上显示带有“确定”按钮的警告对话框。
  2. 如果用户点击确定按钮,'App Store' 将显示我们应用程序的页面。
  3. 用户在 App Store 上显示软件键盘。
  4. 用户 returns 到我们的应用。

我想检测用户是否在序列号 4 上显示了 App Store 上的软件键盘。

我们的项目经理希望用户写应用商店的评论,并想知道用户是否写过评论。

但无法检测到其他应用程序的事件。因此,或者,我想知道用户是否在 App Store 上显示了软件键盘。

如果用户在App Store上显示软键盘,我们可以判断'user wrote review',就够了。

一些应用程序实现了这个功能,所以我认为有一些实现它的技巧,但我找不到好的信息或文章。

有人知道怎么实现吗?

您无法在 iPhone 上检测其他应用是否显示虚拟键盘。但是你可以试试这样的东西。

    NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];
    NSString* appID = infoDictionary[@"CFBundleIdentifier"];
    NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?bundleId=%@", appID]];
    NSData* data = [NSData dataWithContentsOfURL:url];
    NSDictionary* lookup = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];