我有兴趣验证是否为ARM或Intel构建了一个给定的iPhone静态库.
它比任何事物都更具好奇心.是否有某种Mac OS X或BSD特定工具来执行此操作?这篇文章在Linux中给出了一个例子.
由于Apple只发布带有Xcode4的SDK 10.6,因此用Xcode4开发PPC应用程序变得不可能.虽然可以使用Xcode4开发应用程序,也可以在10.5甚至10.4系统上运行(通过选择SDK 10.6,但部署目标10.5或10.4),但它们只能在Intel Mac上运行,因为您至少需要SDK 10.5才能运行构建PPC应用程序.
此外,还有一些罕见的情况,您需要在10.6之前构建一个SDK以获得完整的平台支持,例如,如果某些已弃用的功能已完全从10.6 SDK中消失,但您必须使用它并且动态链接不是在这些情况下总是最好的选择.同时链接早期的SDK有时会使开发变得简单,因为它会导致与早期操作系统版本不兼容,因为它会导致与早期操作系统版本不兼容,并且任何尝试使用它无论如何都会立即导致编译器或链接器错误.
最后但并非最不重要的是Apple还从Xcode4中移除了GCC 4.0支持,这可能是某些软件正确构建所必需的,Apple在使用SDK 10.4时从未允许使用GCC 4.2编译软件,尽管我几乎不相信这会导致任何问题,毕竟使用GCC 4.2和SDK 10.6构建的软件也可以在Mac OS 10.4上运行而没有任何问题,只要已正确设置部署目标并且没有使用MacOS 10.4下不可用的功能.
当然,你总是可以在Xcode4旁边并行安装Xcode3,但这意味着你必须放弃Xcode4的所有(伟大的?)新功能,并继续使用过时的Xcode3 IDE.如果您还可以在同一个IDE中管理所有旧项目,并且可以使用任何新功能,那肯定会好得多.并非所有项目都可以在可预见的将来制作10.6或英特尔.此外,我严格反对在早期实际需要之前取消对旧平台的支持.
我们可以将此功能恢复到Xcode4吗?
我正在尝试将我现有的iPhone应用程序项目升级到通用应用程序,但我在Xcode 4中找不到任何选项来执行此操作.它在哪里?
客户有兴趣发布通用应用程序.但是,第一个版本只包含iPhone版本,第二个版本将包含两个版本.
我找到了一些链接,其中ppl想出了如何在模拟环境中使其工作.但是,我找不到关于最终成功发布到AppStore的应用程序的声明.我需要对此进行验证.
您是否拥有声称只为iphone发布的通用应用程序的链接,或者您自己做过吗?
我知道这个问题已多次提出,但我的目标与我在网上搜索的内容略有不同.具体来说,我已经能够为iPhone构建一个静态库,但我能够构建的最终胖文件只包含arm和i386架构(我不确定arm指的是:是v6还是v7?).我无法专门为armv6和armv7编译,他们使用lipo合并两个架构.lipo工具抱怨armv6和armv7库中存在相同的架构(arm,而不是armv6或armv7).
有人可以解释如何构建armv6和armv7,他们使用lipo将这些库合并为一个胖文件?
编辑:我需要构建不使用Xcode,而是直接编译传统的unix库.
我正在深入iOS开发,我创建了一个通用应用程序,变成了一个仅限iPhone的应用程序.当它在iPad上运行时,它只会加载一个白色屏幕,因为还没有写入iPad代码.我想要的是它在iPad上以"iPhone"模式运行,如果它以某种方式最终在iPad上运行.我将"目标设备系列"属性设置为"iPhone",这样可以防止它作为iPad应用程序在App Store中显示,但如果有人同时拥有iPad和iPhone,那么该应用程序最终可能会同步在iPad上,它只会加载白色屏幕,因为它会尝试在iPad模式下运行应用程序,它没有任何支持的代码.在这种情况下,我更喜欢它实际上在iPad上运行,但在iPhone模式下.
我的问题是......
如果我听起来像一个总菜鸟,我道歉,但我是.非常感谢你的智慧!
这可能是一个非常愚蠢的问题,但我不熟悉在Mac上进行开发,并且很难使用通用二进制文件.
我有一个我在QT Creator中编译的应用程序,根据lipo正在生成i386架构输出.据我了解,这意味着它正在生产Mac OS X 32位输出.
该应用程序依赖于两个外部库.我正在通过首先调用./config编译这些库中的一个,然后编译../config声明它是"为darwin-i386-cc配置".但是,运行make并在结果上调用lipo后,体系结构将报告为x86_64.
同样,我有另一个外部库.那个没有配置脚本,我只是通过调用make来编译它.这个的输出也是x86_64.
如何编译这两个外部库,以便它们生成与我的应用程序的i386输出兼容的东西?更好的是,我如何编译这两个外部库来生成通用库,这样我就可以从我的应用程序生成一个通用二进制文件,它可以在32位和64位上运行?
另外,基于Mac世界的当前状态,是否还有其他平台可以用来创建一个适当的,用户友好的Mac OS X通用二进制文件?
我一直在尝试构建一个静态库,然后在Xamarin中创建一个绑定项目.一切正常,直到iOS 7出现.我不得不抓住最新版本的本机库并尝试在XCode 5中构建它,但它一直给我带来各种各样的问题.我认为它可能与构建过程有关,或者可能与XCode 5中的某些更改设置有关(相对于4),但我不确定.
我正在使用这个脚本来构建一个基于这个问题的工作的通用二进制文件:
我注意到的一件事是,之前,在我的二进制版本的旧版iOS 6.1版本(内置在XCode 4中)中,我的二进制文件大约是24 Mb,现在使用XCode 5它已经膨胀到接近50 Mb!这让我觉得编译和链接步骤有问题.
有任何想法吗?有没有其他人在XCode 5(vs 4)中遇到通用二进制文件的问题?
我知道有一些关于此的讨论,但我找不到好的答案?
我的问题是 -
我知道 -
[UIImage imageNamed:@"blabla"]
Run Code Online (Sandbox Code Playgroud)将自动搜索要在iPhone上显示的正确图像(视网膜或非视网膜).
我有一个通用应用程序,我希望在ipad上使用@ 2x版本,所以我不必加载其他版本的图像(我有数百个小图像).
可能吗 ?
谢谢
SHANI
我想为iPhone和iPad构建游戏.因此,从头开始这个项目作为通用应用程序是有意义的.但是,iPhone和iPad目前运行两个不同版本的iOS,因为iOS 4尚不适用于iPad.我想在游戏中支持两种iOS 4功能(GameCenter和iAd).
非常感谢您的所有智慧!
编辑:我理解这个问题涉及管理风险.我知道这些风险,但是当iOS在各种iOS设备中分散时,我对与构建通用应用程序相关的任何技术设计考虑更感兴趣.
universal-binary ×10
iphone ×7
ipad ×4
ios ×3
xcode ×3
macos ×2
xcode4 ×2
bsd ×1
compilation ×1
fat-binaries ×1
ios4 ×1
linker ×1
objective-c ×1
osx-leopard ×1
powerpc ×1
xamarin ×1