http://www.reibang.com/p/596b4463eacd
黑科技之Beyond Compare在Mac OS系統(tǒng)下永久試用
https://depthlove.github.io/2019/10/18/webrtc-development-5-run-mac-project/
在?WebRTC 開發(fā)(四)源碼下載與更新?一文中部默,我們獲取到了可以在 iOS,macOS 平臺運(yùn)行的 WebRTC 源碼造虎。其中傅蹂,在執(zhí)行命令?fetch --nohooks webrtc_ios?時,我們可以明確看到代碼支持的平臺?ios, mac算凿。
1
2
3
4
5
6
7
8
9
10
11
12
13
suntongmiandeMacBook-Pro:webrtc suntongmian$fetch--nohooks webrtc_ios
Running: gclient root
WARNING: Your metrics.cfg file was invalidornonexistent. Anewone will be created.
Running: gclient config--spec 'solutions = [
? {
? ? "url": "https://webrtc.googlesource.com/src.git",
"managed":False,
? ? "name": "src",
? ? "deps_file": "DEPS",
? ? "custom_deps": {},
? },
]
target_os = ["ios", "mac"]
以前份蝴,我的精力一直放在 iOS 平臺的項目開發(fā)上,現(xiàn)在主要投入 Mac 平臺的項目開發(fā)澎媒,所以,對 Mac 項目的關(guān)注度更大一些波桩。下面的編譯也以 Mac 為切入點(diǎn)戒努。
WebRTC 的編譯可以使用?ninja,也可以使用?Xcode镐躲。本文采用 Xcode 來編譯 WebRTC 的 Mac 工程储玫。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
cd/Users/suntongmian/Documents/workplace
ls
cdwebrtc
ls
cdsrc
ls
lsexamples
lsexamples/objc
lsexamples/objc/AppRTCMobile
gngenout/mac--ide=xcode
# 查看 ~/.bashrc 文件中是否配置有工具 depot_tools 的路徑
cat~/.bashrc
export PATH=$PATH:/Users/suntongmian/Documents/workplace/webrtc/depot_tools
# 啟動 gn 工具
source ~/.bashrc
gngenout/mac--ide=xcode
lsout/mac
# 啟動 Xcode 工程
open-a Xcode.appout/mac/all.xcworkspace
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Last login: Fri Oct1820:59:20on ttys000
The default interactive shell is now zsh.
To update your accounttouse zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
suntongmiandeMacBook-Pro:~ suntongmian$
suntongmiandeMacBook-Pro:~ suntongmian$
suntongmiandeMacBook-Pro:~ suntongmian$
suntongmiandeMacBook-Pro:~ suntongmian$ cd /Users/suntongmian/Documents/workplace
suntongmiandeMacBook-Pro:workplace suntongmian$
suntongmiandeMacBook-Pro:workplace suntongmian$
suntongmiandeMacBook-Pro:workplace suntongmian$ ls
webrtc
suntongmiandeMacBook-Pro:workplace suntongmian$
suntongmiandeMacBook-Pro:workplace suntongmian$
suntongmiandeMacBook-Pro:workplace suntongmian$ cd webrtc/
suntongmiandeMacBook-Pro:webrtc suntongmian$
suntongmiandeMacBook-Pro:webrtc suntongmian$ ls
depot_tools src
suntongmiandeMacBook-Pro:webrtc suntongmian$
suntongmiandeMacBook-Pro:webrtc suntongmian$
suntongmiandeMacBook-Pro:webrtc suntongmian$ cd src/
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$ ls
AUTHORSREADME.chromiumbuildtoolsiospresubmit_test.pystyle-guide.mdwebrtc
BUILD.gnREADME.mdcalllicense_template.txtpresubmit_test_mocks.pysystem_wrapperswebrtc.gni
CODE_OF_CONDUCT.mdWATCHLISTSchromiumloggingpylintrctalkwhitespace.txt
DEPSabseil-in-webrtc.mdcodereview.settingsmediaresourcestest
ENG_REVIEW_OWNERS api common_audio modules rtc_base testing
LICENSE audio common_types.h native-api.md rtc_tools third_party
OWNERS base common_video out sdk tools
PATENTS build data p2p stats tools_webrtc
PRESUBMIT.pybuild_overridesexamplespcstyle-guidevideo
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$ ls examples/
BUILD.gnaarprojectandroidnativeapiobjcnativeapistunproberunityplugin
DEPS androidapp androidtests peerconnection stunserver
OWNERS androidjunit objc relayserver turnserver
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$ ls examples/objc
AppRTCMobileIcon-120.pngIcon-180.pngIcon.pngREADME
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$ ls examples/objc/AppRTCMobile/
ARDAppClient+Internal.hARDExternalSampleCapturer.hARDSettingsModel+Private.hARDStatsBuilder.mRTCIceServer+JSON.m
ARDAppClient.hARDExternalSampleCapturer.mARDSettingsModel.hARDTURNClient+Internal.hRTCSessionDescription+JSON.h
ARDAppClient.mARDJoinResponse+Internal.hARDSettingsModel.mARDTURNClient.hRTCSessionDescription+JSON.m
ARDAppEngineClient.hARDJoinResponse.hARDSettingsStore.hARDTURNClient.mcommon
ARDAppEngineClient.mARDJoinResponse.mARDSettingsStore.mARDWebSocketChannel.hios
ARDBitrateTracker.hARDMessageResponse+Internal.hARDSignalingChannel.hARDWebSocketChannel.mmac
ARDBitrateTracker.mARDMessageResponse.hARDSignalingMessage.hRTCIceCandidate+JSON.htests
ARDCaptureController.hARDMessageResponse.mARDSignalingMessage.mRTCIceCandidate+JSON.mthird_party
ARDCaptureController.mARDRoomServerClient.hARDStatsBuilder.hRTCIceServer+JSON.h
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$ gn gen out/mac --ide=xcode
-bash: gn: command not found
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$ cat ~/.bashrc
export PATH=$PATH:/Users/suntongmian/Documents/workplace/webrtc/depot_tools
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$ source ~/.bashrc
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$ gn gen out/mac --ide=xcode
Generating Xcode projects took200ms
Done. Made1056targets from206filesin2007ms
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$ ls out/mac/
AppRTCMobile.appgenmacroproducts.xcodeproj
WebRTC.frameworkgenmoduleprotoc
all.xcworkspace genperf pyproto
args.gn genstring re2c
build.ninja genversion toolchain.ninja
build.ninja.d low_bandwidth_audio_perf_test.runtime_deps yasm
gen obj
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$open-aXcode.app out/mac/all.xcworkspace
suntongmiandeMacBook-Pro:src suntongmian$
suntongmiandeMacBook-Pro:src suntongmian$
在 Xcode 中執(zhí)行 target 的編譯和運(yùn)行
選擇 target “AppRTCMobile”,執(zhí)行 Run 操作萤皂,運(yùn)行成功后就可以看到彈出的 Mac 端應(yīng)用界面撒穷。