Ambil tangkapan layar melalui aplikasi keyboard atau aplikasi iMessage

Apakah mungkin mengambil tangkapan layar secara terprogram dari dalam aplikasi papan ketik atau aplikasi iMessage? Jika ya, bagaimana caranya?

Sunting: untuk memperjelas, saya ingin mengambil tangkapan layar seluruh layar (yaitu aplikasi yang sedang terbuka) dari dalam aplikasi keyboard/iMessage.


person Richard    schedule 07.04.2017    source sumber
comment
Apakah Anda ingin tangkapan layar aplikasi keyboard/pesan? Atau apakah Anda mencoba mengambil tangkapan layar aplikasi lain (aplikasi Pesan atau aplikasi dengan keyboard terbuka)?   -  person nathangitter    schedule 08.04.2017
comment
Tangkapan layar aplikasi lain saat keyboard terbuka.   -  person Richard    schedule 09.04.2017


Jawaban (2)


Karena tindakan ini akan berdampak buruk terhadap privasi pelanggan yang menggunakan keyboard pihak ketiga atau aplikasi iMessage, pengumpulan tangkapan layar data pribadi dengan cara ini tidak mungkin dilakukan, karena alasan yang jelas.

Pertanyaan tersebut secara khusus menanyakan metode untuk melakukan tindakan yang berpotensi menipu yang melanggar Pedoman Peninjauan App Store, Bagian 5.1.1 Pengumpulan dan Penyimpanan Data:

(iii) Pengembang yang menggunakan aplikasinya untuk secara diam-diam menemukan kata sandi atau data pribadi lainnya akan dihapus dari Program Pengembang.

Pertanyaan ini telah ditandai sebagaimana mestinya.

person Tzar    schedule 16.04.2017
comment
Untuk memperjelas, saya membayangkan ini terjadi hanya atas permintaan pengguna melalui mis. mengetuk tombol pada keyboard. - person Richard; 19.04.2017
comment
Pengguna sudah dapat mengambil tangkapan layar melalui kombinasi tombol perangkat keras jika diperlukan. - person Tzar; 19.04.2017
comment
Benar, tapi sulit untuk berulang kali menggulir dan mengambil tangkapan layar jika pengguna ingin menangkap lebih dari apa yang dapat ditampung di layar dalam satu waktu. Saya ingin menerapkan fungsionalitas sehingga pengguna dapat menekan satu tombol, dan tangkapan layar atau seluruh area yang dapat digulir secara otomatis diambil dan digabungkan menjadi satu. - person Richard; 20.04.2017
comment
Ini berbeda dari pertanyaan awal Anda. Itu mungkin saja terjadi. Posting pertanyaan baru yang disusun ulang tentang hal itu, dan saya akan mencoba menjawabnya. - person Tzar; 20.04.2017
comment
Terima kasih @boletzar, saya telah mengirimkan pertanyaan baru di stackoverflow.com/questions/43615790/ - person Richard; 25.04.2017

Gunakan kode ini untuk mengambil tangkapan layar menggunakan UIToolBar

extension UIViewController: UITextFieldDelegate{
    func addToolBar(textField: UITextField){
        var toolBar = UIToolbar()
        toolBar.barStyle = UIBarStyle.Default
        toolBar.translucent = true
        toolBar.tintColor = UIColor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1)
        var screenshotButton = UIBarButtonItem(title: "Screenshot", style: UIBarButtonItemStyle.Done, target: self, action: "donePressed")
        var cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "cancelPressed")
        var spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
        toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false)
        toolBar.userInteractionEnabled = true
        toolBar.sizeToFit()

        textField.delegate = self
        textField.inputAccessoryView = toolBar
    }
    func screenshotButton(){
            func captureScreen() -> UIImage? {
        UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, UIScreen.main.scale)
        view.layer.render(in: UIGraphicsGetCurrentContext()!)
        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image
    }
    }
    func cancelPressed(){
        view.endEditing(true) // or do something
    }
}

Meskipun saya masih perlu memanggil kode di bawah ini pada semua kolom teks saya.

override func viewDidLoad() {
    super.viewDidLoad()
    addToolBar(addressField)
}
person Satish Babariya    schedule 08.04.2017
comment
Bisakah Anda menjelaskan? Apa itu UIToolbar? Apakah ini akan mengambil tangkapan layar seluruh layar dari dalam keyboard atau aplikasi iMessage? - person Richard; 10.04.2017
comment
gunakan ini untuk referensi di toolbar developer.apple.com/reference/uikit/uitoolbar - person Satish Babariya; 10.04.2017
comment
Terima kasih atas tautannya. Namun saya masih tidak yakin apakah ini mengatasi masalah saya. Apakah UIToolbar merupakan komponen yang dapat ditambahkan ke aplikasi iMessage atau aplikasi keyboard? Jika ya, apakah kode yang Anda posting mengambil tangkapan layar seluruh layar, atau hanya aplikasi iMessage/keyboard? - person Richard; 10.04.2017
comment
Ini untuk mengambil tangkapan layar di dalam aplikasi tetapi pertanyaannya berbeda. - person Satheesh; 17.04.2017