首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解用iOS应用程序打包的库

理解用iOS应用程序打包的库
EN

Stack Overflow用户
提问于 2013-08-14 19:39:18
回答 1查看 108关注 0票数 1

上下文

我的应用程序在Xcode 5.0的iOS 7模拟器中的外观

我在Xcode 5.0中预览了一个为iOS 5.1构建的应用程序,并在iOS 7模拟器中运行。一堆东西变了/“看上去很奇怪”。

示例:

  1. 我使用的是UINavigationController,并将其navigationBar颜色设置为黑色,使用:self.navigationController.navigationBar.tintColor = [UIColor blackColor],但是当我在模拟器中运行它时,导航条现在是半透明的灰色
  2. 我在主屏幕上有许多按钮,在iOS 6中,这些按钮是由导航条向下按下的,而在iOS 7中则不是这样,它们被移到屏幕上并坐在导航栏后面。

名单可能会继续下去。我意识到这是因为对iOS 7进行了“核心”框架库(如UINavigationController )的更新。

我的应用程序在运行iOS 7 beta的iPod触摸(第5代)上看上去如何?

当我在我的iPod触摸上运行同一个应用程序时(但在本例中,该应用程序是从应用程序商店下载的,是为iOS 5发布的),它看起来与iOS 6中的差不多,导航条是黑色的,主屏幕上的按钮在“正确的位置”等等。

问题

我认为当应用程序使用像UINavigationController这样的导航对象时,它看起来是在设备上找到那个库,而不是在应用程序中打包这个库?我想情况并非如此。有人能向我解释一下在设备上访问哪些库,以及该应用程序附带的预打包程序是什么,并更深入地解释上面的机制。

我的理解是,当在Xcode中预览应用程序时,Xcode将iOS 7库与我的应用程序捆绑在一起,因此会发生相当大的变化。当我在iPod上预览应用程序时,因为我使用的是该应用程序的公共版本,它与iOS 5/6库捆绑在一起,看起来是一样的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-14 19:57:22

这里的问题是,苹果公司试图在用户升级他们的操作系统时,小心一些已经发布的应用程序不会中断,所以运行库正在检查你的应用程序是用哪个版本的SDK构建的,并根据这些信息修改它的行为。基于最新的SDK,他们不考虑向后兼容性,因为他们想让你更新你的应用程序。

库并不与你的应用程序捆绑在一起。它们与操作系统一起打包--这使苹果可以选择哪些行为可以被普遍更新;哪些行为可以得到向后兼容的处理;哪些行为可以保持不变。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18240791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档