سؤال

لدينا مشروع يعمل بشكل جيد على نظام التشغيل 4 ولكننا نواجه مشاكل في تشغيله على آي باد 3.2.

قاعدة سك هو 4.0 وهدف النشر هو 3.2.

تعطل التعليمات البرمجية على جهاز محاكاة باد (والجهاز) قبل أن تبدأ حتى ، مع الخطأ

"منسقي البيانات مؤقتا غير متوفر"

يبدو أن تشغيل بخير إذا كنت تأخذ 2 خطوط بها...

AVURLAsset* asset = [AVURLAsset URLAssetWithURL:assetURL options:options];

و

export = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetPassthrough];

أنا فرع وفقا لما هو نظام التشغيل الحالي بحيث هذه الخطوط لا يتم الوصول إليه أبدا عندما تكون على جهاز 3.2 (أعلم أنها نظام التشغيل 4) ، ولكن مجرد وجودهم هناك على الإطلاق يجعل الشيء يتعطل قبل أن يبدأ.

أي أفكار?في صحتك

هل كانت مفيدة؟

المحلول

إذا لم يتم الوصول إلى هذه الخطوط أبدا على iPad، فيمكنك مواجهة مشكلة بسبب عدم الضعف على إطار الإطار AVFOundation (والآخرين).نظرا لأن Avurlasset و AvassetExportsession غير موجود كرموز في 3.2، فقد يتعطل طلبك عند بدء التشغيل على نظام التشغيل القديم.

أصف كيفية ضعف الرابط الإطار استجابة ل مشكلة مماثلة في هذه الإجابة .

نصائح أخرى

أولا وقبل كل شيء ، "منسقي البيانات غير متوفرة مؤقتا" هو رسالة غب ، انها لا لماذا تعطل التطبيق الخاص بك.يمكن العثور على مزيد من المعلومات حول هذه الرسالة هنا.

تحتاج إلى التحقق من توافر الطبقات أثناء وقت التشغيل (وليس تجميع الوقت) إذا كنت ترغب في كتابة التعليمات البرمجية التي تعمل على كل من دائرة الرقابة الداخلية 3.0 و 4.0.

يمكنك القيام بذلك باستخدام NSClassFromString وظيفة مثل هذا:

if (NSClassFromString(@"AVURLAsset")) {
    // 4.0 code using AVURLAsset goes here
} else {
    // 3.0 code goes here
}

جرب هذا (أو ما شابه):

giveacodicetagpre.

سرقت من هذا السؤال .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top