音视频开发进阶-学习笔记1-iOS项目增加C++支持

前言

本文是《音视频开发进阶指南》一书的2.1章节的读书笔记.

搭建iOS项目基础

使用XCode新建项目工程

通过CocoPod导入相关库

CocoPod的安装每年都有不同的方法,可自行到网上搜索最新方案.

podfile文件中导入的库:

platform :ios, '9.0'  #指定系统平台

target 'RFAVP' do

pod 'Masonry' #约束框架 , 非必要

pod 'Mantle' # 音视频框架

pod 'AFNetworking' #网络请求框架

end

终端执行指令:pod install 安装库

项目增加C++支持

关于关于OC 和 C++混编,推荐看这篇文章:聊聊你不知道的 Objective-C++[必看]

下面分别是Mp3Encoder.hpp、Mp3Encoder.cpp、FirstVC.mm 的创建步骤。


image.png
stpe1 创建控制器

快捷键: command + n 弹出对话框

image.png

选择 Cocoa Touch Class ,然后点NEXT,创建一个新的控制器类


image.png

创建FirstVC控制器完成后,要将FirstVC.m 修改成 FirstVC.mm

step2

快捷键: command + n 弹出对话框

image.png

选择C++ File 创建 : Mp3Encoder.hppMp3Encoder.cpp
image.png

下面分别是Mp3Encoder.hppMp3Encoder.cppFirstVC.mm目前的代码。

Mp3Encoder.hpp 的代码

#ifndef Mp3Encoder_hpp
#define Mp3Encoder_hpp
 
#include 
 
class Mp3Encoder
{
public:
    void encode();
 
};
 
#endif /* Mp3Encoder_hpp */

Mp3Encoder.cpp 的代码

#include "Mp3Encoder.hpp"
 
void Mp3Encoder::encode() {
    printf("C++");
}

FirstVC.mm的代码

//
//  FirstVC.m
//  RFAVP
//
//  Created by PRF on 2021/1/22.
//

#import "FirstVC.h"
#import 

#import 
#include "Mp3Encoder.hpp"
#import 


@interface FirstVC ()

@property (nonatomic,strong) UIButton *EncodeBtn;

@end

@implementation FirstVC

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    self.title = @"音视频进阶";
    [self.EncodeBtn addTarget:self action:@selector(encodeClick:) forControlEvents:UIControlEventTouchUpInside];
}

-(void)encodeClick:(UIButton *)btn{
    Mp3Encoder *encoder = new Mp3Encoder();
    encoder->encode();
    delete encoder;
}


-(UIButton *)EncodeBtn{
    if (!_EncodeBtn) {
        _EncodeBtn = [UIButton new];
        [self.view addSubview:_EncodeBtn];
        [_EncodeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
            make.center.mas_equalTo(0);
            make.width.mas_equalTo(100);
            make.height.mas_equalTo(50);
        }];
        _EncodeBtn.backgroundColor = [UIColor blueColor];
        [_EncodeBtn setTitle:@"音视频测试" forState:UIControlStateNormal];
    }
    return _EncodeBtn;
}
@end

项目验证

FirstVC修改成项目的第一启动控制器, command + r 运行项目, 点击按钮,控制台能够正常打印输出C++,则表示C++支持成功;

image.png

你可能感兴趣的:(音视频开发进阶-学习笔记1-iOS项目增加C++支持)