Tag: 框架

iOS上支持私有框架吗?

最近,我开始比以前更加积极地模块化应用程序,将代码段分离到框架或库中。 我喜欢桌面Cocoa中的“私有框架”的概念,即。 包含在应用程序包中的框架。 从我的小经验来看,框架比简单的库更适合代码重用,因为框架可以包含它们自己的头文件。 这使得为​​现有项目添加一个新的框架变得更容易。 问题是iOS上不支持这些“私人”框架。 你必须在那里使用静态库,而头pipe理是一个痛苦。 苹果有没有一个很好的技术理由,不支持iOS上的框架? (只是为了确保:苹果公司不幸地使用“私人框架”这个词来表示两件事:第一种是“自定义”的框架,附带一个应用程序,第二个是没有文档和禁止的框架,人们不应该在iOS上使用。正在问前者。) PS。 iOS 8有这个变化吗? Xcode 6中有一个“Cocoa Touch Framework”模板。

UIPickerView高度不可更改

我试图改变PickerView的高度 self.pickerView = [[UIPickerView alloc] init]; self.pickerView.frame = CGRectMake(0, 0, frame.size.width, frame.size.height); Xcode日志显示以下消息: -[UIPickerView setFrame:]: invalid height value 274.0 pinned to 216.0 我怎样才能改变它的身高?

Swift框架不包括通用结构扩展的符号

我无法链接我的框架与利用该框架的代码。 具体而言,链接程序无法findgenerics结构的扩展符号。 这是可选的扩展之一: extension Optional { /// Unwrap the value returning 'defaultValue' if the value is currently nil func or(defaultValue: T) -> T { switch(self) { case .None: return defaultValue case .Some(let value): return value } } } 如果在应用程序的主要部分编译代码,此方法在游乐场或应用程序中效果很好。 但是,当我尝试将其编译为框架时,应用程序(甚至框架的testing)产生以下链接器错误: 架构i386的未定义符号:“__TFSq2orU__fGSqQ__FQQ”,引用来自:__TFC18SwiftPlusPlusTests27Optional_SwiftPlusPlusTests13testOrWithNilfS0_FT_T_可选+ SwiftPlusPlusTests.o 类似的方法,如下面的,链接罚款(注意,它不是一个通用的) extension String { /// Returns a string by repeating it 'times' times […]

伞形框架

我创build了一个框架,其中插入了第二个框架,即所谓的“伞架”。 当我在testing应用程序中插入框架(embedded的二进制文件和链接的框架和库,都)不能构build应用程序,我得到以下错误: ld: framework not found 'embeddedInMyFramework' for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 比在embedded式二进制文件和链接的框架和库中添加该框架(embeddedInMyFramework),并尝试构build比工作好。 后来从embedded式二进制文件,链接框架和库中移除这个框架,仍然正常工作。 有人可以帮助我,不知道当我第一次添加框架到embedded式二进制文件会发生什么,以及如何解决这个问题(它可以以某种方式工作,而无需添加到embedded式二进制文件)

Objective-C检查旋转的UIViews的子视图是否相交?

我不知道从哪里开始。 CGRectIntersectsRect很明显在这种情况下不起作用,你会明白为什么。 我有一个UIView的子类,里面有一个UIImageView,放在UIView的中心: 然后我旋转自定义UIView来维持内部UIImageView的框架,同时仍然能够执行一个CGAffineRotation。 结果框架看起来像这样: 我需要防止用户使这些UIImageView相交,但我不知道如何检查两个UIImageViews之间的交集,因为不仅他们的框架不适用于父UIView,而且,他们旋转,没有影响他们的框架。 我的尝试的唯一结果是不成功的。 有任何想法吗?

在iOS中以编程方式切换AirPlane模式

我想以编程方式在iOS中开启/closures飞行模式。 Googlesearch后,我得到了一些以下的链接,并跟着他们, 可达性飞机模式(3G)与WiFi 使用私有框架:导入RadioPreferences.h 检测iPhone是否处于飞行模式? 上述所有的链接,告诉我使用AppSupport.framework和使用RadiosPreferences.h。 这是给我关于飞机模式是打开还是closures的状态,但是这并不使我改变飞行模式。 然后,我看到,这个链接, 如何使用私有API在IOS 5.1中打开/closures飞行模式 ,这使我可以切换飞行模式,但它使用权利,这只适用于越狱设备。 有什么办法,以编程方式设置飞行模式(可以使用私人API,但不能授权)。

链接错误与Parse.framework iOS

我试图在我的项目中导入分析框架。 我确定它对我的项目很满意,而且我也找不到它是否“敏感”。 我的项目是基于弧的。 这是我得到的错误: Undefined symbols for architecture i386: "_SCNetworkReachabilityCreateWithName", referenced from: -[PFCommandCache init] in Parse(PFCommandCache.o) +[PFInternalUtils(Reachability) isParseReachable] in Parse(PFInternalUtils.o) "_SCNetworkReachabilityGetFlags", referenced from: ___22-[PFCommandCache init]_block_invoke in Parse(PFCommandCache.o) +[PFInternalUtils(Reachability) isParseReachable] in Parse(PFInternalUtils.o) "_SCNetworkReachabilityScheduleWithRunLoop", referenced from: -[PFCommandCache init] in Parse(PFCommandCache.o) "_SCNetworkReachabilitySetCallback", referenced from: -[PFCommandCache init] in Parse(PFCommandCache.o) "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from: -[PFCommandCache dealloc] in Parse(PFCommandCache.o) "_SecItemAdd", referenced from: […]

iOS – 将框架故事板链接到ViewController,以便在主项目中使用

我试图通过在我的主要项目中创build一个框架中使用故事板。 这是在今后的众多不同项目中使用这个框架。 我已经使用一个包来pipe理故事板到主项目,我可以在构build应用程序时看到它。 然而,附加的ViewController,也坐在框架内,不会在运行时链接。 框架中的所有类都被导入到主项目中。 错误消息说它找不到视图控制器。 我试图添加视图控制器的捆绑,但它不喜欢这个,因为它不会允许.h文件成捆绑。 我也尝试颠倒依赖关系,使框架成为捆绑的依赖(认为它会导致其中的所有类,包括我的视图控制器,首先加载)。 有没有人遇到过这个? 我会非常感谢修复的build议! 谢谢,克里斯

内部有资源的IOS静态框架

我试图创build一个框架,保持我在项目中使用的一些常见的代码。 我发现在线教程,并设法创build一个框架,但我仍然有一个问题有关的资源(xibs,图像等)。 比方说,我有一个MainViewController.xib ,它有一个使用test.png的UIImageView 。 所有这些都在我的框架包。 当我在另一个项目中使用框架时,我将它添加到“复制束资源”构build阶段。 问题是xib只能使用类似dummy.framework/Resources/MainViewController.xib的path访问,而UIImageView里面无法加载test.png 。 看来,UIImageView将尝试从软件包的根目录加载png,而不是从xib也存储在其中的相对文件夹中加载。 有没有人设法创build一个框架的代码和资源,并在另一个项目中使用它?

“弱连结”框架意味着什么?

在Xcode中,我可以将框架设置为“可选”而不是“必需”,这意味着框架是弱链接的。 这是否意味着该框架只有在导入某个地方时才被包含在该包中? 我想弱连接一些使用私有API的debugging框架,我不希望它们出现在App Store构build中。