当你开发完成一款基于Qt的应用程序想要将其上传到Mac App Store上时,如果程序里用到了QWebview 控件, 那么"恭喜"你, 你将不能通过Mac App Store 的审核,返回给你的错误可能是是这样的,
Use of non-public APIs not permitted. Following non-public APIs are included:
'usr/lib/libSystem.B.dylib'
+++ : bootstrap_look_up2
+++ : bootstrap_register2
'usr/lib/libicucore.A.dylib'
+++ : ubrk_getRuleStatus
+++ : ubrk_setUText
当然别人早就发现这个问题并已经上报给Qt官方了(比如这里就有人提到),但是目前为止(Qt5.2 已发布),并没有修复这个问题,解决方案也有很多种,我这里采取的方法是在程序里用cocoa库的控件来代替Qt的QWebview控件,这样的好处是,减小了程序包的大小,而且减得不是一点点,因为程序因为包含QWebview而要拷很多相关的Framework,用cocoa库的webview就不用了;坏处就是一定程度上破坏了程序的跨平台性。
实现方法:可以参考这里 。
网友评论