এই নির্দেশাবলী অনুসরণ করে ( অ্যাপলের বিকাশকারী ডকুমেন্টেশন এবং অ্যাপল বিকাশকারী প্রোগ্রাম বা জেলব্রেক ছাড়াই ডিভাইসে আইওএস অ্যাপের বোল্টক্লকের জবাবও দেখুন ), আমি একটি আইওএস অ্যাপ্লিকেশন সংকলন করতে সক্ষম হয়েছি (এই ক্ষেত্রে প্রবিন্যান্সে , একটি ভিডিও গেম কনসোল এমুলেটর অ্যাপ্লিকেশন যা না অ্যাপলের গাইডলাইনগুলি মেটান এবং অ্যাপল এর অ্যাপ স্টোরে কখনই অনুমতি দেওয়া হবে না) এক্সকোড, এ, আমার ব্যক্তিগত আইক্লাউড অ্যাকাউন্টের সাথে এটি সাইন করুন, এটি আমার আইফোনে সাইডেলোড করুন (এটি ইউএসবি দ্বারা আমার ম্যাকে প্লাগ করে, এবং এক্সকোড মেনুতে আমার আইফোন নির্বাচন করে -> পণ্য -> গন্তব্য), এবং সেটিংস -> সাধারণ -> প্রোফাইলে এই স্বাক্ষর সহ অ্যাপ্লিকেশনগুলিকে "বিশ্বাস" করে এটি চালানোর জন্য আমার ফোনটিকে অনুমতি দিন, যা ডিভাইসে আমার আইক্লাউড অ্যাকাউন্টের সাথে সম্পর্কিত শংসাপত্র ইনস্টল করে।
আমি বায়ু ডাউনলোডের সাথে এই পদক্ষেপগুলি প্রতিলিপি করতে চাই। আমি যে এক্সিকিউটেবল উত্পাদন করতে আমি এক্সকোড পেতে পারি যে আমি আমার ভাইয়ের সাথে ভাগ করে নিতে পারি, যার আইফোন রয়েছে তবে এক্সকোড সহ কোনও ম্যাকের অ্যাক্সেস নেই?
স্ট্যাক এক্সচেঞ্জ নেটওয়ার্কটি এই আইওএস অ্যাপ বিটা প্রোগ্রামের জন্য স্পষ্টতই এরকম কিছু সম্পাদন করেছে, মোবাইল ডিভাইস ম্যানেজমেন্টের মাধ্যমে অ্যাপলের এন্টারপ্রাইজ বিতরণটি ব্যবহার করে, যেমন এই প্রশ্নটিতে উল্লেখ করা হয়েছে । বিল্ডস্টোরও রয়েছে ( http://builds.io/ ), যা 10 ডলার / বছরের জন্য এই কার্যকারিতা সক্ষম করে, স্পষ্টতই একটি প্রদত্ত অ্যাপল বিকাশকারী প্রোগ্রাম অ্যাকাউন্টের সাথে সম্পর্কিত "বিকাশকারী দলের" ব্যবহারকারীদের যুক্ত করে ( অ্যাপল দেব ডক্স দেখুন ) । এক্সকোড 7 এর মাধ্যমে, কোনও উদ্যোগ বা এমনকি নিয়মিত প্রদেয় বিকাশকারী অ্যাকাউন্ট ছাড়া কি এমন কাজ করা সম্ভব?
আপডেট: স্ট্যাকসজার সহায়তার জন্য ধন্যবাদ, আমি কিছু অগ্রগতি করেছি, যা আমি এখানে সংক্ষেপে জানাব।
- এক্সকোড একটি সংরক্ষণাগার তৈরি করবে (পণ্য -> সংরক্ষণাগার), তবে এটি আপনাকে প্রদত্ত এডিপি অ্যাকাউন্ট স্তরতে সাবস্ক্রাইব না করে অ্যাডহক বিতরণের জন্য .ipa ফাইলে কোনও সংরক্ষণাগার রফতানি করার অনুমতি দেয় না।
- কোন সমস্যা নেই যদিও, কমান্ড লাইন Xcode টুল কারণ নেই এমনকি কোন অর্থ প্রদান এডিপি অ্যাকাউন্টের সাথে, একটি .ipa এক্সিকিউটেবল তৈরি করুন। কোনও কমান্ড ব্যবহার করুন
xcodebuild -exportArchive -archivePath Provenance-Release\ 11-20-15\,\ 22.24.xcarchive/ -exportOptionsPlist ~/manifest.plist -exportPath ~/Provenance
( অ্যাপল বিকাশকারী অ্যাকাউন্ট ছাড়াই এক্সকোড 6 এ আইপা কীভাবে তৈরি করবেন তাতে খয়ারের উত্তর দেখুন ? ) - তবে এই আদেশের জন্য আপনাকে একটি ম্যানিফেস্ট .plist ফাইল নির্দিষ্ট করতে হবে। ওভার দ্য এয়ার (ওটিএ) আইওএস আইপিএ ফাইল বিতরণ জনগণের জন্য রাজওয়ানের উত্তর ? একটি নমুনা ম্যানিফেস্ট.প্লেস্ট, পাশাপাশি একটি ডাউনলোড লিঙ্ক সরবরাহের জন্য প্রয়োজনীয় হাইপারলিংক ফর্ম্যাটটির জন্য নির্দেশাবলী রয়েছে, যা অবশ্যই কোনও এসএসএল ওয়েবপৃষ্ঠায় হোস্ট করা উচিত। এসএসএল ইউআরএলটি অবশ্যই অ্যাপটির বান্ডিল আইডি গণিত করতে পারে তা আমি নিশ্চিত নই।
- তবে উপরের কেবল তখনই কাজ করে যদি অ্যাপ্লিকেশনটি এটি ডাউনলোড করে এমন ডিভাইসের জন্য প্রভিশন করা হয় এবং ডিভাইসটি ইতিমধ্যে বিকাশকারী শংসাপত্র ইনস্টল করেছে। উদাহরণস্বরূপ, কোনও ডিভাইস যা পূর্বে আমার এক্সকোডের সাথে ইউএসবি মাধ্যমে সংযুক্ত ছিল এখন অ্যাপটি এয়ারের মাধ্যমে ডাউনলোড করতে পারে, এটি দুর্দান্ত। এটি অগ্রগতি। তবে পরিষ্কার ডিভাইসগুলির জন্য, আমি ত্রুটিটি পেয়েছি
Could not install embedded profile: 0xe8008012 (This provisioning profile cannot be installed on this device.)
(ডিভাইসের কনসোলে যেমন দেখা গেছে, যা এক্সকোড -> উইন্ডো -> ডিভাইসগুলি বা অ্যাপল কনফিগারারে অ্যাপ্লিকেশনটিতে অন্য কোনও ক্ষেত্রে দেখা যায়)। - একটি অ্যাপ্লিকেশান কোনো ডিভাইসের জন্য প্রস্তুত দেওয়ার জন্য, এটা ডিভাইসের UDID ধারণ করার প্রয়োজন
embedded.mobileprovision
ফাইল দেখুন আপনি কিভাবে এম্বেড একটি iOS অ্যাপ্লিকেশানে একটি Provisioning প্রোফাইল , কিভাবে একটি IPA এর embedded.mobileprovision একটি ক্ষেত্র পরীক্ষণ স্বয়ংক্রিয় কিভাবে? , *। পিপা ফাইল তৈরিতে কোন প্রোফাইল ব্যবহার করা হয়েছিল তা কীভাবে খুঁজে বের করবেন? , এবং কোন বিল্ডে ইউডিআইডি অন্তর্ভুক্ত রয়েছে তা দেখার কোনও উপায় আছে? । ইউডিআইডি যুক্ত করার জন্য আপনি কেবল এই ফাইলটি সম্পাদনা করতে পারবেন না, তবে তারপরে অ্যাপ্লিকেশনটির কোড ডিজাইন মেলে না এবং ডিভাইসটি ত্রুটিটি রিপোর্ট করবেFailed to verify code signature of /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.7jBjpk/extracted/Payload/Provenance.app : 0xe8008017 (A signed resource has been added, modified, or deleted.)}
- ঠিক আছে, সুতরাং আমাদের অ্যাপটি পদত্যাগ করা উচিত। এক্সকোড একটি কমান্ডলাইন সরঞ্জাম সরবরাহ করে
codesign
যা এটি করতে পারে। নির্দেশনা রয়েছে কীভাবে আইপিএ ফাইলটি পুনরায় স্বাক্ষর করবেন? এবং আইপিএ (আইফোন) পুনরায় স্বাক্ষর করুন এবং একটি আইফোন অ্যাপ্লিকেশনটি পুনরায় স্বাক্ষর করুন , নতুন বান্ডিল আইডি সন্নিবেশ করুন এবং আপলোডের জন্য এক্সকোড অর্গানাইজারকে প্রেরণ করুন এবং কোনও নতুন প্রভিশনিং প্রোফাইলের সাহায্যে ম্যানুয়ালি আইপিএতে পুনরায় স্বাক্ষর করবেন কীভাবে । আমাকে আমার বিকাশকারী শংসাপত্র নির্দিষ্ট করে দিতে হয়েছিল, যার সুনির্দিষ্ট নাম শংসাপত্র ট্যাবটির নীচে কীচেইন অ্যাক্সেসে পাওয়া যেতে পারে এবং "আইফোন বিকাশকারী: ব্যবহারকারীর নাম @ ম্যাক.কম (এবিসিডিএফজিআইজি)" এর মতো দেখাচ্ছে। তারপরে কমান্ডটি পছন্দ হয়codesign -f -s "iPhone Developer: username@mac.com (ABCDEFGHIJ)" Payload/Provenance.app
। উপরের নির্দেশাবলীর উদাহরণ কমান্ডগুলির মধ্যে একটি পতাকা অন্তর্ভুক্ত রয়েছে--resource-rules
, তবে আমার সংকলিত অ্যাপে আমি এরকম কোনও ফাইল পাইনি, তাই আমি সেই পতাকাটি সরিয়েছি। আমি অবাক হই যে এটি কী করে এবং এটি প্রয়োজনীয় কিনা। সম্পাদনা: চমৎকার ব্লগ পোস্টে ইনসাইড কোড সাইন ইন টমাস Kollbach দ্বারা ব্যাখ্যা করেছেন যে--resource-rules
পতাকা রাষ্ট্র যা একটি অ্যাপ্লিকেশন অংশগুলি সাইন ইন করতে হবে ব্যবহার করা ব্যবহৃত হয়েছে, কিন্তু iOS8 যেহেতু নিন্দা করা হয়েছে, এবং সমগ্র অ্যাপ্লিকেশন সাইন ইন করতে হবে। - এখন অ্যাপটিতে ইউডিআইডি যুক্ত হয়েছে এবং স্বাক্ষরিত হয়েছে, তাজা ডিভাইসে এটিকে ডাউনলোড করা ত্রুটি দেয়
Could not install embedded profile: 0xe8008003 (This provisioning profile is malformed
এবংA valid provisioning profile for this executable was not found
। আমার ধারণা এখন এটি সমস্যাটি হ'ল ডিভাইসটি এখনও বিকাশকারী শংসাপত্র ইনস্টল করেনি। এক্সকোডের মাধ্যমে সাইডেলোডিংয়ের সময়, অ্যাপটি কার্যকর হওয়ার আগে, আপনাকে সেটিংস -> সাধারণ -> প্রোফাইলটিতে ইনস্টল করা শংসাপত্রটি খুঁজে পেতে হবে, আপনার শংসাপত্রটি নির্বাচন করুন এবং "বিশ্বাস" আলতো চাপুন। তবে এই বিকল্পটি অ্যাডহক অ্যাপ্লিকেশনটির ওভার-দ্য এয়ার ডাউনলোডের পরে উপস্থিত হবে না, সুতরাং কীভাবে এগিয়ে যেতে হবে তা সম্পর্কে আমি নিশ্চিত নই। আমি মনে করি ডিভাইসে বিকাশকারী শংসাপত্র ইনস্টল করার জন্য আমার কিছু উপায় প্রয়োজন। আইওএস 8.0.2 এ প্রভিশন প্রোফাইল ইনস্টল করা অনুসারে, এটি কেবল ডিভাইসে শংসাপত্রটি ইমেল করেই সম্ভব হত, তবে এটি আর আইওএস ৮ এর মতো কাজ করে না I আমি নিশ্চিত করার চেষ্টা করি নি। আমি কীভাবে আমার ডেভেলপার শংসাপত্রটি কোনও iOS ডিভাইসে দূরবর্তীভাবে ইনস্টল করতে পারি? - আমি কীচেইন অ্যাক্সেস থেকে আমার আইফোন বিকাশকারী শংসাপত্রটি রফতানি করার চেষ্টা করেছি এবং এটি ডিভাইসে ইমেল করার চেষ্টা করেছি। ডিভাইসটি শংসাপত্রটি ইনস্টল করতে সক্ষম হয়েছিল, তবে এটি একটি লাল সতর্কতার সাথে প্রদর্শিত হয়েছিল যে এটি স্বাক্ষরিত হয়নি, অন্যদিকে, যখন সিসিটিটি Xcode / USB এর মাধ্যমে ইনস্টল করা হয়েছিল তখন এ জাতীয় কোনও সতর্কতা ছিল না। রিদমিক ফিস্টম্যান অনুসারে কোনও এম্বেডড.মোবাইলপ্রোভিশন ফাইলটি পুনরায় এনক্রিপ্ট করা সম্ভব? , প্রোফাইল কাজ করতে অ্যাপল দ্বারা স্বাক্ষর করা আবশ্যক। এটি স্টিকিং পয়েন্ট হতে পারে। অ্যাপল কেবলমাত্র আপনার শংসাপত্রে স্বাক্ষর করবে যদি আপনার কোনও পেইড এডিপি অ্যাকাউন্ট থাকে।
- শন হেবারের প্রভিশন সম্পর্কিত এই ব্লগ পোস্টটি বিকাশকারী শংসাপত্রগুলির সাধারণ তত্ত্ব এবং প্রভিশন প্রোফাইলগুলি সম্পর্কে খুব আলোকিত করেছিল ( কলব্যাকের পাশাপাশি তাদের উভয়ই পড়া উচিত)। এটিতে এই অনুচ্ছেদটি রয়েছে:
এই সমস্ত কাজ করার এবং সুরক্ষিত হওয়ার কারণ হ'ল অ্যাপল পোর্টালে প্রভিশনিং প্রোফাইল তৈরি করে এবং আপনার কাছে আপনার কাছে পৌঁছে দেওয়ার আগে তাদের নিজস্ব ব্যক্তিগত কী দিয়ে তাদের স্বাক্ষর করে। প্রভিশন প্রোফাইলগুলিতে স্বাক্ষর করা কেবলমাত্র অ্যাপলই করতে পারে। সুতরাং আপনার ডাউনলোড করা ফাইলটি অবৈধ রেন্ডারিং ছাড়া কোনওভাবেই হস্তক্ষেপ করা যাবে না। আইওএস দ্বারা একটি অবৈধ প্রভিশন প্রোফাইল মেনে নেওয়া হবে না এবং অ্যাপল বিকাশকারী পোর্টাল আপনাকে প্রথমটিতে কনফিগার করার অনুমতি দেয় এমন বিষয়গুলিতে প্রভিশন প্রোফাইলের সাইন ইন অ্যাক্সেসকে সীমাবদ্ধ রেখে কেবল কোনও বিকাশকারী দ্বারা কী সরবরাহ করা যায় এবং ঠিক কী করা যায় তা নিয়ন্ত্রণ করতে পারে Apple স্থান - যদিও প্রভিশিং প্রোফাইলগুলি জেলব্রেকিং ছাড়াই আপনি ব্যবহার করতে পারবেন না এমন দুর্দান্ত কিছু বিকল্পকে সমর্থন করতে পারে। এজন্য আপনাকে পোর্টালে পরীক্ষার ডিভাইসগুলি নিবন্ধন করতে হবে, আপনার শংসাপত্রগুলি পোর্টালে ইত্যাদি যোগ করুন - কেবলমাত্র পোর্টালে থাকা জিনিসগুলি (এবং এর ফলে অ্যাপল দ্বারা নিয়ন্ত্রণ করা যায় এবং স্বেচ্ছাসেবীর সীমাবদ্ধ হতে পারে) উত্পন্ন এবং সঠিকভাবে স্বাক্ষরযুক্ত প্রভিশন প্রোফাইলে অন্তর্ভুক্ত থাকতে পারে। পোর্টালটি যেখানে অ্যাপলের প্রভিশনের নীতি এবং সীমাবদ্ধতাগুলি বাস্তবে প্রয়োগ করা হয়।
এটি আমার প্রশ্নের স্পষ্টতই উত্তর দেবে বলে মনে হচ্ছে (অর্থ প্রদানের এডিপি অ্যাকাউন্ট ছাড়াই অ্যাপটি চালাতে পারি) আমি একটি "না" দিয়ে। যদিও এই নিবন্ধটি Xcode 7 এর পূর্বাভাস দিয়েছে স্পষ্টতই Xcode 7 কোনও ডিভাইসের ইউডিআইডি অ্যাপল পোর্টালে প্রেরণ করবে এবং প্রতিক্রিয়ায় অ্যাপল দ্বারা স্বাক্ষরিত একটি প্রভিশন প্রোফাইল পাবেন, এতে ইউডিআইডি রয়েছে। এক্সকোড only কেবল তখনই এটি করতে পারে যখন ডিভাইসটি ইউএসবি-এর মাধ্যমে প্লাগ ইন করা হয় এবং এক্সকোড দ্বারা স্বীকৃত হয়, তবে একজন আশ্চর্য হয়ে যায় যে অ্যাপলের কাছে ম্যানুয়াল এক্সকোড অনুরোধটি তৈরি করা যেতে পারে কিনা? যা আমি স্বাচ্ছন্দ্যের চেয়ে বিপরীত ইঞ্জিনিয়ার অ্যাপলের স্টাফগুলিতে আরও গভীর হয়ে যায় এবং সম্ভবত টস বা যে কোনও কিছুই লঙ্ঘন করে, তাই আমি মনে করি আমি "না" উত্তরে সন্তুষ্ট।
মতে BuildStore সম্পর্কে পৃষ্ঠা , তারা ইমেইলের মাধ্যমে কিছু similiar পরিচালনা, তাই এটি সম্ভব হতে পারে।
কমান্ড লাইন থেকে এক্সকোড "বিল্ড এবং সংরক্ষণাগার" বেশ পুরানো (সার্কিট এক্সকোড 3), তবে xcrun
পরিবর্তে xcodebuild
আমি ব্যবহার করছি যা ব্যবহার করার পরামর্শ দেয় ।