非LLVM用BQSobfuscator編譯,fatal error: 'projectName-Swift.h' file not found

-Swift.h' file not found 這年頭,遇到的坑,也不少。先提供幾個常見解決方式。

1.檢查oc引用swift裏面,projectName-Swift.h 書寫方式正確。-Swift,S大寫。

2.Targets -> Build Setting  裏面搜索Default module。確認爲項目名,非app Display Name。並且項目名,最好不要有. -等特殊符號。

3.command點擊-Swift.h,找不到,可以試試,new file -> HeaderFile -> 命名“projectName-Swift”,自動生成projectName-Swift.h文件了這時就可以找到-Swift.h裏面內容。

我遇到問題(局部報錯信息)

CompileC /Users/asiazhang/Library/Developer/Xcode/DerivedData/WitCarLoan-duerrvsucauscogriollbqbueuin/Build/Intermediates.noindex/ArchiveIntermediates/WitCarLoan/IntermediateBuildFilesPath/WitCarLoan.build/Release-iphoneos/WitCarLoan.build/Objects-normal/armv7/BasicInformationViewController.o WitCarLoan/ERP/Controller/BasicInformationViewController.m normal armv7 objective-c com.apple.compilers.llvm.obfuscator.1_0
    cd /Users/asiazhang/Desktop/WitCarLoan_12.25_SVN
    export LANG=en_US.US-ASCII
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Users/Shared/BQSobfuscator4/bin/clang -x objective-c -arch armv7 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu99 -fobjc-arc -fmodules -gmodules -fmodules-cache-path=/Users/asiazhang/Library/Developer/Xcode/DerivedData/ModuleCache -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file
fatal error: 'XXXXX-Swift.h' file not found
#import "XXXX-Swift.h"
        ^~~~~~~~~~~~~~~~~~~~
4 warnings and 1 error generated.
Command /Users/Shared/BQSobfuscator4/bin/clang failed with exit code 1

我用的是BQSobfuscator做代碼混編,不是LLVM,Xcode自帶編譯器。然後我BQSobfuscator報錯,用LLVM好的,再切回來BQSobfuscator編譯,也運行ok,沒問題。皆大歡喜。
 你以爲就這樣完了,那我就沒必要寫博客了。後來發現偶發性,'XXXXX-Swift.h' file not found。
終端  find ~ -iname "*Swift.h"  找到

Library/Developer/Xcode/DerivedData/XXX-dwaqrskrucomxlhguefjezjsouej/Build/Intermediates.noindex/XXX.build/Debug-iphonesimulator/XXX.build/Objects-normal/x86_64/XXX-Swift.h

這個是直接找指定目錄下文件,上面是找所有

find Library/Developer/Xcode/DerivedData/ZhiFu360-dwaqrskrucomxlhguefjezjsouej -name XXX-Swift.h -print

發現用LLVM編譯,生成了XXX-Swift.h 而用BQSobfuscator編譯沒有生成。用真機模擬器時候,BQSobfuscator編譯沒生成緩存有,所以沒問題。清~/Library/Developer/XCode/DerivedData緩存,就有問題。Archive就不會讀取緩存,也生不成,找不到,Swift.h文件。所以一直不成功。最後沒辦法-Swift.h無法找到。項目文件下,新建一個命名-Swift得文件,copy一份Xcode生成的—Swift.h文件。暫時編譯通過沒問題。但是每次有所修改,上線得重新copy一份系統生成的-Swift.h文件內容。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章