![](/img/trans.png)
[英]How can be 'Class is implemented in both' issue be solved inside of an iOS framework?
[英]iOS Framework issue: Class is implemented in both
我正在開發一個使用第三方框架類的iOS框架項目,所以我在Linked frameworks和libraries部分添加了第三方框架。
當我在我的iOS應用程序項目中添加自定義框架時,我會收到每個類的警告
objc [3139]:類'class_name'在/private/var/containers/Bundle/Application/C131AF0F-7CF8-4360-8716-3E8A595169D6/'app_name'.app/Frameworks/'framework_name'.framework/'framework_name中實現'和/var/containers/Bundle/Application/C131AF0F-7CF8-4360-8716-3E8A595169D6/'app_name'.app/'app_name'。 將使用兩者之一。 哪一個未定義。
iOS應用程序項目也與該第三方框架相關聯。 所以我認為這個問題是因為我的框架還包含第三方框架的編譯版本。
我沒有找到任何適當的解決方案。 誰能告訴我如何擺脫這個?
有什么方法可以讓它發揮作用嗎?
tl; dr請勿在應用程序目標的Build Phases中鏈接第三方框架。 請改用Link Frameworks Automatically
。
為了使這一點更清楚,讓我舉一個例子。 有一個名為CrashReporter.framework的第三方框架。 自定義框架稱為HockeySDK.framework(鏈接到CrashReporter.framework)。 然后我有我的應用程序名為WeatherApp(鏈接到HockeySDK.framework)。
CrashReporter.framework <---
^ |
| |
| X X X NO! DONT'T LINK THIS!
HockeySDK.framework |
^ |
| |
| |
WeatherApp -----------------
我沒有在WeatherApp目標中的Build Binses的Link Binary With Libraries部分鏈接 CrashReporter.framework(即使Weather應用程序需要CrashReproter.framework來構建)。 我轉到WeatherApp目標的Build Settings並確保Link Frameworks Automatically
(如果在iOS上,則Enable Modules (C and Objective-C)
)設置為Yes
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.