簡體   English   中英

iOS Framework問題:Class都在兩者中實現

[英]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.

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