问题标签 [universal-binary]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - iPhone 中的设备特定资源
根据iOS 参考库:
在 iOS 4.0 及更高版本中,可以将单个资源文件标记为仅在特定类型的设备上可用。
这是否意味着如果您正在为 3.X 设备(尤其是 3.2 iPad)创建通用应用程序,您就不能使用带有~ipad
和~iphone
后缀的设备特定资源?
如果是这样,这是处理特定设备资源的正确方法吗?
我应该知道的任何其他注意事项?
iphone - iPhone/iPad - 通用应用程序的 Facebook api
我知道 facebook api 适用于 iphone。我想将具有 facebook api 的 iphone 应用程序移植到 Universal 应用程序,以便它也可以在 iPad 上运行。我怎样才能实现它?是否有任何用于通用应用程序的 facebook api,或者我必须使用两个 api,一个用于 iphone,一个用于 ipad。如果我必须单独使用它们,我该如何编译和构建我的应用程序?
请为此建议我一些方法。
iphone - 如何构建适用于 os3.x 和 os4.x 的通用静态库
嗨,我正在尝试创建一个可以添加到任何 ios 项目的静态库,但我只能让它工作,如果我在 ios3 中构建库,它将适用于 ios3 项目,但不适用于 ios4,反之亦然。
我得到的错误是:
未定义符号:“.objc_class_name_UIImage”,引用自:literal-pointer@ _OBJC@ _cls_refs@UIImage in Test3-Release.a(TestViewController.o) “.objc_class_name_NSNotificationCenter”,引用自:literal-pointer@ _OBJC@ _cls_refs@NSNotificationCenter在 Test3-Release.a(Test.o)
所以看起来它没有为库找到 Foundation 和 UIKit 框架?
这是我到目前为止所做的:
我有 2 个项目:1 是一个带有库构建目标的库项目。另一个是尝试使用第一个库中构建的库的测试项目。
1)使用静态库目标创建一个项目并添加所有实现文件
2) 将 UIKit、Foundation 等库添加到“Link Binary with Libraries”文件夹中,并将所有链接库设置为在我的库目标中具有弱类型。
3)构建库,将其与我的头文件一起添加到我的测试项目中。
4)在我的测试项目中,我为所有构建配置将其他链接器标志设置为 -ObjC -all_load
当我编译时,它给了我一堆错误,就好像我没有包含任何框架一样。
有人对我应该做什么有任何想法吗?
提示(也许?)我还注意到,将任何框架添加到我的库目标中的“Link Binary with Libraries”文件夹似乎没有任何作用。我将 CoreLocation 添加到该文件夹,但是当我尝试在我的测试项目中编译时,它不会编译,直到我将 CoreLocation 添加到我的测试项目框架文件夹中。
iphone - 如何构建通用的ios静态库
我正在尝试构建一个可以与 ios3.x 和 ios4.x 一起使用的静态库。我可以使用 ios3.0 构建一个静态库,该库可以与 ios3.0 中的另一个项目一起使用,但不会在 ios4 中编译。从 ios4 到 ios3 也是如此。
以下是如何重新创建:
- 打开 XCode 3.2.4 并启动一个新项目,它是一个名为 Library4 的 Cocoa Touch 静态库
- 单击类文件夹并创建一个名为“TestViewController”的新 UIViewController
- 右键单击 Frameworks 文件夹,添加现有框架,选择 UIKit
- 在左侧面板中,展开目标,右键单击我的库目标,然后单击获取信息。更改所有配置,将base sdk更改为iphone模拟器4.0,将ios部署目标更改为ios3.0
- 单击带有二进制文件的链接库文件夹。在右侧窗格中,将两者的角色更改为“弱”
- 建立图书馆
- 打开 Xcode 3.2.2 并启动一个名为 Library4Test 的新的基于视图的应用程序
- 将 TestViewController.h 复制到类文件夹
- 将 libLibrary4.a 文件复制到 frameworks 文件夹。它会自动添加到目标的链接器阶段
- 右键单击 Library4Test 目标并单击获取信息。在其他链接器标志中,添加“-ObjC”和“-all_load”
- 在应用程序委托标头中添加 Import "TestViewController.h"
在应用程序委托标头的应用程序的 didFinishLaunchingWithOptions 方法中添加
TestViewController *test = [TestViewController alloc] init;
用ios3.0模拟器编译
当我编译时,我得到:
objective-c - 针对较旧(iOS < 4)设备的通用应用程序(iPad + iPhone) - 有条件地采用协议?
我正在编写一个可以在 iPad 和 iPhone 上本地运行的通用应用程序。我还需要它针对旧设备(那些不能运行 4.0 的设备),所以 3.1 是必须的。
我已经将 Base SDK 设置为最新的可用版本(4.2),并将部署目标设置为 3.1。我正在进行大量运行时检查,以便仅在正确的设备/版本上调用相应的方法。
我在 iPad 中使用的其中一件事是 UISplitViewController。分配 splitViewController 委托时,编译器会抛出警告,因为类接口没有明确采用 UISplitViewControllerDelegate 协议,我担心如果我声明它这样做,应用程序将在没有 UISplitViewController 的旧设备上崩溃/UISplitViewControllerDelegate。
抑制编译器警告的最佳方法是什么?我应该声明一个“空”的 UISplitViewControllerDelegate 吗?如果是这样,我可以在运行时有条件地制作它吗?还是我应该让相应的类接口符合协议而不用担心旧设备?
最好的,
iphone - Documents directory in Universal apps
If an user has an iPad and iPhone, and synchronizes an Universal app which has stored files in the Documents directory in one of these devices (say iPhone), do these files become available to the other device (say iPad) after synchronizing?
iphone - 让 iPad 应用程序通用?
我看到很多问题询问如何将 iPhone 应用程序转换为通用应用程序,答案通常是使用Upgrade Target For iPad
并有时更新Info.plist
. 我也看过这个问题,它问的问题和我一样,但我正在寻找一种不同的方法。
那里发布的答案说,为了将 iPad 应用程序转换为通用应用程序,必须更改Target device family
然后为其编写代码。我认为这个答案是不正确的,因为你最终会得到一个不平衡的代码库。
如何将 iPad 应用程序转换为通用应用程序,以便目录结构看起来像升级后的 iPhone 应用程序?(包括编辑 plist 和拆分委托等步骤。)
macos - 如何在 Mac OSX 10.4 中以通用二进制编译 LibJpeg
我想用通用二进制(ppc,i386)编译jpeg-8b。它应该在 10.4 和更高版本的操作系统中受支持'
我可以在 10.5 和 10.6 中做到这一点,但二进制文件与 10.4 不兼容
所以我尝试在 10.4 中编译它,但它失败了。
这是我在做什么
它失败并出现错误“配置:错误:C 编译器无法创建可执行文件”
如果我能获得 10.4 兼容的通用二进制文件将会很有帮助。
问候, 达纳
iphone - iPod Touch 4G 认为它是 iPad
我构建了一个通用应用程序,可以在 iPad、iPhone 4G、3GS 和 3G 上完美运行,但在 iPod Touch 4G 上运行时无法正常运行。
我没有要测试的 iPod Touch,但是 beta 测试人员告诉我,它可以很好地安装在设备上,但是在运行时它会显示 iPad 版本的应用程序的 Default.png 在启动时被挤压到屏幕上,然后从那里变黑。当应用程序被强制退出(使用应用程序切换器)并重新启动时,它会再次执行相同的操作。
我已经仔细检查了目标设备系列是 iPhone/iPad 并完成了干净的构建等,但仍然没有骰子。
iphone - iPhone - 如何在通用应用程序中使用#define
我正在创建在 iPhone 和 ipad 上运行的通用应用程序。我正在使用#define 创建 CGRect。我想使用两种不同的#define - 一种用于 iPhone,一种用于 iPad。我怎样才能声明它们,以便通用应用程序选择正确的一个............
我想我必须更新一点描述以避免混淆。我有一个 WPConstants.h 文件,我在其中声明所有 #define 如下
以上是针对iphone的。同样对于 iPad,我想要不同的#define 我该如何继续?