簡體   English   中英

項目名稱更改后重新生成 Bridging-Header 和 -Swift.h 文件

[英]Regenerating the Bridging-Header and -Swift.h files after project name change

我之前構建了一個包含 Swift 和 Objective C 組件的鍵盤擴展項目。我想基於我以前的應用程序構建一個新的鍵盤應用程序,其簡單目標是更改名稱、鍵盤 UI 和一些鍵盤機制。

我遵循的准則在這里上復制和重命名XCode項目。 我什至設法在更改 Bundle ID(對於容器應用程序和底層鍵盤)后編譯項目。 但是,由於目標的名稱現在已更改,我收到以下文件的錯誤:

#import "NewNameContainerApp-Swift.h"
#import "NewNameContainerApp-Bridging-Header.h"

無法找到(這些錯誤仍然存在,盡管我手動更改OldNameContainerApp-Bridging-Header.hNewNameContainerApp-Bridging-Header.h 。看來這個項目還沒有再生一套新橋接報頭和-Swift.h相匹配的文件名我的新目標。

我的問題是 - 有沒有辦法強制 XCode 重新生成一組新的這些文件? 如果沒有,我在哪里可以找到OldNameContainerApp-Swift.h以便我可以手動將其更改為NewNameContainerApp-Swift.h

謝謝!

在構建部分中檢入應用程序Define-Module 將其更新為您最新的項目名稱。 要輕松找到它,只需搜索Defines-Module並查看是否需要更新。 如果已更新,請嘗試清理項目或刪除Derived Data

我發現無法強制 Xcode 重新生成這些文件。 刪除它們只會導致構建失敗。 唯一可靠的方法是進行干凈的構建,或者刪除 DerivedData 並重新構建(實際上是相同的解決方案)。

重命名 Objective-C/Swift 混合應用程序時,必須執行以下附加更改才能成功構建。

Swift to Objective-C 頭文件取決於模塊名稱:

<ModuleName>-Swift.h

因此,如果模塊名稱更改,則需要更改代碼中的import 在構建設置中搜索Product Module Name以查找正在使用的模塊名稱。

Objective-C 到 Swift 橋接頭名稱取決於構建設置Objective-C Bridging Header 檢查 Xcode 目標構建設置並修改以匹配您的新名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM