加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 17:34:02 所属栏目:百科 来源:网络整理
导读:我有一个使用我自己的框架的应用程序.我为i386做了框架构建以及arm,一切都很好.我的应用程序曾经在每个模拟器上运行,并且可以在商店中使用. 现在,出于某种原因,我无法在某些模拟器上运行我的应用程序. 有效的模拟器: iPhone 4s iPhone 5 iPad 2 iPad Retina
我有一个使用我自己的框架的应用程序.我为i386做了框架构建以及arm,一切都很好.我的应用程序曾经在每个模拟器上运行,并且可以在商店中使用.

现在,出于某种原因,我无法在某些模拟器上运行我的应用程序.
有效的模拟器:

> iPhone 4s
> iPhone 5
> iPad 2
> iPad Retina

无效的模拟器:

> iPhone 5S
> iPhone 6
> iPhone 6S
> iPad Air
>可调整大小的iPhone
>可调整大小的iPad

错误是找不到我框架中的* .h文件.

我想知道什么可以阻止找到这个文件,或者更确切地说某些模拟器没有使用什么搜索路径.必须有一些项目/目标属性与这些模拟器类型拧紧,除了我找不到任何会产生影响的.

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

仅供参考,我的应用程序版本包括Watch Kit.它正在Apple Watch以及连接到iPhone 5(外部显示器)的Apple Watch模拟器上运行.它可能是相关的……

任何帮助非常感谢!

编辑:完整的错误说明:

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

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

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

编辑:解决方案:

> Xcode重启
>重新启动
>?AltShift K.
>删除派生数据

编辑:64位:

我在项目文件中使用了一些类似的路径:
$(FRAMEWORK_SEARCH_PATHS)frameworkName _ $(CURRENT_ARCH).framework /版本/ A /头
例如,当我为模拟器构建时,它引用’/searchPathFolder/frameworkName_i386.framework / …’.

解决方法

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

为了使一切工作正常,该项目需要4个版本的框架:x86(32位模拟器),x64(64位模拟器),armv7(32位器件)和arm64(64位器件).

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

忽略文件myFramework_i386.framework / myFramework_i386,文件是为归档而构建的,而不是被链接的体系结构(arm64)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读