"标志太多"与Cocoapods和扩展

时间:2016-09-13 07:47:16

标签: ios cocoapods ios-app-extension

我已使用邮件扩展程序提交了一个应用程序。我使用Cocoapods来管理库依赖项。这是Podfile

source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
abstract_target 'Common' do
    pod 'AFNetworking'
    pod 'MTDates'
    pod 'Mantle'
    pod 'CryptoSwift'
    pod 'IQKeyboardManager'
    pod 'SSZipArchive', '~> 1.0'

    target '<App-Name>' do
    <App-Only pods>
    end
    target '<Messages-Extension>' do
    <Extension-Only pods>
    end
end

提交到App Store时,我收到了一封电子邮件

  

符号文件太多 - 这些符号在任何二进制文件中都没有相应的切片[15C994DA-B600-327E-9B14-57ECDDF741BC.symbols,1DEFE0F7-B903-3184-B05F-06DCD5D63B37.symbols,296BC9E7-1425-3A80-839C- E0AC07A69713.symbols,2F298270-3486-3592-8408-B27B596A6ADD.symbols,32F52BD4-7315-308F-8A6E-5B747CDFC41B.symbols,4819548A-DDF4-3640-AEC7-A25886A4881C.symbols,67919FAF-CEC9-385A-A61A-3C6633A71C8D。符号,68FC9F33-96C4-3591-9F82-685841726A27.symbols,7D9F9F55-EB88-3AEA-9B74-1B73869981F6.symbols,94A3F51C-0AC8-38BC-BE21-9CF1AC9C6F5E.symbols,A3129167-A114-3A52-8C6D-92AA645DFE1D.symbols, B099BAE2-8DFE-390B-96B1-9D66F804E621.symbols,B5961369-36F6-3170-B419-F633D33540F7.symbols,BA0B4931-4E2A-3617-9429-4C713DAC6796.symbols,CC951B68-E97A-3404-BDFA-58A2941CE4AE.symbols,D11743A3- 3EC7-30D2-A167-48E7925CA2DA.symbols,D8C5216A-397C-3104-9D37-42B277C4AE6E.symbols,DE9C3EC5-34AF-3D94-ADEF-3245A5118971.symbols,EF5904E6-7959-3058-8E82-06AEC77FBF1F.symbols,F1790BFF-704A- 3280-87A7-EDB08370CC07.symbo LS]

在使用其他一些答案所述的dwarfdump -u之后,我发现符号来自pods目标(AFNetworking,MTDates等)。这些pod用于我的扩展和我的应用程序,所以我认为管理它们的正确方法是在App和Extension之上创建一个抽象目标。

我做错了吗?我该如何预防这些问题?

1 个答案:

答案 0 :(得分:1)

enter image description here

由于项目设置不当,正在生成冗余dSYM文件。就我而言,&#34;项目&#34;由一个主要的xcproject和几个cocoapod项目组成,后者的Build Setting \ Valid Architectures设置比前者更广泛。因此,XCode正在为该pod项目生成冗余dSYM文件,而Apple检测到这些dSYM文件是无用的,因为主项目被设置为更受限制的级别。