Tag: 框架

编译启用位码的iOS库

我需要发布一个框架启用bitcode,这是一个麻烦。 我将项目设置中的“启用位码”设置为“是”,并为实际设备和模拟器build立干净的。 我想testing库,所以我把它集成到我为此创build的一个新的应用程序,但现在它只为模拟器build立。 当我试图build立一个真正的设备,我得到: ld: '/path/to/Framework.framework/Company(File.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) 就像我说的,我已经build立了Bitcode启用,所以我不知道为什么会发生这种情况。 有任何想法吗? 谢谢

iOS框架弱链接:未定义的符号错误

我正在构build我自己的框架,build议分发给其他开发人员包括他们的项目。 这个框架可选地链接某些框架(例如CoreLocation)。 问题是,当我将框架链接到在构build阶段中不包含CoreLocation的真正的独立项目时,当尝试构build此主机项目时,出现链接器错误,如“未定义的架构符号” Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_CLLocationManager", referenced from: objc-class-ref in MySDK(MyServerConnection.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 是否有可能避免这种情况,因为我不想强迫开发人员将CoreLocation包含到他们的项目中? 其实,我知道这是可能的,但是我应该怎么做才能做到呢?

如何在Xcode中构build一个iOS框架的发布版本?

假设我做了以下几点: 打开Xcode 7 文件| 新| | 项目| cocoa触摸框架 用Swift语言创build“TestFramework” 使用public func hello(){print(“Hello”)}创build一个文件Hello.swift。 从这里,我可以构build一个框架的debugging版本(在Debug-iphoneos文件夹内),但是我不知道如何构build发行版的框架(在Release-iphoneos里面)。 我以为档案可以做,但事实并非如此。 请指点?

MBProgressHUD在多行显示标签文本

嗨,我的iPad屏幕上有一个MBProgressHUD。 工作得很好。 但是我想把标签改成三行显示。像这样 self.hud = [[MBProgressHUD alloc] initWithView:self.navigationController.view]; self.hud.frame = CGRectMake(0, 0, 120, 143); [self.navigationController.view addSubview:self.hud]; self.hud.delegate = self; self.hud.mode = MBProgressHUDModeAnnularDeterminate; NSString *strloadingText = [NSString stringWithFormat:@"Loading Data.\r Please Wait.\r 1-2 Minutes"]; NSLog(@"the loading text will be %@",strloadingText); self.hud.labelText = strloadingText; [self.hud show:YES]; 所以我想要3行中的标签 加载数据中。 请稍候 1-2分钟 或者我可以分配一个图像的HUD? 所有这些都应该在labeltext中。 但是我只有一条线。 我怎样才能做到这一点? 如果您需要更多信息,请询问。谢谢。

如何开发Trello iPhone应用程序?

我想知道哪些库或框架Trello iPhone应用程序正在使用。 这是一个与JS框架的Web应用程序? 如果是,哪一个? 还是原生的? 这里的框架? 我很好奇,因为我真的很喜欢用户界面,并没有运气search互联网。

Xcode找不到头文件

我正在为我的项目做一个框架。 进入我的框架,我添加了我的头文件的path目标>构build设置>标题searchpath 。 之后,我通过Build Phases> Link Binary With Libraries将此框架添加到我的项目中。 当我想导入我包含在我的框架中的头文件时,我得到一个.h文件未find错误。 我正在尝试做什么? 还是我错过了什么? 我创build了这样的框架; 打开新的项目为iOS>框架和库>cocoa触摸框架我没有添加任何类,我只是添加标题searchpath和库searchpath和链接器标志。 我不认为我在这个部分犯了一个错误,因为我们在每个项目中都这样做,但是第一次我为框架做这个。 然后我按运行,并从产品得到我的框架。 我打开了我的项目,并添加框架构build阶段>链接二进制与库。 我能够导入框架的头文件像#import <myframework/framework.h>在此之后,我还添加框架通用>embedded式二进制文件。 一切看起来很正常,但我不能添加标题到我的项目,我包括我的框架与标题searchpath。 我必须使用标题searchpath,因为有大量的标题,我不能将它们全部添加到我的Xcode。

基于iOS Swift的dynamic框架中的Objective C类

情况: 我有一个用Swift编写的iOS dyanmic框架。 我还得到了一堆用Objective C编写的类,我将在Swift类中使用这些类(有些是公共的,有些是私有的)。 不过 ,我希望Objective C类不要暴露在使用框架的项目中 。 我曾经尝试过: 伞头 据我所知,我应该在我的伞头文件(通常是FrameworkName.h使用#import header.h导入,然后确保我希望包含在Swift类中的所有Objective C头文件都标记为“公共”,在“构build阶段” – >“标题”下。 但是,这样做会自动将项目使用框架公开给框架使用的所有私有Objective C类。 模块映射(使用单独的模块) 正因为如此,我研究了使用模块映射,这是logging在这里 。 我已经看过其他用户的post,比如这个和这个 ,以及这个Github的回购 。 我成功地得到了以下工作: //SharedClasses/module.modulemap module SharedClasses { } //SharedClasses/module.private.modulemap module SharedClasses.Private { header "header.h" export * } 问题是,在我的项目(有这个框架导入),这个: import Framework import Framework.SharedClasses 被允许,随后“隐藏的”Objective C类被暴露。 也许这只是模块如何工作? 有没有办法让他们真正的私人? 模块映射(使用框架私有模块) 另外,我已经尝试在我的框架的根目录下创build一个module.private.modulemap文件,内容如下: explicit module Framework.Private { header […]

我可以在自定义字体中embedded自定义字体并从ios框架中访问它吗?

我正在创build一个ios 框架与捆绑打包资源(笔尖,图像,字体),我试图embedded自定义字体的捆绑,但我不能从框架中加载它,这是可能的吗? 1)我可以本地化字体文件: objc NSString *fontPath = [[NSBundle frameworkBundle] pathForResource:@"MyCustomFont" ofType:@"ttf"]; 2)但我无法得到它在我的字体列表: objc NSArray * array = [UIFont familyNames]; 我把我的字体名称包含在应用程序提供的“字体”的包装中,没有成功,也尝试在应用程序信息plist中,将其包含在框架资源中,但没有成功。 我可以从包中加载nib和图像(通过用包名称作为前缀),但不能加载字体。 任何想法 ? 编辑:我看到以下post: 我可以在iPhone应用程序中embedded自定义字体? ,但问题只是“我可以在iPhone应用程序中embedded自定义字体吗?” 不是“我可以在外部框架/包中embedded自定义字体吗? 它也引用了一个有趣的dynamic加载,但它使用的是私有API,这对框架来说不是可用的解决scheme。 谢谢

如何使用地幔在NSArray中指定子对象types

如果我有一本像这样的字典 { name: "Bob", cars: [ { make: "ford", year: "1972" }, { make: "mazda", year: "2000" } ], } 和两个模型,如: @interface CarModel : MTLModel @property (nonatomic, strong) NSString *make; @property (nonatomic, strong) NSString *year; @end @interface PersonModel : MTLModel @property (nonatomic, strong) NSString *name; @property (nonatomic, strong) NSArray *cars; @end 我如何使用地幔使我的人模型中的汽车数组是CarModel?

dyld:图书馆没有加载:@rpath与iOS8

我正在用Xcode6和iOS8创build一个iOS框架。 当我连接这个iOS应用程序,并尝试在设备上运行它,我得到这个错误 dyld: Library not loaded: @rpath/FrameworkName.framework/FrameworkName Referenced from: /private/var/mobile/Containers/Bundle/Application/0F2C2461-A68B-4ABA-A604-B88E6E9D1BB1/AppName.app/AppName Reason: image not found 框架的“运行pathsearchpath”构build设置默认设置为 '@executable_path/Frameworks', '@loader_path/Frameworks' 我找不到任何相关的文件。 这是Xcode6中引入的一些新function,我希望它只是简单地将框架包含到任何需要它的应用程序中。