1. 程式人生 > >理解iOS開發中的BitCode功能

理解iOS開發中的BitCode功能

最近在輔導我戴維營戰友們做手機音視訊直播的App,除錯的時候手機採集音視訊,視訊用h264編碼,音訊採用aac編碼,通過RTMP協議往鬥魚直播頻道釋出媒體流,專案需要用FFMPEGlibx264兩個開源專案,在編譯為iOS框架庫提供給學生用的時候,他們遇到了bitcode的問題,雖然可以採取直接關閉bitcode來避免錯誤,但是戰友的求知慾必須滿足,格物致知,必須讓其知其究竟.

libx264是VideoLan基金會管理的一個視訊編解碼的開源專案,其大量使用了各個平臺的多媒體彙編指令進行了優化,在編譯為不帶bitcode的庫的時候,完全按官方autotools編譯方法是沒有任何問題的;編譯全帶bitcode的庫的時候我們不得不關閉彙編優化,在執行./configure

階段可以加上--disable-asm引數來禁用匯編.但是,這個選項在configure指令碼中的實現機制有問題.導致其仍然呼叫了彙編的函式,但是彙編的程式碼卻沒有編譯進去,從而會導致專案為真機構建和打包的連結階段會爆出找不到符號的錯誤,這樣就不能做到兩全其美.出於輕微程度的強迫症影響,故把之前的FFMPEGlibx264專案的編譯指令碼進行了改進和打補丁.目前已經可以做到一鍵編譯出帶全部bitcode的FFMPEG和libx264的框架了.

相關推薦

理解iOS開發BitCode功能

最近在輔導我戴維營戰友們做手機音視訊直播的App,除錯的時候手機採集音視訊,視訊用h264編碼,音訊採用aac編碼,通過RTMP協議往鬥魚直播頻道釋出媒體流,專案需要用FFMPEG和libx264兩個開源專案,在編譯為iOS框架庫提供給學生用的時候,他們遇到了bitcode的

深入理解 iOS 開發的鎖

摘要 本文的目的不是介紹 iOS 中各種鎖如何使用,一方面筆者沒有大量的實戰經驗,另一方面這樣的文章相當多,比如 iOS中保證執行緒安全的幾種方式與效能對比、iOS 常見知識點(三):Lock。本文也不會詳細介紹鎖的具體實現原理,這會涉及到太多相關知識,筆者不

iOS開發Block的理解與使用

// 隨機生成的顏色 UIColor *color = [UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1]; // 第二步 給Blo

iOS開發記憶體管理的一點總結與理解

做iOS開發也已經有兩年的時間,覺得有必要沉下心去整理一些東西了,特別是一些基礎的東西,雖然現在有ARC這種東西,但是我一直也沒有去用過,個人覺得對記憶體操作的理解是衡量一個程式設計師成熟與否的一個標準。好了,閒話不說,下面進入正題。 眾所周知,ObjectiveC的記憶體

iOS開發WiFi相關功能總結

1.Ping域名、Ping某IP 有時候可能會遇到ping 某個域名或者ip通不通,再做下一步操作。這裡的ping與傳統的做get或者post請求還是有很大區別的。比如我們連線了某個WiFi,測試ping www.baidu.com,如果能ping 通,基本可以斷定可以上網了,但是如果我們做了一

iOS開發地圖與定位

視圖 編寫 aps 簡單 -a 第三方 span spa margin   不管是QQ還是微信的移動client都少不了定位功能,之前在微信demo中沒有加入定位功能,今天就寫個定位的小demo來了解一下定位和地圖的東西。地圖和定位看上去是挺高大上一東西。其有使用方法比

iOS開發,獲取iOS設備型號

bsp ios設備型號 isequal uid eve ide inf turn res 1、首先要導入頭文件   #import <sys/utsname.h> 2、代碼如下 - (NSString *)getDeviceVersionInfo{

iOS開發訪問相冊攝像像頭

created med res erro warn setup 上進 normal animate iOS開發中訪問相冊攝像像頭 源代碼下載地址http://download.csdn.net/download/jingjingxujiayou/7270479 在App

[iOS]怎樣在iOS開發切換顯示語言實現國際化

art out title oca standard 文件 creat mit 工具類 1.在Project設置,加入中英兩種語言:2.新建Localizable.strings文件,作為多語言相應的詞典,存儲多種語言,點擊右側Localization,勾選中英:3.加入

iOS開發的NSDateFormatter日期格式解析總結

星期四 class con 數字 september february 月份 mil ios開發 在工作中,常常遇到將時間解析出來轉換成自己相應要求的時間格式,之前也有收集相應的轉換格式,如今將自己收集的一部分了做個分享,應該比較完好了,歡迎大家繼續補充 年 y

iOS開發常用的宏

tar lin iter standard ffi ant height same alt OC對象判斷是否為空? 字符串是否為空 #define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] ||

再續iOS開發的這些權限

tle store start 打開 帶來 tty 受限 bsp 不同的 前言 上篇文章iOS開發中的這些權限,你搞懂了嗎?介紹了一些常用權限的獲取和請求方法,知道這些方法的使用基本上可以搞定大部分應用的權限訪問的需求。但是,這些方法並不全面,不能涵蓋住所有權限訪問的方

iOS開發“此證書的簽發者無效”的解決方式

courier data display sina 新浪微博 tracking 項目 text 輸入 iOS開發過程中有時候會出現證書所有變成無效,例如以下圖 然後進行打包的時候會提演示樣例如以下警告: 解決方法: 第一步: 下載ht

iOS開發多線程基礎

推斷 傳遞 cti self reads priority cal default value 耗時操作演練 代碼演練 編寫耗時方法 - (void)longOperation { for (int i = 0; i <

iOS 開發的幾種設計模式

設計模式 開發 模式 ios 設計 iOS 開發中的幾種設計模式

iOS開發的position+anchorPoint與frame應用解釋

移動 pos 限制 一起 frame -1 必須 posit 解釋 我剛開始時非常困惑這兩個地方, 所以現在好好解釋一下他們的聯系. 1/ position與anchorPoint是一對屬性, 經常一起設置來確定控件的位置 frame單獨設置 2/ position

iOS開發指紋識別簡單介紹

Owner rep nsthread 進行 dao self tex 簡單 min 中指紋識別簡單介紹,在iphone系列中,是從5S以後開始有了指紋識別的功能,在ios8的時候開放的指紋驗證的接口。 所以我們在進行指紋識別應用的時候要去判斷機型以及系統的版本。 代

iOS 開發類似上下滾動彈幕實現原理

tarray void ddr 列表 fse post mar ati poi #mark ---滾動彈幕 列表中留有7條記錄 大於7條時刪除並指引表視圖向上滑動 - (void)addRowActionWithContent:(NSString *)str {

直播APP開發iOS開發的列表優化思路

uic 異步化 軟件公司 死機 直播 隱藏 屬性 頁面 底層 APP開發中,列表可能是平時我們打交道最多的UI控件之一,其重要性不言而喻,對其性能的優化同樣至關重要。而對於iOS開發,列表就是我們常說的UITableView / UICollectionView。在進行直播

iOS開發UI篇—IOS開發Xcode的一些使用技巧

pen 檢查 elf eight return ui篇 bar mage \n iOS開發UI篇—IOS開發中Xcode的一些使用技巧 一、快捷鍵的使用 經常用到的快捷鍵如下: 新建 shift + cmd + n 新建項目 cmd + n