मैं ओब्जे-सी सीखने के लिए समय नहीं लेना चाहता हूं। मैंने वेब एप्लिकेशन प्रोग्रामिंग करने में 7+ साल बिताए हैं। वेबव्यू का उपयोग करने का कोई तरीका नहीं होना चाहिए और केवल पूरे ऐप को जावास्क्रिप्ट में लिखना चाहिए, फाइलों को परियोजना के संसाधनों से सीधे खींचना चाहिए?मैं केवल एक वेब ऐप बनाये बिना जावास्क्रिप्ट में एक आईफोन ऐप कैसे लिख सकता हूं?
उत्तर
मुझे चारों ओर खोजने के बाद जवाब मिला। यहां मैंने जो किया है:
एक्सकोड में एक नई परियोजना बनाएं। मुझे लगता है कि मैंने व्यू-आधारित ऐप का इस्तेमाल किया था।
किसी वेबव्यू ऑब्जेक्ट को अपने इंटरफ़ेस पर खींचें और आकार बदलें।
अपने WebViewController.m के अंदर (या इसी नाम की फ़ाइल पर अपने दृश्य का नाम के आधार पर,), viewDidLoad विधि में:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]; NSData *htmlData = [NSData dataWithContentsOfFile:filePath]; if (htmlData) { NSBundle *bundle = [NSBundle mainBundle]; NSString *path = [bundle bundlePath]; NSString *fullPath = [NSBundle pathForResource:@"index" ofType:@"html" inDirectory:path]; [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:fullPath]]]; }
अब किसी भी फाइल आप परियोजना के लिए संसाधनों के रूप में शामिल किया है आपके वेब ऐप में उपयोग के लिए उपलब्ध हैं। मुझे जावास्क्रिप्ट और सीएसएस और छवि फ़ाइलों सहित कोई index.html फ़ाइल नहीं मिली है जिसमें कोई समस्या नहीं है। अब तक की एकमात्र सीमा यह है कि मैं नए फ़ोल्डर्स नहीं बना सकता, इसलिए सभी फाइलें संसाधन फ़ोल्डर को अव्यवस्थित करती हैं।
चाल: सुनिश्चित करें कि आपने फ़ाइल को एक्सकोड में संसाधन के रूप में जोड़ा है या फ़ाइल उपलब्ध नहीं होगी। मैं एक्सकोड में एक खाली फ़ाइल जोड़ रहा हूं, फिर खोजक में अपनी फाइल को शीर्ष पर खींच रहा हूं। यह मेरे लिए काम कर रहा है।
नोट: मुझे एहसास है कि Obj-C को सीखना मुश्किल नहीं होना चाहिए। लेकिन चूंकि मेरे पास पहले से ही यह ऐप जेएस में मौजूद है और मुझे पता है कि यह सफारी में काम करता है यह मेरे लिए एक बहुत तेज़ देव चक्र है। कुछ दिन मुझे यकीन है कि मुझे तोड़ना होगा और ओब्जे-सी सीखना होगा।
कुछ अन्य संसाधनों मैंने पाया मददगार:
जावास्क्रिप्ट से कॉलिंग Obj सी: calling objective-c from javascript
Obj सी से जावास्क्रिप्ट कॉलिंग: आवेदन बंडल से iphone app development for web hackers
पढ़ना फ़ाइलें: uiwebview
आपके पास उद्देश्य सी में लिखे गए देशी रैपर होना चाहिए। इस रैपर में वेबव्यू बनाने के लिए आवश्यक कोड (जैसे, 10) की कुछ पंक्तियां हो सकती हैं और इसे इंटरनेट में दिए गए पते पर नेविगेट कर सकते हैं (जहां आपका एप्लिकेशन रहता है) । लेकिन इस मामले में आपका आवेदन एक पूर्ण-विशेषीकृत वेब एप्लिकेशन होना चाहिए (मेरा मतलब है, न केवल जावास्क्रिप्ट का उपयोग करें, बल्कि मार्कअप के लिए कुछ HTML भी)।
मैं इसी समस्या में भाग गया। मेरे पास पहले से ही जावास्क्रिप्ट में लिखा गया एक गेम है। मुझे एक आईफोन अनुकूल संस्करण बनाना अच्छा लगेगा, लेकिन ओब्जे-सी एक ओवरकिल है। मैं जो कर रहा हूं वह आईफोन ऐप के एक विशेष यूआरएल को इंगित करने के लिए वेब व्यू का उपयोग कर रहा था। इसके बारे में सोचने के बाद, मुझे लगता है कि मैं बस उन फ़ाइलों को ऐप निर्देशिका में ले जा सकता हूं और उन्हें स्थानीय रूप से चला सकता हूं।
वर्तमान सेब एपीआई के साथ ऐसा करने का कोई तरीका नहीं है। आपका सबसे करीबी शर्त एक साधारण देशी आईफोन ऐप लिखना है जो वेबकिट ब्राउज़र को एम्बेड करता है। इससे आपको स्थानीय रूप से अपना एक्सएचटीएमएल/जेएस एप्लीकेशन ब्राउज़ करने देगा।
यदि आप डेटा स्टोर करना चाहते हैं, तो आपको इसे एक कदम आगे ले जाना होगा और एक हल्का वजन http सर्वर शामिल करना होगा जो आपके ऐप को सर्वर करता है और डेटा को स्टोर और पुनर्प्राप्त करने के लिए कॉल प्रदान करता है। शायद आपके लिए आदर्श समाधान नहीं है, लेकिन संभवतः पूर्ण ओब्जे-सी ऐप से कम काम है।
एक साइड नोट के रूप में, ओब्जे-सी सीखना काफी आसान है। एसडीके में कई उदाहरण हैं। समुदाय मजबूत है और बिना किसी हिचकिचाहट के अच्छे प्रश्नों का उत्तर देगा।
आप जावास्क्रिप्ट के लिए WHATWG/HTML5 SQL स्टोरेज API के माध्यम से स्थानीय संग्रहण का उपयोग कर सकते हैं। अधिक जानकारी के लिए मेरा जवाब देखें। –
आईफोन 2.1 (शायद 2.0) पर ऐसा करने वाले लोगों के लिए, आपको स्थानीय डेटा संग्रहण के लिए कोई विशेष सेवाएं बनाने की आवश्यकता नहीं है। मोबाइलसाफरी एचटीएमएल 5/WHATWG एसक्यूएल डेटाबेस एपीआई का समर्थन करता प्रतीत होता है। डेस्कटॉप सफारी और फ़ायरफ़ॉक्स के हाल के संस्करणों द्वारा समर्थित यह वही एपीआई है।
यदि आप डोजो या एक्सटीजेएस जैसे टूलकिट का उपयोग कर रहे हैं जो स्टोरेज एब्स्ट्रक्शन प्रदान करता है, तो आपका कोड मोबाइलसाफरी समेत किसी भी आधुनिक ब्राउज़र पर काम करना चाहिए।
परीक्षण करने के लिए, अपने आईफोन पर http://robertsanders.name/dev/stackoverflow/html5.html खोलें।
यदि आप उस पृष्ठ को खोलते हैं तो जेलब्रोकन आईफोन के फाइल सिस्टम को देखें, आपको कहीं भी/निजी/var/मोबाइल/लाइब्रेरी/वेबकिट/डेटाबेस/डेटाबेस में डेटाबेस देखना चाहिए। वहां वेब-खुले डीबी की एक निर्देशिका भी है।
जड़ # sqlite3 /private/var/mobile/Library/WebKit/Databases/Databases.db SQLite संस्करण 3.5.9 निर्देश
SQLite> के लिए ".help" Enter .databases seq नाम फ़ाइल
0 मुख्य /private/var/mobile/Library/WebKit/Databases/Databases.db
SQLite> .tables
डेटाबेस उत्पत्ति
वर्गमीटर> डेटाबेस से चुनें *;
1 | http_robertsanders.name_0 | NoteTest | डाटाबेस | एपीआई उदाहरण | 20000 | मूल से 0000000000000001.db
SQLite> का चयन करें *;
http_robertsanders.name_0 | 5242880
चेक बाहर PhoneGap http://www.phonegap.com पर वे दावा करते हैं तो यह आपको एक देशी iPhone एप्लिकेशन में जावास्क्रिप्ट, HTML और सीएसएस एम्बेड करने के लिए अनुमति देता है।
आप किसी भी obj-c को जानने के बिना एक आवेदन बना सकते हैं। क्विककनेक्टिफोन फ्रेमवर्क आपको ऐसा करने की अनुमति देता है। इसका उपयोग करने के लिए http://tetontech.wordpress.com देखें और साथ ही साथ जो कुछ भी आपने पूछा है उसे करने के अन्य तरीकों की जांच करें।
मैं थोड़ी देर के लिए फोनगैप का उपयोग कर रहा हूं और ऐसा लगता है कि मेरे लिए सबसे अच्छा परिणाम है। मैं अपने ऐप के लिंक के साथ एक हफ्ते में या तो अपने अनुभव को पोस्ट करूंगा।इस मामले पर नई o'reilly book पर
अब सेब द्वारा अनुमोदित http://blogs.nitobi.com/jesse/2009/11/20/phonegapp-store-approval/ – Neo42
नज़र
कम से कम 2 अन्य लोगों phonegap उल्लेख किया है, लेकिन मैंने सोचा कि मैं यह भी पोस्ट और उल्लेख है कि एप्पल phonegap ढांचे को मंजूरी दी है चाहते हैं। तो, अब आप ऐप्पल द्वारा ऐप को खारिज नहीं करेंगे क्योंकि आप फोनगैप का उपयोग कर रहे हैं।
Titanium Mobile भी एक विकल्प है - यह आप जावास्क्रिप्ट ऑब्जेक्टिव-सी में अनुवाद किया जाता है कि लिखने के लिए अनुमति देता है।
क्या इसका वास्तव में उद्देश्य-सी में अनुवाद किया गया है? मुझे लगता है कि यह एक फोन ब्राउज़र घटक जैसे फोनगैप में चलाया जाता है। – Jonas
- 1. मैं एक आईफोन ऐप
- 2. मैं एक आईफोन ऐप
- 3. मैं एक वेब ऐप में आईफोन एड्रेस बुक तक कैसे पहुंच सकता हूं?
- 4. एक आईफोन ऐप
- 5. एक आईफोन ऐप
- 6. ऐप स्टोर के बिना निजी आईफोन ऐप?
- 7. मैं आईफोन/एंड्रॉइड वेब ऐप पर एक JQuery स्लाइडर जैसी सुविधा कैसे बना सकता हूं?
- 8. आईफोन वेब ऐप अक्षम कैश
- 9. आईओएस: एक मूल आईफोन ऐप
- 10. बस एक आईफोन ऐप
- 11. आईफोन ऐप केवल 3 जी
- 12. एक आईफोन ऐप
- 13. मैं कार्यालय स्थापित किए बिना प्रोग्रामेटिक रूप से एक एक्सेल लिख, पढ़, लिख सकता हूं?
- 14. मैं एचटीएमएल 5 में एक आईफोन ऐप कैसे विकसित कर सकता हूं?
- 15. आईफोन वेब ऐप स्टार्टअप स्क्रीन
- 16. आईफोन वेब ऐप संख्या पैड दशमलव
- 17. मैं उद्देश्य-सी में एक फ़ंक्शन कैसे लिख सकता हूं, कि मैं अपने आईफोन ऐप में किसी भी ऑब्जेक्ट का उपयोग कर सकता हूं?
- 18. मैं ASP.NET से एक temp फ़ाइल कहां लिख सकता हूं?
- 19. मैं अपना वेब ऐप आईफोन 5 संगत कैसे बना सकता हूं?
- 20. एक आईफोन ऐप में उपयोगकर्ता एजेंट
- 21. आईओएस पृष्ठभूमि ऑडियो एक वेब ऐप में
- 22. आईफोन वेब ऐप में ध्वनि चलाएं
- 23. मैं एक वीबी 6 कंसोल ऐप कैसे बना सकता हूं
- 24. मैं विकसित एक फेसबुक ऐप को कैसे हटा सकता हूं?
- 25. मैं जावा में एक GEOTIFF कैसे लिख सकता हूं?
- 26. आईफोन ऐप परीक्षण: मैं एक साफ इंस्टॉल कैसे प्राप्त करूं?
- 27. आईपैड सिम्युलेटर एक आईफोन ऐप
- 28. एक आरईएसटी वेब ऐप में अंकन
- 29. एक एंड्रॉइड टैबलेट-केवल ऐप
- 30. क्या मैं जावास्क्रिप्ट में आईओएस (कोको) ऐप्स लिख सकता हूं?
दिलचस्प बात यह है कि, मैं इस सप्ताह के अंत में गिटएक्स (मानक मैकोज़ ऐप) के लिए कोड देख रहा था और मुझे लगता है कि यह वही है जो वे करते हैं। http://wiki.github.com/pieter/gitx –
अव्यवस्था समस्या के लिए, अपने xcode proj में एक निर्देशिका जोड़ने का प्रयास करें और "समूह बनाएं ..." के बजाय "फ़ोल्डर संदर्भ बनाएं ..." का चयन करें। –
+1। और मुझे पूरा यकीन है कि आप एक एंड्रॉइड फोन ऐप बनाने के लिए एक ही तकनीक का उपयोग कर सकते हैं। और, संभवतः, अन्य स्मार्टफोन जावास्क्रिप्ट का समर्थन करने के लिए अपने ब्राउज़र विकसित करेंगे और फिर आप उनका भी समर्थन कर सकते हैं। क्रॉस-प्लेटफार्म एचटीएमएल/सीएसएस/जावास्क्रिप्ट 21 वीं शताब्दी का तरीका है। निश्चित रूप से gnarly मंच-विशिष्ट देशी कोड बहुत पहले फैशन से बाहर चला गया? – MarkJ