के लिए libphonenumber मेरा लक्ष्य libphonenumber का उपयोग करना है, जो एक आईफोन प्रोजेक्ट के लिए Google का फोन नंबर हैंडलिंग लाइब्रेरी है जिसका मैं काम कर रहा हूं।आईओएस या उद्देश्य-सी पोर्ट
यह (और कई कई घंटे) डाउनलोड करने के बाद, मैं पुस्तकालय के सी ++ संस्करण पालन किया, और यह एक नंबर "ए" फ़ाइलें और ".dylib" फ़ाइलें, जिनमें से मैं मान लिया है कि मैं अपने xCodeProject में आयात करना होगा बनाया उन सी ++ कार्यों तक पहुंचने के लिए।
इसलिए मैंने अपनी परियोजना में "libphonenumber.a" आयात किया, अपना लक्ष्य अपडेट किया, सेटिंग बनाएं, चरणों का निर्माण किया, और पुस्तकालय खोज पथ आवश्यकतानुसार।
डिवाइस & सिम्युलेटर पारित करने के लिए Xcode परियोजना का निर्माण, फिर भी मुझे निम्न चेतावनी दे: "ld: चेतावनी: अनदेखी फ़ाइल ../XcodeProjects/libphonenumber/build/libphonenumber.dylib, फ़ाइल असमर्थित फ़ाइल स्वरूप के लिए बनाया गया था जो आर्किटेक्चर लिंक नहीं है (armv7) "। (या i386 सिम्युलेटर के लिए संकलन करते समय)
मैं इस से समझता हूं कि मुझे सही i386 और/या armv7 आर्किटेक्चर के लिए libphonenumber संकलित करना होगा। तो मैंने ऐसा करने की कोशिश की, लेकिन जल्दी से एहसास हुआ कि मुझे libphonenumber के 3 आश्रित पुस्तकालयों को पुनर्निर्माण करने की आवश्यकता है, i386/armv7 आर्किटेक्चर के लिए libphonenumber के लिए अब ठीक से संकलित करने के लिए। आखिरकार, मैंने उस पर छोड़ दिया, यह मेरे सामने एक बड़ी गड़बड़ की तरह दिखना शुरू कर दिया।
मेरे सभी परीक्षणों के बाद, मैं के साथ
3 प्रश्न छोड़ दिया है:
1) मैं कैसे संकलन libphonenumber सी ++ i386/ARMv6/ARMv7 आर्किटेक्चर साथ प्रयोग के लिए पुस्तकालय के लिए।
2) सी ++ लाइब्रेरी का उपयोग करते समय, मेरी धारणा सही है? क्या यह केवल ".a" फ़ाइल को आयात करने का मामला है जो संकलन से परिणाम देता है, और बस इसे मेरी xCode प्रोजेक्ट फ़ाइलों के शीर्षलेख में इंगित करता है? सी ++ पुस्तकालयों को शामिल करने और उपयोग करने और उद्देश्य-सी के अंदर xCode के अपने कार्यों तक पहुंचने के लिए क्या कदम हैं?
3) मैं LPNKit, libphonenumber के लिए एक उद्देश्य-सी पोर्ट मिला, लेकिन यह अधूरा है। क्या किसी ने इसके बारे में सुना है, और इसका उपयोग करके कोई किस्मत है? या क्या किसी के पास libphonenumber के लिए एक उद्देश्य-सी पोर्ट है जो पूर्ण, काम कर रहा है, इसे संकलित करने और इसे सही तरीके से स्थापित करने के निर्देशों के साथ?
इस पुस्तकालय को आईओएस पर काम करने के तरीके के बारे में कोई मदद या सलाह बहुत सराहना की जाएगी।
अद्यतन:
मैं libphonenumber की जावास्क्रिप्ट संस्करण का उपयोग कर, मेरी बंडल करने के लिए सभी फ़ाइलें जोड़ने जावास्क्रिप्ट लाइब्रेरियों सभी संदर्भित सहित और UIWebView और stringByEvaluatingJavaScriptFromString का उपयोग कर कार्यों को चलाने के लिए समाप्त हो गया। आप UIWebview को जावास्क्रिप्ट लाइब्रेरी ऑनलाइन भी संदर्भित कर सकते हैं (मुझे बस इंटरनेट कनेक्शन पर निर्भर न होने के लिए स्थानीय सब कुछ चाहिए)।
यहाँ मैं क्या किया का एक नमूना है:
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];
परिणाम चर मुझे स्वरूपित संख्या हो जाता है।
मुझे उम्मीद है कि मेरे द्वारा किए गए एक ही मुद्दे में भाग लेने वाले किसी भी व्यक्ति की सहायता करें।
आप इसे कैसे पुन: संयोजित किया था और निर्भरता आप क्या कर रहे हैं? – LordT
सबसे पहले मैंने "i386" को "CMAKE_OSX_ARCHITECTURES: STRING =" को "cmakeCache.txt" फ़ाइल में cmake प्रक्रिया के लिए लगाया, और फिर पुन: संकलित किया। आश्रित पुस्तकालय [बूस्ट] (http://www.boost.org/), [प्रोटोबफ] (http://code.google.com/p/protobuf/), और [googletest] (http: // कोड .google.com/पी/googletest /)। – YoCoh
क्या आपको कभी भी उद्देश्य सी में libphonenumber ढांचे को पोर्ट करने में कोई सफलता मिली है? मुझे अपने आईओएस ऐप के लिए बिल्कुल वही चाहिए। यदि आप इसे मेरे साथ साझा करने के लिए बहुत दयालु होंगे, तो यह बहुत अच्छा होगा! अग्रिम में धन्यवाद। –