标签: siri-remote

当按下遥控器上的菜单按钮时,Apple TV App不会从初始视图控制器退出到主屏幕

我刚刚因为苹果电视应用被拒绝了

'此外,Siri Remote上的菜单按钮在您的应用中的行为与预期不符.具体来说,当用户启动应用程序并点击Siri遥控器上的菜单按钮时,该应用程序不会退出Apple TV主屏幕.

我正在查看这个,我可以告诉这应该是在初始视图控制器上按下菜单按钮的自动行为.但是我有一个带有根视图控制器的导航控制器,通过故事板自动实例化,没有方法被覆盖,当我按下此视图控制器上的菜单按钮时没有任何反应.

有人可以告诉我,如果我遗失了某些东西,或者有没有办法手动实现这个?

我想我可以截取菜单按钮并按下exit(0),但这似乎不是一种优雅的退出方式.

objective-c apple-tv tvos siri-remote

10
推荐指数
1
解决办法
2316
查看次数

如何区分 Siri Remote 按钮按下和游戏手柄按钮按下?

pressesBegan(_ presses: Set<UIPress>, with event: UIPressesEvent?)在我的 ViewController 上写了一个覆盖。

  open override func pressesBegan(_ presses: Set<UIPress>, with event: UIPressesEvent?) {
    #if os(tvOS)
    for press in presses {
      switch press.type {
      case .menu: print("menu"); break;
      case .select: print("select"); break;
      case .playPause: print("playPause"); break;
      default: break;
      }
    }
    #endif
  }
Run Code Online (Sandbox Code Playgroud)

当我按下 Siri Remote 上的“菜单”按钮时UIPress,它会正确地看到已press.type设置为.menu

但是,当我在已连接到 Apple TV 的 DualShock 4 游戏手柄上按“圆圈”( )时,它也会收到一个.menu新闻事件buttonB。这是正常的吗?它是记录在案的行为吗?(我认为这个想法是让应用程序“自动”使用游戏手柄进行导航。)

我并不总是希望“游戏手柄上的 B”和“遥控器上的菜单”做同样的事情。我如何区分这两种情况?既没有UIPressesEvent也没有UIPress似乎在他们的领域中携带任何关于哪个设备发起按键的信息。还有其他方法吗?

apple-tv gamepad swift tvos siri-remote

10
推荐指数
1
解决办法
225
查看次数

在 SwiftUI 中检测 Siri Remote 滑动

您如何从 SwiftUI 识别 Siri Remote 滑动手势。

我似乎还没有实施,那么我该如何解决呢?

tvos siri-remote swiftui

9
推荐指数
1
解决办法
163
查看次数

获取Siri Remote方向(或获取更改通知?)

我一直在寻找一种方法来检查Siri Remote的当前方向或注册Siri Remote方向更改,但我还没有找到任何东西.是否可以这样做(不需要解释原始重力数据)?

已经发现了如何与"microGamepad""allowsRotation"禁用自动方向变化.哪个很酷!

orientation-changes apple-tv tvos siri-remote

8
推荐指数
1
解决办法
340
查看次数

tvOS - 在推 - 视 - 控制器转换期间按下MENU按钮

我的tvOS应用程序中有一个UIViewController,它只会显示几秒钟,并且需要完全可自定义的MENU按钮处理.我创建它是这样的:

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Add a tap gesture recognizer to handle MENU presses.
    UITapGestureRecognizer *tapGestureRec = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
    tapGestureRec.allowedPressTypes = @[@(UIPressTypeMenu)];
    [self.view addGestureRecognizer:tapGestureRec];
}

- (void)handleTap:(UITapGestureRecognizer *)sender
{
    // Code to process the MENU button is here.
}
Run Code Online (Sandbox Code Playgroud)

我用以下方式显示视图控制器pushViewController:animated::

UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:identifier];
[self pushViewController:controller animated:isAnimated];
Run Code Online (Sandbox Code Playgroud)

我发现,如果用户在屏幕开始出现时立即按下MENU,同时仍然显示交叉渐变过渡效果,他们可以躲避UITapGestureRecognizer并返回到之前的屏幕,这不是预期的.它们也可以通过一遍又一遍地捣碎菜单来引起问题 - 最终它们将逃脱他们不应该做的事情.

如何确保MENU按下始终达到我的覆盖?有没有办法指定一个包含应用程序的MENU按钮处理程序,仍然使用UINavigationController?

uiviewcontroller uitapgesturerecognizer tvos siri-remote

8
推荐指数
1
解决办法
1165
查看次数

tvOS - 通过非Siri遥控器进行游戏控制

我正在使用Objective-C开发一款游戏.Siri遥控器通过GCMicroGamepad可以很好地工作,真正的MFi控制器可以通过GCGamepad很好地工作.但是,第三方IR遥控器在游戏中根本不起作用(iPhone上的远程应用程序或旧的Apple TV第三代遥控器也没有).

如何识别和区分这些输入?


两天后......我发现当使用第三方电视遥控器或iPhone Remote.app时,可以使用UITapGestureRecognizer正确检测Up,Down,Left,Right和Select事件.定向事件实际上对于这些类型的遥控器也是唯一的--Siri遥控器不会生成定向抽头事件.不幸的是,点击Siri遥控器或第三方或iPhone Remote.app上的选择按钮将从我的点击识别器生成一个Select事件.我需要一些方法来区分这两者.

我能找到的唯一区别因素是点击Siri遥控器还会在GCMicroGamepad上生成按钮-A按下 - 第三方遥控器或iPhone Remote.app根本不会影响GCMicroGamepad.但尝试观看GCMicroGamepad以进行点击释放事件,然后使用该事件过滤掉匹配的"选择"按钮事件是非常不优雅的.当然不推荐使用API​​; 它似乎不是一个好的长期解决方案.如果我能告诉Siri遥控器在GCMicroGamepad模式下停止生成UI事件,那将是非常好的.

objective-c gamepad tvos siri-remote

7
推荐指数
1
解决办法
341
查看次数

通过蓝牙从iPhone检测Siri Remote

是否可以使用iOS应用程序检测Apple TV 4 Siri Remote CoreBluetooth?我能够检测到Apple TV,但是我没有运气检测到Siri Remote.在Siri的远程使用蓝牙4.0,所以我假设它是检测到.理想情况下,我想检测Siri Remote,即使它已经与Apple TV配对了.

只需能够检测来自Siri Remote的任何信号/知道它在用户iPhone附近就是我所追求的.

#import "ViewController.h"
@import CoreBluetooth;

@interface ViewController () <CBPeripheralDelegate, CBCentralManagerDelegate>

@end

@implementation ViewController {
    CBCentralManager *btManager;
}

-(void)viewDidLoad {
    [super viewDidLoad];
    btManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
}

#pragma mark - CBCentralManagerDelegate Methods

-(void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary<NSString *, id> *)advertisementData RSSI:(NSNumber *)RSSI {
    NSLog(@"peripheral name: %@", peripheral.name);
    NSLog(@"peripheral services: %@", peripheral.services);
    NSLog(@"peripheral identifier: %@", peripheral.identifier);
    NSLog(@"peripheral state: %ld", (long)peripheral.state);
    NSLog(@"RSSI: %@ \n\n", RSSI);
}

-(void)centralManagerDidUpdateState:(CBCentralManager …
Run Code Online (Sandbox Code Playgroud)

bluetooth ios apple-tv core-bluetooth siri-remote

6
推荐指数
0
解决办法
658
查看次数

Siri远程陀螺仪是否可以在tvOS模拟器上运行?

如果我通过蓝牙将我的Siri遥控器连接到我的MacBook,然后运行tvOS模拟器,它会检测运动事件吗?

apple-tv tvos siri-remote

5
推荐指数
1
解决办法
349
查看次数

tvOS - 替换 UISlider

我正在为 tvOS 扩展 iOS 应用程序。

在 iOS 应用程序上,我有很多滑块(两侧滑块用于选择年份范围,例如 1950-2010。或从 0.1 到 10.0 的值)。

我想知道如何在 tvOS 上替换此功能。我最初的想法是覆盖 Siri 遥控器的音量按钮并更改值,但我不认为这Apple会允许这样做。

有什么建议吗?

uislider tvos siri-remote

5
推荐指数
1
解决办法
2337
查看次数

检测 Siri Remote 上的音量和主页按钮

检测 tvOS Siri Remote 上的某些按钮按下是相对简单的:暂停/播放按钮、触摸板区域,以及稍微多一点的MENU按钮。但是似乎无法检测或覆盖+-按钮、Siri 或主页按钮的功能。

或者有吗?

gamepad tvos siri-remote

5
推荐指数
1
解决办法
704
查看次数

如何检测Apple TV遥控器上触摸板上的点击按键?

如何在siri遥控器的触摸板上检测到"点按",而不仅仅是点按?

编辑:我的主要问题是我的视图有一个接收该事件的UIButton.

swift tvos siri-remote

4
推荐指数
1
解决办法
2415
查看次数

Siri Remote.定向箭头

我在tvOS上的Apple默认AVPlayerViewController中发现了一种行为.如果您调用时间轴,您可以在其中放回或快进视频,然后如果您将手指放在触摸板的右侧而不是SiriRemote,则当前播放时间旁边会出现"10"标签

截图

如果在不按遥控器的情况下移开手指,"10"标签将消失.

触摸遥控器的左侧相同,只有"10"标签出现在当前播放时间的左侧.

问题是,我怎样才能收到此次活动的回调?用户将手指放在遥控器一侧的事件.

UPD

具有allowedPressTypes = UIPressTypeRightArrow的UITapGestureRecognizer将在用户从触摸表面释放手指后生成事件.我对用户触摸表面边缘时会产生的事件感兴趣(并且可能会让手指休息)

uigesturerecognizer tvos siri-remote

3
推荐指数
1
解决办法
518
查看次数

按下显示的模态视图控制器时,允许菜单按钮退出 tvOS 应用程序

我有一个 tvOS 应用程序,其中 aUITabBarController作为主情节提要的主要入口点。如果用户未登录,则UITabBarController显示LoginViewController模态。

当用户按下 Siri 遥控器上的菜单按钮时,系统会自动关闭LoginViewController并显示UITabBarController。我希望应用程序退出到 tvOS 床头板。

希望解决方案涉及UITapGestureRecognizer覆盖菜单按钮操作或覆盖pressesBegan/pressesTouched,但我还没有找到解决方案。

storyboard tvos siri-remote

0
推荐指数
1
解决办法
2028
查看次数