首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能为一些特定的iOS模拟器构建呢?

为什么我不能为一些特定的iOS模拟器构建呢?
EN

Stack Overflow用户
提问于 2015-05-28 11:07:51
回答 1查看 444关注 0票数 4

我有一个用我自己的框架工作的应用程序。我为i386和arm构建了框架,一切都很好。我的应用程序过去运行在每个模拟器,并可在商店。

现在,出于某种原因,我不能在一些模拟器上运行我的应用程序。工作的模拟器:

  • iPhone 4s
  • iPhone 5
  • iPad 2
  • iPad Retina

无法工作的模拟器:

  • iPhone 5S
  • iPhone 6
  • iPhone 6S
  • iPad空气
  • 可阻iPhone
  • 可阻iPad

错误是我的框架中的*.h文件在not中找到。

我想知道什么可以阻止这个文件被找到,或者更确切地说,哪些搜索路径不与某些模拟器一起使用。必须有一些项目/目标属性与这些仿真器类型的螺丝,除了我找不到任何会产生不同的。

在我的代码中,我搜索了任何类型的差异,但它们只是关于UI组件的iOS版本。我也使用TARGET_IPHONE_SIMULATOR,但在模拟器之间不应该有任何区别。

FYI,我的应用程序版本现在包括观看套件。它正在工作的苹果手表,以及苹果手表模拟器附加到iPhone 5(外部显示)。可能是相关的..。

任何帮助都非常感谢!

编辑:完整的错误描述:

未找到/Users/me/sources/myApp/iOS/trunk/include/someFile.h:18:10:‘dir/omeOtherFile.h’文件

编辑:所有目标中的头文件:

我的框架和每个包含我的框架的.h的文件都只是myApp的一部分,我注意不要在myApp.watchkit或myApp.watchkitextension中添加任何引用。

编辑:尝试解决方案:

  • Xcode重启
  • 重新启动
  • +Alt+Shift+K
  • 删除派生数据

编辑:64位:

我在项目文件中使用了一些路径:$(FRAMEWORK_SEARCH_PATHS)frameworkName_$(CURRENT_ARCH).framework/Versions/A/Headers,例如,它引用了$(FRAMEWORK_SEARCH_PATHS)frameworkName_$(CURRENT_ARCH).framework/Versions/A/Headers当我为模拟器而建的时候。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-03 10:34:01

解决了。这个问题来自于我的框架,由于某种原因,这个框架不是为64位模拟器版本构建的。

要使一切正常工作,项目需要4个版本的框架:x86 (32位模拟器)、x64 (64位模拟器)、armv7 (32位设备)和arm64 (64位设备)。

然后,使用项目属性,在构建时忽略不必要的框架:

ignoring file myFramework_i386.framework/myFramework_i386, file was built for archive which is not the architecture being linked (arm64)

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

https://stackoverflow.com/questions/30504851

复制
相关文章

相似问题

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