我在iOS应用中通过Cocoapods使用Twitter API。它正在应用程序,框架和应用程序扩展中使用。该项目构建没有错误,但在运行时,我收到此消息:
objc [27031]:TWTRScribeService类在两者中实现 〜/资源库/开发/ Xcode中/ DerivedData / TweetSave-cydxfgkrgtggufefrpvocnxaxelr /编译/产品/调试-iphonesimulator / SaveKit.framework / SaveKit 和 〜/资源库/开发/ CoreSimulator /设备/ 3630AFBE-7C59-4574-8F44-9592A12DEF82 /数据/集装箱/包/应用/ D7A8F9C8-A39A-46DD-B737-A656415488F0 / TweetSave.app / TweetSave。 将使用两者之一。哪一个未定义。
对于TwitterKit框架中的很多类,它会重复多次。
这是我的Podfile:
def twitterkit_pods
pod 'TwitterKit'
pod 'TwitterCore'
end
target 'TweetSave' do
pod 'Fabric'
twitterkit_pods
end
target 'SaveKit' do
twitterkit_pods
end
target 'Saver' do
twitterkit_pods
end
TweetSave是应用程序目标,SaveKit是我的框架,Saver是应用程序扩展。
此消息的含义是什么?如何预防?
答案 0 :(得分:1)
您已将相同的类静态链接到应用程序和框架中,并且运行时链接程序对使用哪个类感到困惑。它会决定使用哪个,并警告你这个事实。
我认为解决此问题的唯一方法是动态链接TwitterLink.framework
,如果可能的话,但是因为它设计用于iOS应用程序,它可能是一个静态框架。因此,我看不出任何容易出于这个问题。
答案 1 :(得分:1)
如果应用程序在SaveKit框架中链接,它就是它的样子,那么它将以这种方式获取所有类,并且你可以从应用程序目标中删除twitterkit_pods。