當前位置:首頁 » 編程軟體 » ios版本編譯

ios版本編譯

發布時間: 2022-09-10 11:19:24

A. iOS 編譯報錯怎麼辦

1.編譯iPad真機時,選擇了 Architetures:Standard(armv6) BaseSDK:iPhoneDevice3.2 TargetDeviceFamily:iPad.

若編譯出現如下錯誤:

Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

則修改 GCC4.2CodeGeneral區域中的ComplieForThumb為非選中.

已經有了開發者證書及私鑰後,可直接在越獄的手機上調試.

2. 編譯鏈接時, "_OBJC_CLASS_$_xxx", referenced from:可能需要重新建立某個類的文件.

或者:選擇項目名,在detail列表中的target列(顯示為一個又圓圈),把這個文件的復選選中,或者再次選中.以把它加入到這個target裡面來.

3.在sdk4.0及以上使用RegexKitLite報'captureCount' was not declared in this scope錯誤,是在非.m文件中使用了它的原因.

4.there is no sdk with the name or path.

從網上down的開源代碼,結果運行的時候常出現這樣的錯,並且在deployment中沒有iosdeploymenttarget選項.

嘗試 Project/Edit Active Target/ 及 Set Active SDK菜單項,來回切換一下Active Configuration。

5. EXEC_BAD_ACCESS,EXC_BAD_INSTRUCTION錯誤,意味著這個app有內存管理的問題,一般是因為訪問野指針對象造成的。

一個和內存相關的崩潰一般很難定位到源代碼,因為這個惡魔可能很早就在程序中做了壞事了。假如一段有問題的代碼混亂了內存結構,這樣產生的蝴蝶效應可能會在之後很久才表現出來,並且總在不同的地方。所以,若有指針類型出現了不可能的變化,很可能就是因為內存結構被野指針調用混亂了。

修復一些警告後,可能就能預防一些內存錯誤。警告在左邊靠近行號的黃色三角指出一個編譯警告,你點擊那個黃色的三角形,xcode可能會彈出一個「Fix-it」的建議。

EXC_BAD_ACCESS崩潰不像SIGABRT,將不會得到很明朗的錯誤消息。然而可以使用一個讓人看到曙光的調試工具:Zombies!死亡對象工具。打開這個項目的scheme editor,選擇Run 選項,然後選擇Diagnosics標簽。勾上Enable Zombie Objects選項。當這個zombie工具被啟用之後,即使這個對象被釋放了,這個對象的內存也不會被清理。所以,那塊內存將會被標記為「長生不死的」。假如你試著之後又去使用這塊內存,這個app能夠意識到你的錯誤操作,並且app將會拋出「messagesent to daellocated instance」錯誤並且終止運行。

在工程中加入NSZombieEnabled 環境變數,並設為啟用,則在 EXC_BAD_ACCESS 發生時,XCode 的 Console 會列印出問題描述中,設置方法:雙擊Executables 下的 可執行模組,在彈出窗口中,Variables to be set in the environment,添加 NSZombieEnabled,並設定為 YES,點擊選中復選框啟用此變數。

可以再加入 MallocStackLogging 來啟用malloc記錄,以獲得更多的提示來幫助定位問題。

在gdb窗口輸入 (格式: shell malloc_history <id> <address>) shellmalloc_history1436 0x5f7fcf0, 也可以在終端中去運行 就要去掉以上的shell 指令 如 malloc_history <id> <address>

應該僅當需要調試內存時,才設置上述環境變數。

注意一點:不應該一直啟用zombie objects。因為這個工具將永遠不會釋放內存,只是簡單標記一下這個內存是不死的,你最終將會在某個時候耗盡所有的內存,因為所有分配過的內存都不會得到重用。因此應該在排查內存相關的錯誤的時候才開啟zombie objects,其他時候應該關閉它。

在xcode4中,To edit environment variables, go to Menu Proct / Edit Scheme…, select the desired configuration (you probably want 'Run') from the left sidebar first and then click on the Arguments tab. Environment variables are configurable there.

6.運行一個IPhone程序時,彈出窗口說「程序運行失敗,預置描述文件已過期」 。 解決辦法是,在Xcode中, window-> Orgnazier -> 你的iphone ->刪除帶有紅*的該程序之前的Profile 。 然後從Xcode運行該程序.

7.真機編譯時報 Code Sign error: The identity doesn't match any valid certificate/private key pair in the default keychain

修改工程和Targets的get infouild 中的code signing identity為空

8.調試列印

CFShow(coreFoundationThingy) will print out a description of coreFoundationThingy to the console. Output looks something like: {value = w:1186.000000 h:687.000000 type = kAXValueCGSizeType}

If NSLog() is printing something out as an NSCFType, try CFShow().

9. 編譯時報 Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1,修改C/C++ Compiler Version為gcc4.2

10.this class is not key value coding-compliant for the key viewController

可能在創建了一個基於view的工程,而後把生成的viewcontroller刪除了,但是在.xib中還有對它的引用,在IB中直接用delete鍵刪除掉它就行了。

11.這台電腦上已經存在一個名為「embedded.mobileprovision」的預置文件,您是否要替換么?

http://blog.sina.com.cn/s/blog_6907b67f0100o2vw.html

12.真機調試時報failed to upload *.app

http://hi..com/%CB%E6%B7%E7_1989/blog/item/9649f49f805f05aec8eaf466.html

http://www.shouyanwang.org/thread-462-1-1.html

13.記的release時,先置delegate為nil。

一個節點不應該保留任何對不屬於它的節點的引用。

14.模擬器

將xcode升級到4.3.1以後發現,ipad的模擬器,沒有Home鍵了。Command+Shift+H就可以實現類似點擊Home鍵的效果了。

    B. ios 怎麼配置編譯ffmpeg

    一、系統環境

    MAC OS X Mountain Lion 10.8.3、 XCode 5.1

    二、編譯FFMpeg

    1、下載ffmpeg2.2.5版本代碼,並解壓

    2、下載並解壓gas-preprocessor.pl (附件中有,zip格式,因網易博客不能上傳zip後綴的文件,故加了個.rar)

    在終端中使用cp命令將它復制到 /usr/sbin/目錄,並賦予可執行許可權。

    sudo cp -f gas-preprocessor/gas-preprocessor.pl /usr/sbin/chmod +x /usr/sbin/gas-preprocessor.pl

    3、在ffmpeg目錄下創建一個config.sh腳本

    #!/bin/bash
    SDKVERSION="7.1"

    ARCHS="armv7 armv7s i386"

    DEVELOPER=`xcode-select -print-path`

    cd "`dirname "$0"`"
    REPOROOT=$(pwd)

    # where we will store intermediary builds
    INTERDIR="${REPOROOT}/built"
    mkdir -p $INTERDIR

    ########################################
    # Exit the script if an error happens

    for ARCH in ${ARCHS}
    do
    if [ "${ARCH}" == "i386" ];
    then
    PLATFORM="iPhoneSimulator"
    EXTRA_CONFIG="--arch=i386 --disable-asm --enable-cross-compile --target-os=darwin --cpu=i386"
    EXTRA_CFLAGS="-arch i386"
    EXTRA_LDFLAGS="-I${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk/usr/lib"
    else
    PLATFORM="iPhoneOS"
    EXTRA_CONFIG="--arch=arm --target-os=darwin --enable-cross-compile --cpu=cortex-a9 --disable-armv5te"
    EXTRA_CFLAGS="-w -arch ${ARCH}"
    fi

    mkdir -p "${INTERDIR}/${ARCH}"

    ./configure --prefix="${INTERDIR}/${ARCH}"
    --disable-neon
    --disable-armv6
    --disable-armv6t2
    --disable-ffmpeg
    --disable-ffplay
    --disable-ffprobe
    --disable-ffserver
    --disable-iconv
    --disable-bzlib
    --enable-avresample
    --sysroot="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk"
    --cc="${DEVELOPER}/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
    --as='/usr/local/bin/gas-preprocessor.pl'
    --extra-cflags="${EXTRA_CFLAGS} -miphoneos-version-min=${SDKVERSION}"
    --extra-ldflags="-arch ${ARCH} ${EXTRA_LDFLAGS} -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk -miphoneos-version-min=${SDKVERSION}" ${EXTRA_CONFIG}
    --enable-pic
    --extra-cxxflags="$CPPFLAGS -isysroot ${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk"

    make && make install && make clean

    done

    mkdir -p "${INTERDIR}/universal/lib"

    cd "${INTERDIR}/armv7/lib"
    for file in *.a
    do

    cd ${INTERDIR}
    xcrun -sdk iphoneos lipo -output universal/lib/$file -create -arch armv7 armv7/lib/$file -arch armv7s armv7s/lib/$file -arch i386 i386/lib/$file
    echo "Universal $file created."

    done
    cp -r ${INTERDIR}/armv7/include ${INTERDIR}/universal/

    echo "Done."

    SDKVERSION 是XCode的版本,通過`xcode-select -print-path`來獲取XCode的安裝路徑,ARCHS是編譯的三種模式,接下來在終端中cd到ffmpeg目錄,./config.sh執行就可以編譯了。等到編譯完成後,在ffmpeg目錄下會多出一個built目錄,裡面分別是armv7 armv7s i386及三個合並的universal版本了。

    C. 如何編譯打包iOS系統

    選擇「Build Phases」選項卡

    點擊紅框標注的「+」按鈕

    3
    在彈出的菜單中選擇「New Run Script Phase..."

    4
    修改名稱,單擊紅框標注的「Run Script",此處是為了增加編譯號,所以名稱我就改成了Build Number

    5
    在紅框標注的輸入框中輸入:

    D. ios 能編譯動態庫嗎

    一、創建FrameWork工程

    新建工程,選擇創建FrameWork工程或者靜態庫(Static Library)。






  • E. 如何讓FFmpeg在iOS上完美編譯

    一、系統環境 MAC OS X Mountain Lion 10.8.3、 XCode 5.1 二、編譯FFMpeg 1、下載ffmpeg2.2.5版本代碼,並解壓。 2、下載並解壓gas-preprocessor.pl (附件中有,zip格式,因網易博客不能上傳zip後綴的文件,故加了個.rar) 在終端中使用cp命令...

    F. mapbox怎麼編譯ios版本的

    方法/步驟 從網上下載arm-linux-gcc 4.4.3的源碼 進入Linux的終端,將當前目錄設為arm-linux-gcc的下載目錄,輸入tar -xzf arm-linux-gcc-4.4.3.tar.gz,將文件解壓,解壓後會有一個opt的文件夾。 在/usr/local/下建立一個名為arm的文件夾,在終端中輸入命令:cd /usr/local/,回車,然後再輸入命令:mkdir arm,建立arm目錄,並修改該文件夾的屬性為rwx,輸入命令:chmod 777 arm 將之前解壓得到的opt文件壓下的源碼,復制到上一步中創建的arm文件夾下,在終端中輸入命令:sudo cp -r /opt/FriendlyARM/toolschain/4.4.3 /usr/local/arm 到這里已經基本安裝好了,到為了避免每次使用arm-linux-gcc時都要輸入它所在的完整路徑,所以這里我們要修改一下環境變數$PATH。在終端中輸入:sudo gedit /etc/profile,打開profile文件,在最後一行加上「export PATH=$PATH:/usr/local/arm/4.4.3/bin」然後保存文件。 立即使新的環境變數生效,輸入:source /etc/profile。再輸入:echo $PATH查看環境變數,如圖。如果不成功,則直接重新啟動系統,再查看。因為之前我已經安裝過了,為了演示,所以圖中會有兩個/usr/local/arm/4.4.3/bin。 最後檢查是否安裝完成,輸入:arm-linux-gcc -v查看版本信息,如果出現以下信息,則說明安裝成功。

    G. ios文件編譯

    這是lua。
    &&__sign_of_g18_enc__@@(加密的圖片文件,有的用了Lzma壓縮
    L:grxx__sign_of_g18_enc__(加密的luac腳本文件,有的用了Gzip壓縮)

    __sign_of_g18_enc__(加密的luac腳本文件)

    熱點內容
    萬科海上傳奇二期 發布:2024-11-01 14:22:52 瀏覽:59
    u盤文件夾是空的 發布:2024-11-01 14:19:57 瀏覽:402
    python包含字元串 發布:2024-11-01 14:19:17 瀏覽:479
    c語言的精華 發布:2024-11-01 14:19:02 瀏覽:588
    steam截圖文件夾 發布:2024-11-01 14:18:59 瀏覽:613
    ipad怎麼往安卓傳照片 發布:2024-11-01 14:18:19 瀏覽:508
    我的電腦沒有文件夾選項 發布:2024-11-01 14:13:55 瀏覽:546
    vb創建資料庫表 發布:2024-11-01 14:11:55 瀏覽:872
    sql聯合表 發布:2024-11-01 14:03:25 瀏覽:962
    linux編程gcc 發布:2024-11-01 14:02:41 瀏覽:705