اذهب إلى المحتوى
  • 0

منع تسجيل الشاشة IOS

جوزيف ناثان

السؤال

معرفة كيفية منع تسجيل الشاشىة في تطبيق IOS 

كتطبيق Almentor  علي APPStore

التطبيق بلغة swift .

تم التعديل في بواسطة جوزيف ناثان
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

مرحباً جوزيف،
يمكنك تنفيذ ذلك عن طريق إضافة observer كالتالي:

NotificationCenter.default.addObserver(self, selector: #selector(preventScreenRecording), name: NSNotification.Name.UIScreenCapturedDidChange, object: nil)

ثم نقوم بإنشاء view بداخل ال main view الرئيسية للتطبيق كالتالي:
 

(void) preventScreenRecording {
if (@available(iOS 11.0, *)) {
    BOOL isCaptured = [[UIScreen mainScreen] isCaptured];

    if (isCaptured) {
        self.blockView.hidden = false;
    }
    else {
        self.blockView.hidden = true;
    }
}

ملاحظة: أيضاً يمكنك استخدام screen.isCaptured ببساطة لاختبار في حال كانت الشاشة قيد التسجيل أو لا، ومن ثم إضافة عملية المعالجة التي ترغب بها، مثال:

 

func isRecording() ->Bool {

        for screen in UIScreen.screens {

            if (screen.isCaptured) {

                print("screen is recorded")

                return true

            }

        }

        return false

}

بالتوفيق

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ On 21‏/1‏/2021 at 01:39 قال Sam Ahw:

مرحباً جوزيف،
يمكنك تنفيذ ذلك عن طريق إضافة observer كالتالي:


NotificationCenter.default.addObserver(self, selector: #selector(preventScreenRecording), name: NSNotification.Name.UIScreenCapturedDidChange, object: nil)

ثم نقوم بإنشاء view بداخل ال main view الرئيسية للتطبيق كالتالي:
 


(void) preventScreenRecording {
if (@available(iOS 11.0, *)) {
    BOOL isCaptured = [[UIScreen mainScreen] isCaptured];

    if (isCaptured) {
        self.blockView.hidden = false;
    }
    else {
        self.blockView.hidden = true;
    }
}

ملاحظة: أيضاً يمكنك استخدام screen.isCaptured ببساطة لاختبار في حال كانت الشاشة قيد التسجيل أو لا، ومن ثم إضافة عملية المعالجة التي ترغب بها، مثال:

 


func isRecording() ->Bool {

        for screen in UIScreen.screens {

            if (screen.isCaptured) {

                print("screen is recorded")

                return true

            }

        }

        return false

}

بالتوفيق

مكان وضع observer  يكون داخل الـ AppDelegate او خارجه

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ On 21‏/1‏/2021 at 01:39 قال Sam Ahw:

مرحباً جوزيف،
يمكنك تنفيذ ذلك عن طريق إضافة observer كالتالي:


NotificationCenter.default.addObserver(self, selector: #selector(preventScreenRecording), name: NSNotification.Name.UIScreenCapturedDidChange, object: nil)

ثم نقوم بإنشاء view بداخل ال main view الرئيسية للتطبيق كالتالي:
 


(void) preventScreenRecording {
if (@available(iOS 11.0, *)) {
    BOOL isCaptured = [[UIScreen mainScreen] isCaptured];

    if (isCaptured) {
        self.blockView.hidden = false;
    }
    else {
        self.blockView.hidden = true;
    }
}

ملاحظة: أيضاً يمكنك استخدام screen.isCaptured ببساطة لاختبار في حال كانت الشاشة قيد التسجيل أو لا، ومن ثم إضافة عملية المعالجة التي ترغب بها، مثال:

 


func isRecording() ->Bool {

        for screen in UIScreen.screens {

            if (screen.isCaptured) {

                print("screen is recorded")

                return true

            }

        }

        return false

}

بالتوفيق

من فضلك توفير تلك الوظائف بلغة Swift 5 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...