我有一个包含mfp JSON Store的cordova项目。当我用xcode 7.2构建项目时(enable Bitcode设置为false),它会遇到一个错误:
"_EVP_CIPHER_CTX_cleanup", referenced from:
+[JSONStoreSecurityUtils _doEncrypt:key:withIV:] in IBMMobileFirstPlatformFoundationJSONStore(JSONStoreSecurityUtils.o)
+[JSONStoreSecurityUtils _doDecrypt:key:withIV:withCorrectIVConversion:withCorrectKeyConversion:] in IBMMobileFirstPlatformFoundationJSONStore(JSONStoreSecurityUtils.o)
[...50 further errors...]
"_sqlite3_step", referenced from:
___36-[JSONStoreDatabaseManager execute:]_block_invoke in IBMMobileFirstPlatformFoundationJSONStore(JSONStoreDatabaseManager.o)
___35-[JSONStoreDatabaseManager update:]_block_invoke in IBMMobileFirstPlatformFoundationJSONStore(JSONStoreDatabaseManager.o)
___47-[JSONStoreDatabaseManager deleteFromDatabase:]_block_invoke in IBMMobileFirstPlatformFoundationJSONStore(JSONStoreDatabaseManager.o)
___47-[JSONStoreDatabaseManager selectInto:withSQL:]_block_invoke in IBMMobileFirstPlatformFoundationJSONStore(JSONStoreDatabaseManager.o)
___50-[JSONStoreDatabaseManager selectAllInto:withSQL:]_block_invoke in IBMMobileFirstPlatformFoundationJSONStore(JSONStoreDatabaseManager.o)
___35-[JSONStoreDatabaseManager insert:]_block_invoke in IBMMobileFirstPlatformFoundationJSONStore(JSONStoreDatabaseManager.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
看起来它没有用于体系结构arm64的相关JSONStore库。如果我尝试在模拟器上运行,它会失败,因为找不到体系结构x86_64。
如果您想重现问题,请按照以下步骤操作:
- 我使用了mfp.help的这个项目
- 添加了ios环境:mfp cordova平台添加
- mfp推送
- 在xcode中打开项目,禁用位代码并在设备/模拟器上运行
mfp cordova插件列表显示以下内容:
cordova-plugin-mfp 7.1.0 "IBM MobileFirst Platform Foundation"
cordova-plugin-mfp-jsonstore 7.1.0 "IBM MobileFirst Platform Foundation - JSONStore"
cordova-plugin-mfp-push 7.1.0 "IBM MobileFirst Platform Foundation - Push Notifications"
org.apache.cordova.device 0.2.13 "Device"
org.apache.cordova.dialogs 0.2.11 "Notification"
org.apache.cordova.geolocation 0.3.11 "Geolocation"
org.apache.cordova.globalization 0.3.3 "Globalization"
org.apache.cordova.inappbrowser 0.5.4 "InAppBrowser"
org.apache.cordova.network-information 0.2.14 "Network Information"
我试图通过mfp cordova插件更新来更新插件,但没有帮助。
我使用以下版本的cli:$mfp-v7.1.0.00.20151023-1449
请在这里找到如何解决问题的说明
https://www.dropbox.com/s/iiesbpgrd7bj0c8/iOSfix.mp4?dl=0
使用相同的CLI版本并创建一个新的Cordova应用程序,添加iOS平台和JSONStore插件,Xcode 7.2中的构建过程成功通过。这可能是所提供样本的特定问题。
由于您也是IBM员工,我建议您直接通过Notes联系Andrii Vasylchenko,因为他维护此示例并可以更新它。