我有一个用我自己的框架工作的应用程序。我为i386和arm构建了框架,一切都很好。我的应用程序过去运行在每个模拟器,并可在商店。
现在,出于某种原因,我不能在一些模拟器上运行我的应用程序。工作的模拟器:
无法工作的模拟器:
错误是我的框架中的*.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中添加任何引用。
编辑:尝试解决方案:
编辑:64位:
我在项目文件中使用了一些路径:$(FRAMEWORK_SEARCH_PATHS)frameworkName_$(CURRENT_ARCH).framework/Versions/A/Headers,例如,它引用了$(FRAMEWORK_SEARCH_PATHS)frameworkName_$(CURRENT_ARCH).framework/Versions/A/Headers当我为模拟器而建的时候。
发布于 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)
https://stackoverflow.com/questions/30504851
复制相似问题