iOS设备使用Airplay投屏时无法显示推送通知的解决方案咨询
原生AirPlay投屏iOS设备时推送通知被拦截问题说明
我日常会使用AirPlay对iOS设备进行测试、演示和开发工作,尤其是推送通知相关的开发。这是因为虽然可以将.apns文件拖入模拟器,但模拟器本身并不支持APNs。
iOS 15发布后,运行Monterey系统的macOS设备可直接作为AirPlay接收端,通过AirPlay就能将iOS屏幕投屏到macOS上,此前这类投屏需求一般需要使用AirServer这类第三方工具实现。但目前使用原生AirPlay投屏时,所有推送通知都会被隐藏。
在Console.app中可以查询到对应的拦截日志:
com.apple.pushLaunch.com.apple.mobilenotes:AC2295:[ {name: ApplicationPolicy, policyWeight: 50.000, response: {Decision: Absolutely Must Not Proceed, Score: 0.00, Rationale: [{[pushDisallowed]: Required:1.00, Observed:0.00},]}} ], FinalDecision: Absolutely Must Not Proceed}
该问题在设备使用AirPlay时稳定复现,关闭AirPlay后问题立即消失,测试过程中并未开启任何“专注”模式。
我也尝试过使用QuickTime Player投屏,但选中设备后仅显示黑屏,该方案一直存在较多bug,可用性较差。
目前似乎只能通过外接相机拍摄iOS屏幕,才能完成推送通知的开发、测试或演示工作。
补充说明
尽管macOS Monterey新增了AirPlay接收端支持,但对开发者而言其使用体验远不如第三方工具:投屏时必须全屏,除设备投屏画面外其余所有屏幕区域都会变黑,无法同时操作Mac上的其他内容。
内容的提问来源于stack exchange,提问作者Ben Butterworth
相关产品推荐
相关产品推荐

