我创建了一个Cordova项目。
对于iOS,Cordova会生成两个XCode项目:应用程序项目,在应用程序项目中创建 CordovaLib项目。
使用maven我试图用一个静态库替换CordovaLib项目。
删除了CordovaLib项目,并添加了四个版本的libCordovaLib.a作为链接库: 1.调试iphoneOS 2.调试iphoneSimulator 3.发布iphoneOS 4.发布iphoneSimulator
根据需要扩展标题搜索路径,并扩展库搜索路径:
$(inherited)
target/libs/Debug-iphoneos/...path.../CordovaLib
target/libs/Debug-iphonesimulator/...path.../CordovaLib
. (Note that first is iphoneos, than comes iphonesimulator).
XCode现在可以为真实的测试设备成功构建应用程序,但无法为模拟器构建(链接器错误)。错误之前有警告:
ld:警告:忽略文件 目标/库/调试-的iPhoneOS / ... ...路径/ CordovaLib / libCordovaLib.a, 在文件中缺少必需的体系结构i386 target / libs / Debug-iphoneos / ... path ... / CordovaLib / libCordovaLib.a(3 切片)
现在有趣的是:
如果我切换库搜索路径条目的顺序,XCode成功构建模拟器,但无法构建真实的测试设备,产生类似的警告:
ld:警告:忽略文件 目标/库/调试-iphonesimulator / ... ...路径/ CordovaLib / libCordovaLib.a, 缺少文件中所需的架构arm64 目标/库/调试-iphonesimulator / ... ...路径/ CordovaLib / libCordovaLib.a (2片)
有人知道如何解决这个问题吗?我是否应该在库搜索路径中使用任何构建变量来匹配所需的一个设备/模拟器?我用谷歌搜索,但没有找到类似的东西。
由于
答案 0 :(得分:0)
有人开悟了我:
解决方案是:包含BUILD_STYLE
和PLATFORM_NAME
构建设置变量。