Tag: 框架

Swift项目:导入一个模块化框架时“缺less必需的模块”

build立 我创build了一个包含C库(CommonCrypto)和Objective C文件的Swift框架。 swift项目中没有桥头。 所以我创build了一个module.modulemap来将CommonCrypto和Objective-C文件导入到我的swift框架中。 module.modulemap内容: 这里是module.modulemap示例链接: 在一个快速框架中导入CommonCrypto 在项目设置中,将modulus.modulusmappath添加到swift编译 所以,在我的快速框架中,一切正常。 我可以使用这样的模数 问题显示 将模块化框架归档并作为内置产品导出。 在我的swift示例项目中,为embedded式二进制文件添加模块化框架 当我在框架内使用某些东西时,在这一行发生错误 我尝试了很多解决scheme,但仍然无法正常工作。 类似的问题: Swift应用程序:导入导入静态库的框架时“Missing required module” 将RealmSwift作为子项目添加:缺less所需的模块:“Realm.Private”,“Realm” 有没有人有这个好的解决scheme? 谢谢!!

使用embedded在dynamic框架中的第三方框架

据我所知,从dynamic框架和静态的重大变化是静态链接的时候静态链接到代码(启动之前)和dynamic链接在启动/运行时 现在我有一个testing项目: 我的项目有一个dynamic框架链接到它 – A.框架。 import A.framework A.框架有一个embedded其中的框架 – B.框架 在我的主要项目中,我想使用B.framework的类 现在我在主项目中看到一个简单的import语句: import B.framework 它实际上工作,我可以使用内嵌在链接的A.framework中的B.framework内的代码 怎么会这样? 这是安全可靠的吗? 主项目如何识别B.框架? 主项目直接将B.框架与项目联系起来的情况如何? 在这种情况下,我会在链接时看到很多“重复的符号错误” 最重要的是,我怎样才能构buildA.framework,而不是在其内embeddedB.framework,而偏离其使用的类和函数 任何澄清将有助于:)

autoresize完成后如何获取帧大小

我想知道,如何以及何时(viewDidLoad,viewWillAppear,viewDidAppear)我可以得到一个UIViews框架的大小已被自动化,以适应其partent视图?

将框架embedded框架iOS中

我有一个项目包含另一个目标(框架),这是主项目的依赖项。 该框架需要它自己的框架,所以我已经使用Carthage添加了它们。 该项目编译并在模拟器上运行良好,但是我在物理设备上运行时遇到以下错误: dyld: Library not loaded: @rpath/Subframework.framework/Subframework Referenced from: /private/var/mobile/Containers/Bundle/Application/LONG-ID/MyApp.app/Frameworks/MyAppSDK.framework/MyAppSDK Reason: no suitable image found. Did find: /private/var/mobile/Containers/Bundle/Application/LONG-ID/MyApp.app/Frameworks/MyAppSDK.framework/Frameworks/Subframework.framework/Subframework: mmap() error 1 at address=0x00798000, size=0x00060000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/LONG-ID/MyApp.app/Frameworks/MyAppSDK.framework/Frameworks/Subframework.framework/Subframework 我已经尝试过,但唯一的解决scheme是添加子框架“embedded框架”到顶级项目,这是不可行的。 我已经尝试修改生成设置 – >链接 – >dynamic库安装名称,但它没有帮助。 如何才能实现在iPhone上工作?

如何从iOS中的现有框架创build静态库?

我已经为第三方供应商提供了一个iPhone硬件附件的框架。 所以我有一个像Device.framework文件夹。 该文件夹内是一个二进制文件和一组.h文件。 有关于如何将其添加到iOS项目并使用其中包含的类的说明。 但是,我实际上使用MonoTouch并希望使用静态库。 有没有办法创build一个静态库,使静态库中的框架中的所有类都可用? 所以在我的MonoTouch项目中,我将链接到静态库,并有权访问该框架。

iOS:添加观察者到UIView的frame.origin.y?

我试图监视和反应UIView框架的起源的改变的价值。 我的代码: [cell.bottomView addObserver:self forKeyPath:@"frame.origin" options:NSKeyValueObservingOptionNew context:NULL]; -(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { NSLog(@"%@ Changed", keyPath); } 我收到以下错误消息,我不明白: An instance 0x7587d10 of class NSConcreteValue was deallocated while key value observers were still registered with it. Observation info was leaked, and may even become mistakenly attached to some other object. Set a breakpoint on […]

没有这样的模块“集成”错误 – 导入Objective-C框架用于swift项目

我将Ensembles添加到我的Swift项目中 – 在这里findhttps://github.com/drewmccormack/ensembles 。 我没有运气增加iCloud支持到我的应用程序,并跨设备同步数据,所以希望这将工作。 我已经按照以下说明将框架添加到我的应用程序, 在Finder中,将框架目录中的Ensembles iOS.xcodeproj项目拖放到您的Xcode项目中。 在左侧的源列表中select您的应用程序的项目根目录,然后select应用程序的目标。 在“常规”选项卡中,单击“链接的框架和库”部分中的“+”button。 selectlibensembles.a库并添加它。 select生成设置选项卡。 find其他链接器标志设置,并添加标志-ObjC。 这是它在我的项目中的样子,我不确定我是否已经完成了这一步。 select“构build阶段”选项卡。 打开目标依赖项,然后单击+button。 findEnsembles资源iOS产品,并将其添加为依赖项。 打开源列表中的Ensembles iOS.xcodeproj项目,然后打开Products组。 将Ensembles.bundle产品拖到您的应用程序的“复制包资源”构build阶段。 将下面的导入添加到您的预编译头文件中,或者使用Ensembles在任何文件中添加。 这是第10步,我有问题。 我必须创build一个桥接头或只是将框架导入到我的swift文件? 这是我在我的CoreDataStack.swift文件中导入的 import UIKit import CoreData import Ensembles class CoreDataStack: NSObject, CDEPersistentStoreEnsembleDelegate { } 这给了我错误; 没有这样的模块“合奏” 我尝试通过执行以下操作来创build桥接标头; 添加新的头文件 导入合奏 这是这样的; #ifndef Header_h #define Header_h #import <Ensembles/Ensembles.h> #endif /* Header_h */ 但仍然没有运气,有没有人知道我错了什么时候试图导入框架使用我的SWIFT项目?

如何在不创buildUmbrella Framework的情况下构build一个依赖于另一个的iOS框架

我试图通过创build一些可重用的框架来简化我的开发,这些框架包含了我通常在多个项目中重用的function。 不过,设置我的框架之一,我遇到了一个问题,类有一个依赖的Firebase框架。 读过苹果文档后,build议不要创buildUmbrella Framework(embedded另一个),尤其是如果你没有embedded式框架的所有权(我不这样做)。 所以问题是: 我如何创build一个框架项目,允许我构build框架,而不包括将创build一个伞框架的依赖关系。 我认为这就是Firebase这样的用户所做的事情,因为当你添加他们的框架时,还有其他的你也必须添加到你的项目中。 我不太明白你将如何configuration一个项目,允许你build立没有错误的框架,但不包括依赖关系。 作为参考,我正在使用最新的Xcode,需要支持iOS 8及以上版本。 在此先感谢您对此的任何想法/build议

在运行时dynamic下载和执行iOS代码

作为一个学术和心理练习,如何下载一个预编译的二进制文件并在iOS设备上执行其中的方法? 我知道这违反了苹果的许可协议,第3.2.2节,但我要求个人项目,并了解更多关于iOS运行时。 目标 下载http://someexample.com/MyCoolBinary.a 保存下载的二进制文件到设备盘 调用二进制中存在的已知方法。 我试过了 我没有尝试过任何具体的东西,但是我会想象有可能沿着…的方向做一些事情。 void *myDownloadedLibrary = dlopen("/path/to/newly/downloaded/framework/MyCoolBinary.framework") dlsym(myDownloadedLibrary) 任何例子或指针什么样的图书馆这将与工作将不胜感激。 谢谢。

如何使用Swift应用+(Swift框架+ Objective C静态框架)没有警告

我在做什么: 创build一个快速的dynamic框架 – 说SwiftDemo.framework Swift.framework依赖于一个外部的Objective-C静态框架(没有源代码可用) – 说ObjCDemo.framework。 这个框架有它的模块文件,放在ObjCDemo.framework / Modules / module.modulemap里面 把这个SwiftDemo.framework放到一个Swift应用程序中。 理想情况下,我想我的swift应用程序能够使用SwiftDemo.framework和ObjCDemo.framework没有任何错误或警告。 我曾经尝试过: 创build一个SwiftDemo.framework的Swiftdynamic框架 在“链接的框架和库”中添加了ObjCDemo.framework。 如果不自动添加ObjCDemo.frameworkspath在“框架searchpath”中。 使用“import ObjCDemo”访问ObjCDemo.framework。 构buildSwiftDemo.framework。 它build立好,没有错误,没有警告 创build一个SwiftDemo应用程序。 在“embedded式二进制文件”部分添加SwiftDemo.framework。 尝试构buildSwiftDemo.app,下面是错误: ld:架构x86_64找不到ObjCDemo 很明显,SwiftDemo.app无法findSwiftDemo.framework使用的ObjCDemo.framework,接下来我做了: 在“链接的框架和库”中添加了ObjCDemo.framework,并相应地设置了SwiftDemo.app目标的“框架searchpath” 尝试构buildSwiftDemo.app,没有错误,但是这是控制台警告我得到ObjCDemo.framework中的每个文件: objc:在/ Users / tarun / Library / Developer / CoreSimulator / Devices / 4391A259-64DF-4893-BE09-31B5D2D5BC8C / data / Containers / Bundle / Application / CD896A7B-1868-44D1-BFEA-6CC081AD41DB /SwiftDemo.app/Frameworks/SwiftDemo.framework/Swift和/ Users […]