2016-08-04 42 views
1

我必須將框架導入到Objective C中編寫的Swift項目中。所以我創建了一個橋接文件和我已經添加頭文件並編譯後,我的項目說它找不到它們。下面的圖片顯示了我的框架,你可以清楚地看到AWController.h,但它在構建時會在我的橋接文件中引發錯誤。將Objective C框架導入到我的Swift項目後,我的項目無法識別我的橋接文件中的頭文件

enter image description here

橋接文件顯示在我的設置,所以我在做什麼錯了還是什麼我錯過了?我已經在Build Settings中將我的Defines模塊設置爲Yes,並且我的模塊名稱中沒有空格。

enter image description here

+0

看看我的[回覆](http://stackoverflow.com/questions/24062618/swift-to-objective-c-header-not-created-in-xcode-6/30634282?s=1|1.6337# 30634282)對這種情況肯定這是重複的。如果考慮刪除,則不更新問題。 –

+0

我已經做出了這些修改並修改了上面的條目以顯示它,但它仍然不會生成,但 – user616076

+0

是否安裝了任何豆莢?只要做一件事就可以創建新項目並重新組合項目,而不是再次傳遞時間。 – vaibhav

回答

0

我會檢查他們的website AWS的設置。他們甚至有一個細節使用Swift iOS9的部分。

其中,如果您使用的是框架手動集成,請確認第4步已完成。

在Target中的Build Phases選項卡下,點擊左上角的 上的+按鈕,然後選擇New Run Script Phase。然後按照以下步驟設置構建 階段。確保這一階段低於嵌入框架 階段:

殼牌/ bin/sh的

慶典 「$ {BUILT_PRODUCTS_DIR}/$ {} FRAMEWORKS_FOLDER_PATH /AWSCore.framework/strip-frameworks.sh」

在構建日誌

顯示環境變量:經過運行腳本,只有當 安裝:未選中

輸入文件:空輸出文件:空

您可能想要安裝並使用Carthage以使其更容易。轉到Homebrew website,然後在安裝自制軟件之後,您可以從命令行運行brew install carthage。之後,回到上面的鏈接並按照迦太基的指示。

其次,我將對橋接頭文件中的Apple Documentation進行另一次演練,以查看是否有任何邊界情況適用,並且只是作爲完整性檢查。

第三,如果不工作,我只是嘗試創建一個空的斯威夫特項目,並通過再次使用上述的技術之一的步驟走。項目文件中的一個或多個設置可能有問題,或者文件本身可能已損壞。

BTW - 產品包標識符也許應該com.yourdomain.YourProductName的約定以下。

+0

嗨,Tommie,這是一個很好的解決方案,很高興知道,但我使用AirWatch框架而不是Amazon Web Services。無論如何,我會遵循這個過程,並會讓你知道它是如何發生的 – user616076

0

您不應該使用橋頭。只需在您使用它的swift文件中使用import AWSDK即可。

相關問題