Сбой приложения, поскольку кажется, что «PubNub» не является допустимым комплектом Fabric

Позвольте мне в предисловии сказать, что я использую CocoaPods для управления своими фреймворками. Я не уверен, что это действительно имеет значение, но я подумал, что вы могли бы знать на всякий случай. Я также использую iOS 10.x с последней версией Xcode (не бета-версией).


Мое приложение падает Fabric.with([Crashlytics.self, PubNub.self]) со следующей ошибкой:

Завершение работы приложения из-за необработанного исключения «FABException», причина: «[Fabric] Похоже, что «PubNub» не является допустимым набором Fabric. Пожалуйста, убедитесь, что вы передаете комплекты тканей только [ткани с:].'

Я обновил свой PodFile, очистил свой проект, запустил новую установку, запустил на физическом и виртуальном устройстве, и я даже удалил pod 'PubNub' и переустановил его. Кажется, пока ничего не работает, поэтому любая помощь будет принята с благодарностью.

Мой AppDelegate выглядит так:

import Fabric
import Crashlytics
import PubNub

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    /* Fabric (Answers) Debug */
    Fabric.sharedSDK().debug = true
    /* Fabric Setup */
    Fabric.with([Crashlytics.self, PubNub.self])
    return true
}

Мой PodFile выглядит так:

# Uncomment the next line to define a global platform for your project
platform :ios, '9.1'

target 'AppName' do
    # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
    use_frameworks!

    # Fabric #
    pod 'Fabric'
    pod 'Crashlytics', '~>  3.8'
    # PubNub #
    pod 'PubNub/Fabric'

    target 'AppNameTests' do
        inherit! :search_paths
        # Pods for testing
    end

    target 'AppNameUITests' do
        inherit! :search_paths
        # Pods for testing
    end
end

Мой код Info.plist:

<key>Fabric</key>
<dict>
    <key>APIKey</key>
    <string>##############################</string>
    <key>Kits</key>
    <array>
        <dict>
            <key>KitInfo</key>
            <dict/>
            <key>KitName</key>
            <string>Crashlytics</string>
        </dict>
        <dict>
            <key>KitInfo</key>
            <dict>
                <key>publish-key</key>
                <string>##############################</string>
                <key>secret-key</key>
                <string>##############################</string>
                <key>subscribe-key</key>
                <string>##############################</string>
            </dict>
            <key>KitName</key>
            <string>PubNub</string>
        </dict>
    </array>
</dict>

person ZGski    schedule 08.06.2017    source источник
comment
Вы добавили pubnub в свой словарь Fabric в Info.plist ?   -  person u.gen    schedule 08.06.2017
comment
Почему ваш модуль PubNub написан pod 'PubNub/Fabric'? Я просмотрел документы Fabric и не смог найти упоминания о том, что они требуют добавления /Fabric в конец сторонних комплектов. Вы пробовали просто использовать pod 'PubNub'?   -  person gurooj    schedule 08.06.2017
comment
Кроме того, не забудьте добавить информацию о Fabric в Info.plist, как упоминает @u.gen выше. Вот пример статьи   -  person gurooj    schedule 08.06.2017
comment
@gurooj Для него установлено значение pod 'PubNub/Fabric', потому что я хочу, чтобы события PubNub в Fabric упрощались. Инструкции по установке, относящиеся к этой процедуре установки модуля, можно найти здесь.   -  person ZGski    schedule 09.06.2017
comment
@u.gen Да, я добавил PubNub в свой массив словарей Fabric в файле Info.plist. Я отредактировал свой вопрос, чтобы показать этот код.   -  person ZGski    schedule 09.06.2017


Ответы (1)


Я инженер по Fabric. Я пытался воспроизвести описанную выше проблему, но не смог. Кажется, все работает нормально со свежим проектом Swift и PubNub/Fabric Cocoapod. Мое единственное подозрение в том, что вы каким-то образом оказались в своем проекте с не-Fabric сборкой PubNub. Если есть что-то еще, чем я могу помочь, не стесняйтесь обращаться!

person Steve Wilber    schedule 15.06.2017
comment
Спасибо за помощь! Если это так, как мне удалить старую сборку PubNub и установить новую сборку Fabric? - person ZGski; 17.06.2017
comment
Пара вещей, которые можно попробовать: удалите папку Pods в рабочей области и повторно запустите «установку модуля». Если у вас все еще есть проблемы, попробуйте запустить его в новом проекте Xcode, чтобы увидеть, работает ли он для вас. - person Steve Wilber; 19.06.2017