Cocoapods use_frameworks与Objective C和Swift混合项目导致问题

时间:2018-01-10 03:30:30

标签: ios objective-c swift cocoapods

我刚刚开始使用我目前的Objective C项目开发Swift 4.0。一切顺利,直到我希望pods用于ALCameraViewController,其中pods使用swift构建且我之前的dyld: Library not loaded: @rpath/Amplitude_iOS.framework/Amplitude_iOS Referenced from: /var/containers/Bundle/Application/44F47AE7-3928-450C-A8F4-5C708C996E43/RydeDev.app/RydeDev Reason: image not found 位于Objective C中,因此我无法启用“use_frameworks!”。

即使我启用它,我的项目也会成功构建,但应用程序会在启动时立即崩溃并显示错误消息

Amplitude_iOS

pods是我的目标C pods之一。

我在SO和GitHub上提到了很多帖子,但对我来说没什么用。

我想到了一种通过手动安装和没有pods来使用Swift库的方法,但我认为考虑到我可能会使用其他一些库以及Swift,这不是一个好方法。

我的use_frameworks! target '<My App>' do pod 'FBSDKCoreKit' pod 'FBSDKLoginKit' pod 'FBSDKShareKit' pod 'JSONModel', '~> 1.2' pod 'RSKImageCropper' pod 'Firebase/Core' pod 'Firebase/Messaging' pod 'Fabric' pod 'Crashlytics' pod 'Analytics', '~> 3.0' pod 'LGSideMenuController', '~> 1.0.0' pod 'CCBottomRefreshControl' pod 'GoogleMaps' pod 'Amplitude-iOS', '~> 3.11.1' pod 'JDFTooltips' pod 'Branch' pod 'Stripe’ pod 'YYModel' pod 'ALCameraViewController' end

# -*- coding: utf-8 -*-

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

import sys
import time


list_longText = [" long text 1 - auto scrolling " * 1000, " long text 2 - auto scrolling " * 2000]

class Worker(QObject):
    finished = pyqtSignal()
    strTxt = pyqtSignal(str)

    def __init__(self, parent=None):
        super(Worker, self).__init__(parent)

    @pyqtSlot()
    def onJob(self):
        for i in range(2):
            self.strTxt.emit(list_longText[i])
            time.sleep(2)

class MyApp(QWidget):
    def __init__(self):
        super(MyApp, self).__init__()
        self.setFixedSize(600, 400)
        self.setObjectName("window")

        self.initUI()


    def initUI(self):

        self.txt = QTextEdit("", self)
        self.btn = QPushButton("Button", self)
        self.btn.clicked.connect(self.start)

        self.layout = QHBoxLayout(self)
        self.layout.addWidget(self.txt)
        self.layout.addWidget(self.btn)
        self.setLayout(self.layout)

        self.show()

    def start(self):
        self.thread = QThread()
        self.obj = Worker()

        self.obj.strTxt.connect(self.showText)
        self.obj.moveToThread(self.thread)
        self.obj.finished.connect(self.thread.quit)
        self.thread.started.connect(self.obj.onJob)
        self.thread.start()

    def showText(self, str):
        self.txt.setText("{}".format(str))
        self.autoScroll()

    def autoScroll(self):
        vsb = self.txt.verticalScrollBar()
        if vsb.value() <= vsb.maximum():
            vsb.setValue(vsb.value() + 2)
            time.sleep(1)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyApp()
    sys.exit(app.exec_())

所以请帮我解决这个问题。

非常感谢任何帮助。

由于

0 个答案:

没有答案