আইওএস 11 হোম স্ক্রিন ওয়েব অ্যাপে কীভাবে ক্যামেরা অ্যাক্সেস করবেন?


131

সারসংক্ষেপ

ওয়েবআরটিটিসি বা ফাইল ইনপুট, নীচের বিবরণ ব্যবহার করে আমরা কোনও iOS11 (পাবলিক রিলিজ) হোম স্ক্রিন ওয়েব অ্যাপ্লিকেশন থেকে ক্যামেরা অ্যাক্সেস করতে পারি না। কীভাবে আমাদের ব্যবহারকারীরা ক্যামেরা অ্যাক্সেস করতে চালিয়ে যেতে পারেন?

আমরা ওয়েব অ্যাপ্লিকেশন পৃষ্ঠাটি https এর মাধ্যমে পরিবেশন করছি।

আপডেট, এপ্রিল

আইওএস 11.3 এর সর্বজনীন প্রকাশের ফলে সমস্যাটি স্থির হয়ে গেছে বলে মনে হচ্ছে এবং ফাইল ইনপুট ক্যামেরা অ্যাক্সেস আবারও কাজ করছে!

আপডেট, মার্চ

এখানকার লোকেরা যেমন বলেছে যে অ্যাপল ডক্স পরামর্শ দেয় যে ওয়েব অ্যাপ্লিকেশন ক্যামেরা ফাংশন পরিষেবা কর্মীদের সাথে 11.3 এ ফিরে আসবে। এটি ভাল তবে আমরা এখনও নিশ্চিত নই যে আমরা ১১.৩ জিএমে পুরোপুরি পরীক্ষা না করা পর্যন্ত আমরা সবাই পুনরায় ইনস্টল করতে চাইছি কিনা।

সমাধান, নভেম্বর

আমরা আশা হারিয়েছি অ্যাপল এটি ঠিক করতে চায় এবং এগিয়ে যায়। আইওএস "হোম স্ক্রিনে যুক্ত করুন" ফাংশনটি সরাতে আমাদের ওয়েব অ্যাপ্লিকেশনটি সংশোধন করে এবং প্রভাবিত ব্যবহারকারীদের কোনও পূর্ববর্তী হোম স্ক্রীন আইকন অপসারণ করতে বলে।

আপডেট, 6 ডিসেম্বর

iOS 11.2 এবং iOS 11.1.2 ঠিক করে না .1

কর্মক্ষেত্র, 21 সেপ্টেম্বর

দেখে মনে হচ্ছে আমরা ওয়েব অ্যাপের বিদ্যমান গ্রাহকদের জিজ্ঞাসা করতে পারি

  • আইওএস 11 এ আপগ্রেড না - এর সাথে সৌভাগ্য :)
  • আইওএস ক্যামেরায় ফটো তুলুন এবং তারপরে সেগুলিকে ওয়েব অ্যাপে আবার নির্বাচন করুন
  • পরবর্তী আইওস বিটার জন্য অপেক্ষা করুন
  • একটি সাফারি ইন-ব্রাউজার পৃষ্ঠা হিসাবে পুনরায় ইনস্টল করুন (আমরা ATHS যুক্তি সরিয়ে দেওয়ার পরে)
  • অ্যান্ড্রয়েডে স্যুইচ করুন

ফাইল ইনপুট

আমাদের বর্তমান প্রোডাকশন কোডটিতে একটি ফাইল ইনপুট ব্যবহার করা হয়েছে যা iOS 10 এবং এর চেয়েও পুরানো বছরগুলিতে দুর্দান্ত কাজ করেছে। IOS11 এ এটি একটি সাফারি ট্যাব হিসাবে কাজ করে তবে হোম স্ক্রীন অ্যাপ থেকে নয়। পরবর্তী ক্ষেত্রে ক্যামেরাটি খোলা থাকে এবং কেবল একটি কালো পর্দা প্রদর্শিত হয়, সুতরাং এটি অযোগ্য।

   <meta name="apple-mobile-web-app-capable" content="yes">
   ...
   <input type="file" accept="image/*">

WebRTC এর

আইওএস 11 এ সাফারি 11 ওয়েবআরটিটিসি মিডিয়া ক্যাপচারের প্রস্তাব দেয় যা দুর্দান্ত।

আমরা এখানে লিঙ্কযুক্ত নমুনা কোডের জন্য নেভিগেটর.মিডিয়া ডিভাইস.সেট ইউজারমিডিয়া ব্যবহার করে ডেস্কটপ এবং মোবাইলের একটি সাধারণ ওয়েব পৃষ্ঠায় ক্যানভাসে একটি ক্যামেরা চিত্র ক্যাপচার করতে পারি ।

আমরা যখন পৃষ্ঠাটি আইপ্যাড বা আইফোনের হোম স্ক্রিনে যুক্ত করি তখন অকার্যকর navigator.mediaDevicesহয়ে যায় undefined

    <meta name="apple-mobile-web-app-capable" content="yes">
    ...
    // for some reason safari on mac can debug ios safari page but not ios home screen web apps 
    var d = 'typeof navigator : ' + typeof navigator; //object
    d += 'typeof navigator.mediaDevices : ' + typeof navigator.mediaDevices; // undefined
    // try alternates
    d += 'typeof navigator.getUserMedia  : ' + typeof navigator.getUserMedia; // undefined
    d += 'typeof navigator.webkitGetUserMedia  : ' + typeof navigator.webkitGetUserMedia; // undefined
    status1.innerHTML = d;

5
আমি আশা করছি তারা এটি ঠিক করে দেবে, তবে এটি অ্যাপল অন্য বিকাশকারীদের সাফারির ইউএক্স হ্রাস করে তাদের অ্যাপ স্টোরের দিকে ঠেলে দিচ্ছে।
নিখুঁত_ইলেমেন্ট

3
আমি প্রগতিশীল ওয়েব-অ্যাপ্লিকেশন বিকাশ শেখার চেষ্টা করছি এবং অ্যান্ড্রয়েড এবং আইওএসে একটি অ্যাপ্লিকেশন পরীক্ষা করার সময় আমিও এই সমস্যার মধ্যে পড়েছিলাম। ব্রাউজারে অ্যাপে ব্রাউজ করা ভাল কাজ করে তবে আমি একবার সাফারি থেকে "হোম স্ক্রিনে সেভ করি" এবং অ্যাপ্লিকেশানের মতো এটি ব্যবহার করার চেষ্টা করি, ক্যামেরাটি অ্যাক্সেস করার চেষ্টা করার সময় আমি একটি কালো পর্দা পাই।
টুটলি

2
আইওএস: ১১.২.১ - সমস্যাটি এখনও অব্যাহত রয়েছে ...
#LiEnHeAd

2
আইওএস: 11.2.2 - সমস্যা বজায় রয়েছে ...
মিঃরোবট

3
আইওএস 11.4.1 দেখে মনে হয় না কারও ভাগ্য আমার জন্য কাজ করছে?
আমাহ

উত্তর:


25

আমাদের বেশ অনুরূপ সমস্যা আছে। এখন পর্যন্ত আমরা কেবলমাত্র কাজটি করতে সক্ষম হয়েছি এটি হল "অ্যাপল-মোবাইল-ওয়েব-অ্যাপ্লিকেশন সক্ষম" হওয়ার জন্য মেটা ট্যাগটি সরিয়ে এবং সাফারিতে ব্যবহারকারীদের এটি খুলতে দেওয়া, যেখানে সবকিছু স্বাভাবিকভাবে কাজ করছে বলে মনে হচ্ছে।


24

আপডেট : যদিও কিছু পূর্বে প্রকাশিত চেঞ্জলগগুলি এবং পোস্টিংগুলি আমাকে বিশ্বাস করতে পরিচালিত করেছিল যে ওয়েব অ্যাপগুলি শেষ পর্যন্ত এর manifest.jsonপরিবর্তে apple-mobile-web-app-capableএকটি যথাযথ ওয়েবআরটিটিসি প্রয়োগের অ্যাক্সেস পাবে, দুর্ভাগ্যক্রমে এটি সত্য নয়, কারণ এখানে অন্যরা উল্লেখ করেছে এবং পরীক্ষার বিষয়টি নিশ্চিত করেছে। গোমরা মুখ. এর ফলে সৃষ্ট অসুবিধার জন্য দুঃখিত এবং আসুন আমরা আশা করি যে এক গ্যালাক্সির এক ভাগ্যবান দিন খুব দূরে, অ্যাপল অবশেষে আমাদের (সাফারিবিহীন) ওয়েবকিট দ্বারা চালিত দর্শনে ক্যামেরা অ্যাক্সেস দেবে ...

হ্যাঁ, অন্যরা যেমন বলেছে যে, getUserMedia কেবলমাত্র সাফারি তে উপলব্ধ তবে কোনও ইউআইউইউব ভিউ বা ডব্লু কে ওয়েবভিউতে পাওয়া যায় না, তাই দুর্ভাগ্যক্রমে আপনার কেবল পছন্দগুলিই

  • সরানোর <meta name="apple-mobile-web-app-capable" content="yes">ফলে আপনার অ্যাপ্লিকেশনটি একটি সাধারণ সাফারি ট্যাবে চলে, যেখানে getuserMedia অ্যাক্সেসযোগ্য
  • অ্যাপাচি কর্ডোভার মতো কাঠামো ব্যবহার করে যা আপনাকে অন্য উপায়ে কোনও ডিভাইসের ক্যামেরায় অ্যাক্সেস দেয়।

এখানে আশা করা যায় অ্যাপল এই ওয়েবআরটিটিসি বিধিনিষেধকে আরও দ্রুত সরিয়ে দেয় ...

উত্স:
ডেভেলপারদের জন্য যারা তাদের অ্যাপ্লিকেশনগুলিতে ওয়েবকিট ব্যবহার করেন তাদের জন্য আরটিসিপিইনারকেনশন এবং আরটিসিডিটাচ্যানেল যে কোনও ওয়েব ভিউতে উপলব্ধ, তবে ক্যামেরা এবং মাইক্রোফোনে অ্যাক্সেস বর্তমানে সাফারিতেই সীমাবদ্ধ।


আপনার আপডেটটি সঠিক বলে মনে হচ্ছে না। আইওএস 11.3 বিটাতে getUserMediaএবং webkitGetUserMediaব্যবহার করার সময় উভয়ই অপরিজ্ঞাত<meta name="apple-mobile-web-app-capable" content="yes">
রো-সেভেজ

@ রো-রেভেজ চূড়ান্ত প্রকাশ এখন শেষ, এবং আমরা এখনও এটি কাজ করতে পারি না
ওভেন

4
সাফারিটি হ'ল নতুন, দয়া করে আপেল, ব্যবহারকারী মিডিয়া ডেটা অ্যাক্সেসের অনুমতি দিন
পাবলো সেগাররা

15

ভাল খবর! প্রথম আইওএস 11.3 বিটাতে ক্যামেরাটি কোনও হোম স্ক্রিন ওয়েব অ্যাপ্লিকেশন থেকে অ্যাক্সেসযোগ্য বলে মনে হচ্ছে।

আমি কয়েকটি ফাইল দিয়ে একটি রেপো তৈরি করেছি, যা দেখায় যে এটি কাজ করে:

https://github.com/joachimboggild/uploadtest

পরীক্ষার পদক্ষেপগুলি:

  1. আপনার ফোন থেকে অ্যাক্সেসযোগ্য কোনও ওয়েবসাইট থেকে এই ফাইলগুলি পরিবেশন করুন
  2. আইওএস সাফারিতে সূচক খুলুন
  3. হোম পর্দায় যোগ করুন
  4. হোম স্ক্রীন থেকে অ্যাপ খুলুন Open এখন ওয়েব পৃষ্ঠাটি নেভিগেশন ui ছাড়াই পূর্ণ পর্দায় খোলা আছে।
  5. ক্যামেরা থেকে একটি চিত্র নির্বাচন করতে ফাইল বোতাম টিপুন।

এখন ক্যামেরাটি স্বাভাবিকভাবে কাজ করা উচিত এবং এটি একটি কালো পর্দা নয়। এটি দেখায় যে কার্যকারিতা আবার কাজ করে।

আমি অবশ্যই যুক্ত করব যে আমি একটি সরল ক্ষেত্র ব্যবহার করব, getUserMedia বা সামসুচ নয়। আমি জানি না যে এটি কাজ করে।


<মেটা নাম = "আপেল-মোবাইল-ওয়েব-অ্যাপ্লিকেশন সক্ষম" সামগ্রী = "হ্যাঁ"> দিয়ে এটি চালানোর জন্য আপনি কীভাবে পরিচালনা করেছিলেন?
আলেকজান্ডার

1
আমি একটি ইনপুট ট্যাগ সহ একটি সাধারণ ফর্ম ব্যবহার করেছি এবং এটি কাজ করে।
জোয়াকিম ব্যাগিল্ড

@ জোচিমব্যাগগিল্ড আপনি কি নিশ্চিত যে আইওএস 11.3+ ডিভাইসগুলি পিডাব্লুএ থেকে ক্যামেরা খুলতে পারে ?? একটি ভাল খবর দেওয়ার জন্য ধন্যবাদ।
jegadeesh

হ্যাঁ বেশ নিশ্চিত। আমার এটি পোস্টমো.কম এ চলছে। আমি সেটিংস মনে করতে পারি না। তারা যদিও একটি মেনিফেস্ট ফাইল অন্তর্ভুক্ত।
জোচিম বগগিল্ড

1
@ জোছিমবাগিল্ড আপনি এর জন্য ম্যানিফেস্ট / ভিডিও ট্যাগ ভাগ করতে পারেন। আমি আমার কোড পরীক্ষা করেছি এবং এটি কেবল সাফারিতেই কাজ করে। হোম স্ক্রিন অ্যাপে নেই in
মে


1

আপনি যদি কোনও ফাইল ইনপুট ক্ষেত্র ব্যবহার করে থাকেন তবে এটি iOS 11.4 এ আবার কাজ করছে বলে মনে হচ্ছে।


1
আমার আইওএস 11.4 রয়েছে এবং এটি কোনও হোম স্ক্রিন অ্যাপে কাজ করবে না won't এটি কাজ পেতে আপনি কি করছেন?
অ্যারন

আমি কোনও পরিবর্তন করিনি। সবেমাত্র সর্বশেষতম সংস্করণে আপডেট করা এবং এটি আবার কাজ শুরু করে।
এ্যালকুট

1
11.4 এ পরীক্ষা করা হয়েছে। সাফারিতে কাজ করে - হোম স্ক্রিন অ্যাপ হিসাবে কাজ করে না
মে

আমি আইপ্যাডে আইওএস 11.4.1 এ আছি এবং এটি কাজ করছে। আপনি কোন ডিভাইস ব্যবহার করছেন?
এ্যালকুট

1
কোনও কারণ আপনি ফাইল ইনপুট ব্যবহার করতে পারবেন না? আবার কাজ করছে।
আ্যালাক্ট

0

সম্প্রতি আমি একই সমস্যার মুখোমুখি হয়েছিলাম, আমি যে একমাত্র সমাধানটি নিয়ে এসেছি সেটি হল সাধারণ মোডের পরিবর্তে ব্রাউজারে অ্যাপ্লিকেশনটি খুলতে। তবে কেবল আইওএস-এ!

কৌশলটি ছিল বিভিন্ন কনফিগারেশনের সাহায্যে 2 manifest.json ফাইল তৈরি করা।

অ্যান্ড্রয়েডের জন্য সাধারণ একটি এবং সবকিছুর জন্য একটি হ'ল অ্যাপল, ম্যানিফেস্ট-আইওএস.জসন, কেবলমাত্র পার্থক্য প্রদর্শন বৈশিষ্ট্যের মধ্যে থাকবে।

পদক্ষেপ 1: ম্যানিফেস্ট লিঙ্ক ট্যাগে আইডি যুক্ত করুন:

<link id="manifest" rel="manifest" href="manifest.json">

পদক্ষেপ 2: এই স্ক্রিপ্টটি শরীরের নীচে যুক্ত করা হয়েছে:

<script>
    let isIOS = /(ipad|iphone|ipod|mac)/g.test(navigator.userAgent.toLowerCase());
    let manifest = document.getElementById("manifest");
    if (isIOS)
      manifest.href = 'manifest-ios.json'
</script>

ধাপ 3: মধ্যে স্পষ্ট-ios.json ব্রাউজারে প্রদর্শন সেট

{
    "name": "APP",
    "short_name": "app",
    "theme_color": "#0F0",
    "display": "browser", // <---- use this instead of standard
    ...
}

আরও একটি সমস্যা দেখা যায় যেমন একাধিকবার একাধিক ট্যাবগুলিতে অ্যাপ্লিকেশনটি খোলার মতো।

তবে আশা করি এটি আপনাকে সাহায্য করবে!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.