草庐IT

Frameworks

全部标签

ios - 如何在 iOS 中创建包含 Swift 的开发框架?

我的目标是创建一个iOS框架,其中包含我可以在我的开发项目中使用的Swift和Objective-C。这个框架的本质是框架本身在发展。因此,重要的是每次我使用这个框架构建项目时(我将使用框架的项目称为“使用”项目,因为没有更好的术语),我想确保框架本身被重新构建。我希望它成为一个框架,因为我有一些正在使用的应用程序,我想在这些应用程序中使用相同的框架代码。今天我一直在为此苦苦挣扎,并且浪费了很多时间在至少在我看来应该更容易的事情上。所以,我将分享我的过程。 最佳答案 首先要观察的事情(这当然不是我的第一次观察!)是您不能在iOS下使

ios - 在没有 use_frameworks 的情况下使用 cocoapods!在 swift

根据this教程,我们应该将use_frameworks!添加到Swift项目的Podfile中。但是如何在同一个项目中使用.m中的第三方代码呢?一种可能的方法是,不要将use_frameworks!添加到Podfile在...-Bridging-Header.h中导入header然后,我可以在.swift和.m文件中使用第三方代码但是当我尝试在...-Bridging-Header.h中导入header时,它只是抛出*.hfilenotfound错误,如何解决这个问题问题? 最佳答案 过去直到CocoaPods1.4.x(包括在内

ios - 从框架加载 Storyboard

我正在使用Cocoapods和Swift1.2创建一个库。我有一个Storyboard,我必须加载到我的库中。虽然,我总是遇到同样的错误:Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'Couldnotfindastoryboardnamed'Main'inbundle`.我尝试过的:将我的Storyboard放入Classes文件夹将我的Storyboard放入Assets文件夹从设备中删除我的应用程序,清理项目并重新构建。使用UIStoryboard(name:"Main",bundl

框架中的 Swift 扩展

我正在学习Swift的扩展并遇到了一个有点奇怪的问题。当我在String上编写扩展并将其编译到框架中时,我能够将框架导入到不同的项目并使用字符串扩展而不会出现任何问题。但是,当我在NSDate上编写扩展并尝试在不同的项目中使用它时,编译器报告“NSDate没有名为...的成员”确切地说,我创建了一个非常简单的swift文件,包括这些代码行–importFoundationextensionNSDate{funcblah()->Int{return0}}然后我创建了一个目标(CocoaFramework)并将这个文件添加到编译列表中。框架编译成功。然后我创建了一个命令行工具并导入了这个项

ios - 使用嵌入在动态框架中的第三方框架

据我所知,ios动态框架和静态框架的巨大变化是静态在链接时(启动前)静态链接到代码,而动态在启动/运行时链接现在我有一个测试项目:我的项目有一个链接到它的动态框架-A.framework。导入A.frameworkA.framework内部嵌入了一个框架-B.framework在我的主要项目中,我想使用B.framework中的类现在我在主项目中看到了一个简单的导入语句:importB.framework它确实有效,我可以使用嵌入在链接A.framework中的B.framework内部的代码怎么可能呢?使用起来安全可靠吗?主工程如何识别B.framework?如果主项目直接将B.fr

ios - 尝试运行迦太基时出错

我尝试为一个新的iOS项目设置我的依赖项。我想为此使用迦太基。我在项目的根目录下设置了一个Cartfilegithub"Alamofire/Alamofire">=1.2github"SwiftyJSON/SwiftyJSON">=2.2然后运行​​carthageupdate,得到这个错误:dyld:Symbolnotfound:__TMdVSs9CharacterReferencedfrom:/usr/local/Cellar/carthage/0.7.3/bin/../Frameworks/CarthageKit.framework/Versions/Current/Framew

ios - 当我在 swift 框架中使用 Bridging Headers 时失败

我正在做一个swift框架,我想使用旧的objectivec类。为此,我使用桥接头方法,但是当我尝试构建时出现此错误::0:error:usingbridgingheaderswithframeworktargets isunsupported我在Swift编译器-代码生成中将我的{PROJECT}-Bridging-Header.h添加到Objective-CBridgingHeader我该如何解决?我在应用程序中做了并且运行正常,但在这个框架中没有谢谢 最佳答案 iHart是正确的为此,请执行以下步骤:1.删​​除你的桥接头和所

ios - 同时使用框架和静态库的 CocoaPods

我的项目中有这个Podfile:platform:ios,'8.0'use_frameworks!target'FunnyApp'dopod'Alamofire','~>1.2'pod'SWXMLHash','~>1.0'pod'VaultKit',:path=>'./Frameworks/VaultKit'pod'SessionKit',:path=>'./Frameworks/SessionKit'end只有VaultKit是用Objective-C编写的静态库。它有这个podspec:Pod::Spec.newdo|s|s.name='VaultKit's.version='0.

ios - Swift 框架伞头 - 在框架模块内包含非模块化头

我正在尝试将openssl框架包含到我正在构建的swift框架中(我使用cocoapods创建它-podlibcreate)。当我转到默认伞形header并从openssl框架导入一些header时,我得到在框架模块中包含非模块化header。我尝试了一切来解决这个问题(已检查来自stackoverflow的问题),包括允许非模块化包含的解决方案。我在正常的swift项目中使用opensslframwork,方法是将其导入到桥接头文件中,我没有遇到这样的问题。 最佳答案 经过很长时间,我终于找到了适合我的解决方案。在框架模块中包含非

ios - swift 项目 : "Missing Required Modules" when import a modular framework

设置我创建了一个swift框架,其中包括C库(CommonCrypto)和一个ObjectiveC文件。swift项目中没有bridge-header。因此,我创建了一个module.modulemap以将CommonCrypto和Objective-C文件导入到我的swift框架中。module.modulemap内容:这是module.modulemap示例链接:ImportingCommonCryptoinaswiftframework在项目设置中,添加modulus.modulusmap路径到swift编译因此,在我的swift框架中,一切正常。我可以像这样使用模数问题展示归档