gpt4 book ai didi

iphone - 用于 iOS 或 objective-c 端口的 libphonenumber

转载 作者:技术小花猫 更新时间:2023-10-29 10:25:57 26 4
gpt4 key购买 nike

我的目标是使用 libphonenumber ,谷歌的电话号码处理库,用于我正在处理的 iPhone 项目。

下载后(以及许多小时),我编译了库的 C++ 版本,并构建了一些“.a”文件和“.dylib”文件,我认为我必须将它们导入到我的 xCodeProject 中为了访问那些 C++ 函数。

所以我将“libphonenumber.a”导入到我的项目中,根据需要更新了我的目标、build设置、构建阶段和库搜索路径。

为 Device & Simulator pass 构建 xCode 项目,但是给我以下警告:“ld:警告:忽略文件 ../XcodeProjects/libphonenumber/build/libphonenumber.dylib,文件是为不受支持的文件格式构建的,该文件格式不是链接的体系结构 (armv7)”。 (或为模拟器编译时的 i386)

据我了解,我必须为正确的 i386 和/或 armv7 架构编译 libphonenumber。所以我尝试这样做,但很快意识到这需要我也为 i386/armv7 架构重建 libphonenumber 的 3 个依赖库,以便 libphonenumber 现在可以正确编译。最终,我放弃了,它开始看起来像摆在我面前的一团糟。

在我所有的尝试之后,我留下了

3 个问题:

1) 如何编译用于 i386/armv6/armv7 架构的 libphonenumber C++ 库。

2) 当使用 C++ 库时,我的假设是否正确?是不是简单地导入编译产生的“.a”文件,然后在我的 xCode 项目文件的标题中指向它?在 xCode 中包含和使用 c++ 库并从 objective-c 访问它们的函数的具体步骤是什么?

3) 我确实找到了 LPNKit ,libphonenumber 的 objective-c 端口,但它不完整。有没有人听说过它,并且有幸使用过它?或者有没有人有 libphonenumber 的 objective-c 端口,它是完整的、可以工作的,并且有关于如何正确编译和安装它的说明?

如有任何关于如何使该库在 iOS 上运行的帮助或建议,我们将不胜感激。

更新:

我最终使用了 libphonenumber 的 javascript 版本,将所有文件添加到我的包中,包括所有引用的 javascript 库,并使用 UIWebview 和 stringByEvaluatingJavaScriptFromString 来运行函数。您还可以让 UIWebview 在线引用 javascript 库(我只是更喜欢将所有内容都放在本地,而不是依赖于互联网连接)。

这是我所做的示例:

webView_ = [[UIWebView alloc] init];
[webView_ loadHTMLString:
@"<script src='base.js'></script>"
"<script>"
"goog.require('goog.dom');"
"goog.require('goog.json');"
"goog.require('goog.proto2.ObjectSerializer');"
"goog.require('goog.string.StringBuffer');"
"</script>"
"<script src=\"phonemetadata.pb.js\"></script>"
"<script src=\"phonenumber.pb.js\"></script>"
"<script src=\"metadata.js\"></script>"
"<script src=\"phonenumberutil.js\"></script>"
"<script src=\"asyoutypeformatter.js\"></script>"
"<script src=\"normalize.js\"></script>"
baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]]];


NSString *function = [[NSString alloc] initWithFormat: @"phoneNumberParser('%@','%@','')", phoneNumber, ISOCountryCode];
NSLog(@"function is: %@", function);

NSString *result =[webView_ stringByEvaluatingJavaScriptFromString:function];

结果变量为我提供了格式化的数字。

我希望这对遇到与我相同问题的任何人有所帮助。

最佳答案

它已由我们的团队移植。你可以找到它https://github.com/me2day/libPhoneNumber-iOS

关于iphone - 用于 iOS 或 objective-c 端口的 libphonenumber,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9078304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com