পুশ নোটিফিকেশন দ্বারা চালু হলে অ্যাপ ডিবাগিং করুন


135

আমি বর্তমানে এমন একটি অ্যাপ বিকাশ করছি যা পুশ বিজ্ঞপ্তিগুলি গ্রহণ করে receives আমার এই সমস্ত কিছু পিএইচপি পৃষ্ঠার মাধ্যমে 100% কাজ করছে। আমার অ্যাপ্লিকেশনটি পেতে পারে বিভিন্ন ধরণের পুশ বিজ্ঞপ্তি রয়েছে। পিএইচপি এটি পরিচালনা করে এবং আমার অ্যাপ্লিকেশনটিতে বিভিন্ন প্যাকেট তথ্য প্রেরণ করে যা সব ঠিকঠাক প্রাপ্ত।

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

আমার ধাক্কা ধরণের একগুলির মধ্যে একটি ইউআইভিউউউইন খোলার কথা রয়েছে যা বিভিন্ন সার্ভারের সাথে বেশ কয়েকটি সংযোগ তৈরি করে এবং ডেটা পিছনে আলোচনা করে ates এই ইউআইভিউ সূক্ষ্মভাবে কাজ করে যখন, উদাহরণস্বরূপ, মূল মেনু থেকে ট্রিগার করা - তবে যখন আমার পুশ বিজ্ঞপ্তিটি এই ইউআইভিউকে প্রদর্শিত হতে ট্রিগার করছে, সকেট সংযোগগুলি প্রত্যাশার মতো আচরণ করছে না।

এখন আমার প্রশ্নটি সকেট সম্পর্কে নয়, আরও বেশি - আপনি কীভাবে এই জাতীয় সমস্যাটি ডিবাগ করবেন ?? আমি যা বলতে পারি তা থেকে (আমি তুলনামূলকভাবে নতুন) যখন অ্যাপ্লিকেশনটি একটি পুশ বিজ্ঞপ্তি থেকে চালু হয়েছিল তখন সেই কার্যকরকরণটিকে ডিবাগার / কনসোল / ইত্যাদির সাথে সংযুক্ত করার কোনও উপায় নেই ... কোডটি ডিবাগ করার চেষ্টা করে আমার খুব কষ্ট হচ্ছে ইউআইএলআর্টভিউগুলি, যেমন বিভিন্ন সার্ভারের মধ্যে সামনে এবং পিছনে যোগাযোগের অনেকগুলি লাইন রয়েছে।

আমার জন্য আপনার যে কোনও পরামর্শ প্রশংসিত হবে।

উত্তর:


147

এক্সকোড <4.0 এ (এক্সকোড> = 4 এর জন্য, নীচে বিভ্রান্তির উত্তর দেখুন), আপনি এখন ডিবাগারের মাধ্যমে অ্যাপ্লিকেশনটি লঞ্চ না করে অ্যাপ্লিকেশনটিতে ডিবাগারটি সংযুক্ত করার জন্য এক্সকোডকে কনফিগার করতে পারেন। এটি আপনাকে আপনার অ্যাপ্লিকেশনটির লঞ্চের অবস্থার উপর নির্ভর করে এমন জিনিসগুলিকে ডিবাগ করতে দেয় যেমন URL টি স্কিম, পেস্টবোর্ড এবং বিজ্ঞপ্তি ধাক্কা।

  1. এক্সকোডে উত্স বারে দেখুন এবং লক্ষ্যগুলির নীচে এক্সিকিউটেবল হবে।
  2. এক্সিকিউটেবলগুলিতে আপনার অ্যাপের জন্য পরিদর্শক আনুন।
  3. পরিদর্শকের ডিবাগিং ট্যাব ট্যাবে ক্লিক করুন।
  4. "ডিবাগার শুরু করার পরে নির্বাহযোগ্য শুরু করুন" আনচেক করুন
  5. "পরবর্তী প্রবর্তনের জন্য অপেক্ষা করুন / পুশ বিজ্ঞপ্তি" পরীক্ষা করুন

এখন আপনি যখন অ্যাপ্লিকেশন চালু করার পরিবর্তে এক্সকোড থেকে ডিবাগ ক্লিক করেন তখন একটি উইন্ডো প্রদর্শিত হবে যা অ্যাপ্লিকেশনটি লঞ্চ হওয়ার অপেক্ষায় রয়েছে telling তারপরে আপনি ফোনে অ্যাপ্লিকেশনটি সাধারণত চালু করেন এবং এতে এক্সকোড সংযুক্ত হয়


37
আমি জানি এটি উপযুক্ত নাও হতে পারে তবে আমি আপনাকে ভালবাসি। :)
Dutchie432

17
আপনি যখন এইভাবে আপনার অ্যাপ্লিকেশনটির স্টিডিন, স্টাডআউট, স্ট্ডারকে জিডিবির কনসোলে প্রবেশ করেন না, তখন তারা সাধারণ অ্যাপ্লিকেশন লঞ্চে কোথায় সেগুলি চিহ্নিত করা হয়। সংগঠকের ডিভাইসটি দেখে আপনি ডিভাইসের সিস্টেম কনসোলে এনএসএলগ () গুলি দেখতে পাবেন।
লুই গারবার্গ

1
আপনি এখানে আমাকে খুব মূল্যবান পয়েন্ট শিখিয়েছিলেন। ধন্যবাদ. আমি আপনার পোস্টের 20 মিনিটের মধ্যে ঠিক করতে সক্ষম হয়ে এমন কিছু ডিবাগ করার চেষ্টা করে গত 2 দিন অতিবাহিত করেছি।
Dutchie432

1
@ স্টিগি ইউআরএল স্কিমগুলি পরীক্ষার জন্য আমার জন্য সিমুলেটারে কাজ করে। আমি xcode 4.5 ব্যবহার করছি যদি তা গুরুত্বপূর্ণ হয়
dreyln

1
@ ড্রেইলেন আমার মন্তব্যটি ২০০৯ সালের :) এর চেয়ে অনেক কিছু পরিবর্তন হয়েছে। কিন্তু মাথা আপ জন্য ধন্যবাদ!
স্টিগি

124

এক্সকোড 4 এর জন্য আপনাকে এগুলি করতে হবে:

  1. "স্কিমগুলি" ড্রপডাউনের মাধ্যমে আপনার সক্রিয় স্কিমটি সম্পাদনা করুন। ( + <)
  2. আপনার পণ্যটি বেছে নেওয়ার চেয়ে - বামদিকে 'মাই অ্যাপ.অ্যাপ চালান'।
  3. ডানদিকে 'তথ্য' ট্যাব নির্বাচন করুন।
  4. এবং শেষ পর্যন্ত "মাই অ্যাপ.অ্যাপের জন্য অপেক্ষা করুন" চালু করতে বিকল্পটি চয়ন করুন।

এখানে আরও "স্কিম এডিটরে এক্সিকিউটেবলগুলি কাস্টমাইজ করুন" বিভাগে।

সম্পাদনা:
আপনি জিডিবিতে লগগুলি মিস করার ক্ষেত্রে, লুই জারবার্গের উত্তরের মন্তব্য দেখুন


1
আমি সিংহের জন্য এক্সকোড ৪.২ নিয়ে আছি এবং, যদিও অ্যাপ্লিকেশনটি ইউআরএল স্কিম থেকে সঠিকভাবে চালু হচ্ছে এবং ডিবাগার কার্যকর করা বন্ধ হচ্ছে না, কনসোলটি কিছুই দেখাচ্ছে না। আমি কিছু অনুপস্থিত করছি?
লোদানি

@ লোদানি এখানে একই, আপনি কি কখনও বুঝতে পেরেছেন কেন?
ডেভিস

3
@ লোদানি, ডেভিস জি: আপনি কি গৃহীত উত্তরের বিষয়ে লুইয়ের মন্তব্য দেখেছেন? stackoverflow.com/questions/1239000/… এইভাবে চালু করা হলে, stdin / out / err কনসোলটিতে পুনঃনির্দেশিত হয় না।
ইভান ভুইকা

ধন্যবাদ, আপনি আমার দিন বাঁচিয়েছেন! কোনও ত্রুটি পেরেক করার চেষ্টা করছি যা কেবল তখনই ঘটে যখন আমার অ্যাপ্লিকেশনটি কোনও url হ্যান্ডলার দ্বারা শুরু করা হয়।
এলিয়ট

@ ডেলিরাস - এক্সকোড 4 এর জন্য এটি আপডেট করার জন্য ধন্যবাদ
ডাচলি 432

112

এক্সকোড 10, 9, 8, 7 এবং 6 এর জন্য:

  1. সরঞ্জামদণ্ডে স্কিমটি নির্বাচন করুন (আপনি যে ডিভাইসটি ডিবাগ করছেন তার ঠিক বাম দিকে)
  2. সম্পাদনা প্রকল্পটি চয়ন করুন
  3. বাম প্যানেলে রান নির্বাচন করুন
  4. জন্য লঞ্চ বিকল্প নির্বাচন অপেক্ষা চালু হওয়ার জন্য এক্সিকিউটেবল
  5. স্কিম সম্পাদক বন্ধ করুন এবং আপনার এক্সকোড প্রকল্পটি চালান

এখন আপনি কোনও বিজ্ঞপ্তি, কাস্টম url বা অ্যাপ্লিকেশন আইকনটি স্পর্শ করে লঞ্চ করার সময় ডিবাগ করতে পারেন।


9
সাধারণত আমাকে সঠিক পথে চালিত করা সত্ত্বেও এই উত্তরটি আমাকে অনেক সমস্যায় ফেলেছে। পদক্ষেপ 3 কিছুটা বিভ্রান্তিকর ading আপনার অবশ্যই এটি করতে হবে; বাম প্যানেলে রান নির্বাচন করুন। তবে, খুব অনুরূপ ধারণামূলক শব্দটির সাথে 5 ধাপ থাকা উচিত: ফলাফল প্রত্যাশার আগে এক্সকোডের রান বোতামটি ক্লিক করুন ... শুরু থেকেই এটি আমার পক্ষে কার্যকর হয়নি, আমি অন্যান্য সহকর্মীদের কাছ থেকে পরামর্শ চেয়েছিলাম ... তারা জিজ্ঞাসা করেছিল আমাকে যদি আমি রান কাজটি করেছিলাম তবে আমি উত্তরটি হ্যাঁ উত্তর দিয়েছি, নং বিকল্পের কথা ভেবে। 3 ... সত্যই, সত্যই এর সত্যিকার অর্থে 5 ধাপ হওয়া উচিত ...
ফ্লোরিন ওডাগিউ

@ ফ্লোরিন ওডাগিউ ভাল কল। যোগ পদক্ষেপ 5. ধন্যবাদ!
বগলসন

যদি এক্সকোড একটি আলাদা স্কিম ট্যাব পুনরুদ্ধার করে তবে লঞ্চ অপশনটি তথ্য ট্যাবের নীচে অবস্থিত।
নাইট হুইটেকার

3
আমি ম্যানুয়ালি অ্যাপ্লিকেশন চালু করার সময় আমি ডিবাগার উইন্ডোতে কোনও আউটপুট পাচ্ছি না।
dvdblk

3

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

এইচটিএইচ - চিয়ার্স, দান


এছাড়াও একটি ভাল ধারণা, তবে নকল করা আসল জিনিসটি ডিবাগ করার জন্য সর্বদা ২ য় সেরা! শুভ কোডিং!
Dutchie432

3

এক্সকোড 6 এ:

  1. ইউএসবি দিয়ে আইফোনকে ম্যাকবুকের সাথে সংযুক্ত করুন
  2. আইকনটিতে আলতো চাপ দিয়ে আইফোনটিতে অ্যাপ্লিকেশন চালু করুন
  3. এক্সকোড মেনুতে, Debug> Attach to Processআপনার অ্যাপ্লিকেশনটি চয়ন করুন

1
আপনি এই পদ্ধতির সাহায্যে সমালোচনামূলক লঞ্চ পাথ ডিবাগ করতে সক্ষম হবেন না।
জোড়ায়র

2

এক্সকোড 11 এবং 10 এর জন্য আপনি নিম্নলিখিতগুলি করতে পারেন:

  1. স্কিম বিকল্পটি নির্বাচন করুন।
  2. সম্পাদনা প্রকল্পটি চয়ন করুন।

  3. বাম প্যানেল থেকে রান বিকল্প নির্বাচন করুন

  4. লঞ্চ অংশে, এক্সিকিউটেবল চালু হওয়ার অপেক্ষা করুন নির্বাচন করুন , তারপরে ডায়লগটি বন্ধ করুন।

  5. প্রকল্পটি তৈরি এবং পরিচালনা করুন। আপনি এখন অ্যাপ আইকনটি আলতো চাপ দিয়ে বা বিজ্ঞপ্তি বার্তায় আলতো চাপিয়ে অ্যাপ্লিকেশন চালু করতে পারেন।

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