我開始一個新的Swift項目,並試圖爲它創建單元測試。我將Google Analytics框架添加到項目中,並鏈接了SystemConfiguration,CoreData,libsqlite3,libz和libGoogleAnalyticsServices。使用Swift和Obj-C進行單元測試
然後我不得不手動創建一個橋接頭,並添加了我將立即使用的GA頭。該應用程序已啓動並運行併發布到GA。然後我嘗試添加一些單元測試。
一旦發生這種情況,如果我向橋接頭添加橋接頭,則在測試目標的橋接頭中會收到'GAI.h' file not found
錯誤。我還收到編譯器的Segmentation Fault 11
錯誤。如果沒有橋接頭,錯誤將保持不變。
我試過將我的測試目標與SystemConfiguration,CoreData,libsqlite3,libz和libGoogleAnalyticsServices鏈接起來。這並沒有擺脫錯誤。
目前我的橋接頭並不多。
#import "GAI.h"
#import "GAILogger.h"
#import "GAITrackedViewController.h"
#import "GAIFields.h"
我還使用的CocoaPods但我沒有,因爲在有這麼多我需要在配置手動更改時刻與谷歌Analytics(分析)使用裏面的文件每次我都會運行莢處理時間。如果它幫助這裏是我的POD文件:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.1'
pod 'JVFloatLabeledTextField'
# Swift Pods
pod 'Alamofire'
pod 'JSONHelper'
target 'example' do
end
target 'exampleTests' do
pod 'Quick', :git => "https://github.com/Quick/Quick"
pod 'Nimble', :git => "https://github.com/Quick/Nimble"
end
我一直沒能寫任何測試,但因爲我沒能獲得通過鏈接錯誤。有任何想法嗎?
我覺得'快速'和'靈活'應該是相反的順序,然後是'跳過蠟燭棒'。 – 2015-02-10 15:20:37
@James_Andreww你有沒有想過這個?我遇到了完全相同的問題:我的代碼運行良好,並且只要我沒有實例化任何引用可可pod的東西,我的測試就可以正常運行:只要我引用可可pod,我就可以在編譯時獲得SegFault 11。 – 2015-05-15 21:07:06
@MichelleEllis不幸的是我的修復是創建一個全新的項目並重新添加我的所有文件。一旦我這樣做了,我就可以再次用cocoapods代碼進行測試。 – 2015-05-17 17:33:24