胖二进制验证 - (Cocoa [Touch Framework] / [静态库(转换为框架)]

时间:2015-03-18 21:05:17

标签: ios objective-c xcode cocoa

大家好。

我注意到了一些奇怪的事情。

众所周知,有很多关于"不支持的架构的抱怨"在使用带有i386切片的第三方框架时(例如),在针对App Store进行验证期间出现错误消息。

我已将xCode升级到6.2,现在我遇到以下情况:

  1. 我构建了一个简单的单视图应用程序(iPhone),它使用了两个外部自定义框架(我也建立了)。
  2. 其中一个框架是' Cocoa Touch Static Library"转换为框架(使用自定义脚本)与两个' .a'文件(iphoneos和iphonesimulator配置)组合成一个胖二进制文件(使用lipo)。
  3. 第二个框架是" Cocoa Touch Framework" (实际上,它的静态版本 - 通过Mach-O构建设置),两个二进制框架组合成一个胖二进制文件(也使用lipo)。
  4. 当我用" lipo -info"检查两个包含在框架中的二进制文件时我得到 - " armv7 i386 x86_64 arm64"在第一个框架和" i386 x86_64 armv7 armv7s arm64"在第二个框架的情况下(第二个框架是用这些架构有意(手动)构建的)。
  5. 当我存档我的应​​用并尝试从管理器验证它时 - 它成功通过。
  6. 当我用" lipo -info"检查应用程序二进制文件(来自xCode存档文件夹)时我得到了#arm; armv7 arm64" - 现在很清楚为什么在应用验证期间没有显示错误消息。
  7. 有没有人见过这样的行为? Apple可以在xCode 6.2中修复此问题吗?

    我明天会用旧的xCode版本(6.1.1)测试它。

    任何输入都是受欢迎的。

    谢谢。

0 个答案:

没有答案