美文网首页
iOS12以上版本 直播屏幕 遇到的坑 Replay

iOS12以上版本 直播屏幕 遇到的坑 Replay

作者: cattsoft | 来源:发表于2020-11-23 12:08 被阅读0次

    背景:app升级版本,需要新建项目,移植功能模块。

    弹出extension列表,发现什么都没有,找了半天原因,又把之前的流程理了一遍,没发现问题。

    如图:

    什么app都没有。。。

    最后在新建项目里发现了问题,我用的测试手机系统版本是iOS12.0,但是新建的extension APP版本太高了!!!

    如图:

    意识到这个问题后就没有问题了,把iOS14.0改成12.0运行后成功了。

    如图:

    ==============================================================

    1      RPSystemBroadcastPickerView    寻找button。

    代码如下:

    .h 文件

    #import

    NS_ASSUME_NONNULL_BEGIN

    @interface RPSystemBroadcastPickerView (FindButton)

    - (UIButton *)findButton;

    @end

    NS_ASSUME_NONNULL_END

    .m 文件

    #import "RPSystemBroadcastPickerView+FindButton.h"

    @implementation RPSystemBroadcastPickerView (FindButton)

    - (UIButton *)findButton {

        return [self findButton:self];

    }

    - (UIButton*)findButton:(UIView*)view {

        if(!view.subviews.count) {

            returnnil;

        }

        if ([view isKindOfClass:[UIButton class]]) {

            return(UIButton*)view;

        }

        UIButton*btn;

        for(UIView*subViewinview.subviews) {

            UIView*destinationView = [selffindButton:subView];

            if(destinationView) {

                btn = (UIButton*)destinationView;

                break;

            }

        }

        returnbtn;

    }

    @end

    2 : 初始化

    #pragma mark 初始化系统录屏按钮 RPSystemBroadcastPickerView

        if(@available(iOS12.0, *)) {

            self.picker = [[RPSystemBroadcastPickerView alloc] initWithFrame:CGRectZero];

            //不显示话筒,麦克风按钮默认显示

            self.picker.showsMicrophoneButton = NO;

            //preferredExtension设置成自己的 bundel ID就只会显示自己记得APP Extension,默认显示的是所有的Extension列表,包括其他APP的Extension

            self.picker.preferredExtension = @"你的APP Extension的bundel ID";

        }else{

            // Fallback on earlier versions

        }

    3: 使用

    @property (nonatomic,strong)RPSystemBroadcastPickerView *picker;

    #pragma mark显示Extension列表

        //直接获取RPSystemBroadcastPickerView的button

        UIButton*btn = [self.picker findButton];

        //调用button点击方法,去显示Extension列表

        [btn sendActionsForControlEvents:UIControlEventAllTouchEvents];

    =============================================================

    相关文章

      网友评论

          本文标题:iOS12以上版本 直播屏幕 遇到的坑 Replay

          本文链接:https://www.haomeiwen.com/subject/qmvmiktx.html