অবৈধ সুইফট সহায়তা - ফাইলগুলি মেলে না


116

আমি কেবল সুইফট ২ এ একটি অ্যাপ্লিকেশন পুনরায় লিখেছি internal আমি অভ্যন্তরীণ পরীক্ষার জন্য অ্যাপটি আইটিউনস সংযোগে (এক্সকোড 7 জিএমের মাধ্যমে) আপলোড করার চেষ্টা করছি।

আমি কিছুক্ষণের জন্য একটি "অবৈধ সুইফট সমর্থন" ত্রুটি নিয়ে কুস্তিগীর্ণ হয়েছি ( এতে অন্যান্য সম্পর্কিত প্রশ্ন রয়েছে ) ... তবে এখন এটি কিছুটা আলাদা হয়ে গেছে।

অ্যাপলের ত্রুটিটি এখন বলে:

অবৈধ সুইফট সমর্থন

ফাইলগুলি libswiftCoreLocation.dylib, libswiftCoreMedia.dylib, libswiftCoreData.dylib, libswiftAVFoundation.dylib ফাইল মেলে না

/ পেডলোড / অ্যাপ.এপ.এফ / ফ্রেমওয়ার্কস / লিবিসউইফটক্রোরলোকেশন.ডিলিব, / পেইড / অ্যাপ্লিকেশন / অ্যাপ্লিকেশন / ফ্রেম ওয়ার্কস / লিবসউইউফটিকরেমিডিয়া.ডিলিব, / পেয়েললোড / অ্যাপ.এপ / ফ্রেমওয়ার্কস / লিবসভিটকোরডেটা.এলিটিব, / পেয়ারলোড / অ্যাপ্লিকেশন / ফ্রেমশক্তি dylib

নিশ্চিত হয়ে নিন যে ফাইলগুলি সঠিক (?), আপনার অ্যাপ্লিকেশনটি পুনর্নির্মাণ করুন এবং পুনরায় জমা দিন।

পোস্ট-প্রসেসিং এ প্রয়োগ করবেন না

/ পেডলোড / অ্যাপ.এপ.এফ / ফ্রেমওয়ার্কস / লিবিসউইফটক্রোরলোকেশন.ডিলিব, / পেডলোড / অ্যাপ.এপ.পি / ফ্রেমওয়ার্কস / লিবসউইউফটিকরেমিডিয়া.ডিলিব, / পেয়েললোড / অ্যাপ.এপ / ফ্রেমওয়ার্কস / লিবসভিটকোরডেটা.এলিটিব, / পেয়ারলোড / অ্যাপ.এলপি / ফ্রেমশক্তি dylib।

"পোস্ট-প্রসেসিং প্রয়োগ করবেন না", "ফাইলগুলি সঠিক কিনা তা নিশ্চিত করুন, আপনার অ্যাপটি পুনর্নির্মাণ করুন এবং এটি পুনরায় জমা দিন" ইত্যাদি অনুসন্ধান করে আমি অনুরূপ ত্রুটিগুলি খুঁজে পেতে সক্ষম হয়েছি etc.

কেউ কীভাবে জানেন যে আমি কীভাবে "ফাইলগুলি সঠিক তা নিশ্চিত করতে পারি" - বা - অন্য কোনও প্রস্তাবনা থাকতে পারে? ধন্যবাদ.


আমার ঠিক একই সমস্যা কোন সমাধান?
বেনি বোয়ারিও

আপনি কি এই অ্যাপটি পদত্যাগ করছেন? এটি কি এক্সকোড থেকে সরাসরি আপলোড?
অ্যান্ডি

এটি সংরক্ষণাগারের সাথে সাথেই এক্সকোড থেকে অ্যান্টি সরাসরি আপলোড করুন।
ড্যান

উত্তর:


82

এখানেও একই সমস্যা। আমি মনে করি এটি সম্ভবত বিটকোড সম্পর্কিত বিকাশকারী সরঞ্জামগুলির একটি বাগ।

আমি সবেমাত্র এর জন্য কাজটি খুঁজে পেয়েছি।

  1. আপনার অ্যাপ্লিকেশনটিকে নতুন বিল্ড নম্বর দিয়ে সংরক্ষণাগারভুক্ত করুন :(
  2. সংগঠক "ফাইন্ডারে দেখান" থেকে ফাইন্ডারে সংরক্ষণাগার (.xcarchive ফাইল) সন্ধান করুন
  3. প্যাকেজ খুলুন এবং মত ডিরেক্টরি এটি Products/Applications/YourApp.ipa/Frameworks/এবংSwiftSupport/iphoneos/
  4. অনুলিপি সব libswiftXxx.dylibথেকে ফাইল SwiftSupport/iphoneos/মধ্যে Products/Applications/YourApp.ipa/Frameworks/এবং ঊর্ধ্বলিপি
  5. এখন, অর্গানাইজার থেকে অ্যাপ স্টোরে আপলোড করুন

এই প্রক্রিয়াটি সহ, আমি আমার বিল্ড আপলোড করতে সফল succeed এখন আমি পর্যালোচনার জন্য অপেক্ষা করছি।

বিঃদ্রঃ:

আমি কোকোপড ব্যবহার করছি, এবং ENABLE_BITCODEবিকল্পটি ছিল না।


আপনি কোন আইওএস এসডিকে টার্গেট করছেন? আমি ভেবেছিলাম আপনি বিটকোড অক্ষম করে দোকানে জমা দিতে পারবেন না।
জাল

3
আমার ক্ষেত্রে, সুইফটসপোর্ট / আইফোনস / খালি আছে।
লিম থিয়ে চ্যান

2
বৈধতা আমার পক্ষে সফল হয়েছে তবে Processingআইটিউনস কানেক্টের প্রিরিলেস বিভাগে বিল্ডটি hours 12 ঘন্টা পরে এখনও রয়েছে ।
ldiqual

2
আরে এর জন্য ধন্যবাদ! আমি এখনও অনেক বড় cl.ly/image/0s0N0s441s0X এপিআই বিশ্লেষণ ফাইল সম্পর্কে একটি সতর্কতা পেয়ে যাচ্ছি - তবে গুরুত্বপূর্ণ বিষয়টি এটি এখনও উত্তীর্ণ হয়ে টেস্টফ্লাইটে প্রবেশ করতে সক্ষম হয়েছিল।
DED

1
আমার .ipa এর ভিতরে যদি কোনও সুইফটসপোর্ট / আইফোনস / ফোল্ডার নেই তবে আমার কী করা উচিত?
আলেকজান্ডার ইয়াকোলেভ

51

সম্পাদনা করুন: কোকোপডস 0.39.0 প্রকাশিত হয়েছে যা এই সমস্যার সমাধান করে!

@ কর্কেনস্টাইন যেমন উল্লেখ করেছেন , কিছু কোড মন্তব্য করার মাধ্যমে একটি সহজ সমাধান রয়েছে Pod-frameworks.sh। আমি এখানে আরও কিছু বিশদ অন্তর্ভুক্ত করছি।

আপনার এক্সকোড প্রকল্প ডিরেক্টরিতে, খুলুন Pods/Target Support Files/Pods/Pods-frameworks.sh

নিম্নলিখিত লাইন মন্তব্য করুন:

# Embed linked Swift runtime libraries
local basename
basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})"
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u  && exit ${PIPESTATUS[0]})
for lib in $swift_runtime_libs; do
  echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
  rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
  code_sign_if_enabled "${destination}/${lib}"
done

=>

# Embed linked Swift runtime libraries
# local basename
# basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})"
# local swift_runtime_libs
# swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u  && exit ${PIPESTATUS[0]})
# for lib in $swift_runtime_libs; do
#   echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
#   rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
#   code_sign_if_enabled "${destination}/${lib}"
# done

সংরক্ষণ করুন Pods-frameworks.shএবং আপনি যেতে ভাল করা উচিত!


4
এটি আমার পক্ষে কাজ করেছে। কেবলমাত্র শীর্ষস্থানীয়, আপনি পোড-ইনস্টল বা পড-আপডেট চালনা করলে আপনাকে এটি আবার মন্তব্য করতে হতে পারে!
ম্যাক্সেন্ড আলেকজান্ডার

কোকোপডস এখানে ইস্যু করুন: github.com/CocoaPods/ কোকোপডস / বিবিধ / 4188 , আপনি এই পিআর চেষ্টা করতে পারেন: github.com কোকোপডস
কোকোপডস

কোকোপডগুলি ০.০৯.০ আপডেট হয়েছে এবং এটি আমার জন্য এই সমস্যাটির সমাধান করে না
nwales

@ ডিজে তারাজোনা আপনার রেসিপিটির জন্য ধন্যবাদ !! এটি সম্পূর্ণরূপে আমার জন্য কৌশলটি করেছিল, এমনকি যখন আমি কোকোপডস রত্নটি সর্বশেষ সংস্করণে আপডেট করেছি
জর্জি ভিসেন্টে মেন্ডোজা

16

এই সমস্যার সমাধানটি একত্রিত করা হয়েছে এবং এটি সর্বশেষতম কোকোপডস সংস্করণে উপলব্ধ 0.39.0.beta.5

https://github.com/CocoaPods/CocoaPods/pull/4268

কোকোপডসের সর্বশেষতম সংস্করণটি চালানোর জন্য gem install cocoapods --pre

বিকল্পভাবে, অপ্রকাশিত বৈশিষ্ট্যগুলি চালনার জন্য নির্দেশাবলী অনুসরণ করুন: http://guides.cocoapods.org/ using/unreleased-features

আপনার কাছে কোকোপডসের সর্বশেষতম সংস্করণটি পরে, pod installআবার চালনা করুন ।


এটি অর্থোপার্জনকারী
tmymybananas

কান্না আসছে। ধন্যবাদ!
এমকিএলএন

ত্রুটিটি কোকোপডগুলির সাথে বিশেষভাবে করার দরকার নেই; আমরা একই সমস্যাটি অনুভব করছি এবং কোকোপড ব্যবহার করি না।
ডিভাইস 1

8

আমি আমার অ্যাপ্লিকেশনটি তৈরি করতে ফাস্টলেন জিম ১.৯.০ ব্যবহার করছিলাম এবং এটি অ্যাপল দ্বারা প্রত্যাখ্যান করে চলেছে কারণ ফাইলগুলি মেলে না, আমি যদি এক্সকোড ৮ এর মাধ্যমে আপলোড করি তবে তা গ্রহণযোগ্য ছিল। আমি আইপির সুইফট সাপোর্ট ফোল্ডারে এবং ফ্রেমওয়ার্কস ফোল্ডারে সুইফট লিবগুলি যাচাই করেছিলাম, আমি দেখতে পেলাম যে সুইফট সাপোর্ট ফোল্ডারে লিবগুলি সুইফট ২.৩ এর জন্য ছিল ফ্রেমওয়ার্কস ফোল্ডারে এটি ছিল সুইফট ৩। সুতরাং আমার জিম ফাইলে আমি টুলচেন যুক্ত করেছি বিকল্প:

gym(
  scheme: "CoCadre", 
  configuration: "Production Release",
  clean: true,
  use_legacy_build_api: false,
  toolchain: "com.apple.dt.toolchain.Swift_2_3"
)

* দ্রষ্টব্য যে সরঞ্জামচেন বিকল্পটি ব্যবহার করতে আমাকে ব্যবহারের_গ্যাসি_বিল্ড_াপিকে ভুয়াতে পরিবর্তন করতে হয়েছিল

সরঞ্জামচেন বিকল্পটি ব্যবহার করার জন্য, ব্যবহার_গ্যাসি_বিল্ড_াপি সেট করতে হবে: মিথ্যা https://github.com/fastlane/fastlane/issues/6003#issuecomment-244792185


ধন্যবাদ! আমি ফাস্টলেন এবং জিমও ব্যবহার করছি এবং এটি সমস্যার সমাধান করেছে।
ইস্টিন বাই

ধন্যবাদ, এটি জিম ব্যবহার করার সময় সমস্যাটি সমাধান করতে সহায়তা করেছে। দয়া করে মনে রাখবেন যে আমি এখনও এই সমাধানটি ব্যবহার_গ্যাসি_বিল্ড_াপি দিয়ে ব্যবহার করতে সক্ষম হয়েছি: সত্য
ভিক্টর

6

গিটহাবে পাওয়া গেল কিছু কম জটিল সমাধান :

আমি পডস - ফ্রেমওয়ার্কস.এস এর চারপাশে নজর রেখেছি এবং একটি বিভাগ মন্তব্য করেছি:

এম্বেডযুক্ত লিঙ্কযুক্ত সুইফট রানটাইম লাইব্রেরি
কোডগুলির ব্লকটি মন্তব্য করে যা এই লাইব্রেরিগুলিতে অনুলিপি করে (এবং কোডগুলি সেগুলিতে স্বাক্ষর করে) আমার জমা দেওয়ার সমস্যাগুলি স্থির করেছে। আমি এখনও গভীরভাবে ডাইভ করিনি তা কেবল এটির অনুলিপি যা সমস্যার কারণ বা এটি কোড-স্বাক্ষরকারী কিনা তা দেখার জন্য। আমি আমার গভীরতা থেকে কিছুটা দূরে চলেছি।


4
  1. আপনার কোকোপডগুলি সর্বশেষতম সংস্করণে আপডেট করুন, sudo gem install cocoapodsটার্মিনালটিতে টাইপ করুন ।
  2. pod updateআপনার প্রকল্পের ডিরেক্টরিতে চালান ।
  3. সেট করতে মনে রাখুন Bitcode সক্ষম করার কোন জন্য Debugআপনার সব pods জন্য বিকল্প।
  4. ফিক্সড

সমস্যাটি স্থির হয়েছে কারণ নিম্নলিখিত কোডটিতে Pods-frameworks.sh:

# Embed linked Swift runtime libraries
local basename
basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})"
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u  && exit ${PIPESTATUS[0]})
for lib in $swift_runtime_libs; do
  echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
  rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
  code_sign_if_enabled "${destination}/${lib}"
done

এতে পরিবর্তন করা হয়েছিল:

# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
    local swift_runtime_libs
    swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u  && exit ${PIPESTATUS[0]})
  for lib in $swift_runtime_libs; do
    echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
    rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
    code_sign_if_enabled "${destination}/${lib}"
  done
fi

2

এর জন্য আমার সমাধান:

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

pod 'Reveal-iOS-SDK', :configurations => ['Debug']

যেহেতু আমার প্রকাশ এখন কেবল ডিবাগের জন্য কনফিগার করা হয়েছে, আমি বিটকডকে কেবলমাত্র ডিবাগের জন্য অক্ষম করেছিলাম।

এখানে চিত্র বর্ণনা লিখুন

এই সেটিংস দিয়ে কোনও হ্যাক ছাড়াই সবকিছু ঠিকঠাক হয় ...


0

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


0

আমার জন্য ত্রুটিটি হ'ল অ্যাপ স্টোরটিতে স্পা আপলোড করার জন্য আমি অ্যাপ স্টোর প্রোফাইলের পরিবর্তে অ্যাডহক প্রোফাইল দিয়ে তৈরি করেছি।

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