Apakah mungkin untuk meluncurkan aplikasi iPhone sembarang dari dalam aplikasi lain ?, Misalnya dalam aplikasi saya jika saya ingin pengguna menekan tombol dan meluncurkan langsung ke aplikasi Phone (tutup aplikasi saat ini, buka aplikasi Phone) .
apakah ini mungkin? Saya tahu ini dapat dilakukan untuk membuat panggilan telepon dengan tautan URL tel, tetapi saya ingin hanya menjalankan aplikasi Telepon tanpa menekan nomor tertentu.
sumber
Saya menemukan bahwa mudah untuk menulis aplikasi yang dapat membuka aplikasi lain.
Mari kita asumsikan kita memiliki dua aplikasi bernama
FirstApp
danSecondApp
. Ketika kami membuka FirstApp, kami ingin dapat membuka SecondApp dengan mengklik tombol. Solusi untuk melakukan ini adalah:Di SecondApp
Pergi ke file plist dari SecondApp dan Anda perlu menambahkan Skema URL dengan string iOSDevTips (tentu saja Anda dapat menulis string lain. Terserah Anda).
2. Di FirstApp
Buat tombol dengan tindakan di bawah ini:
Itu dia. Sekarang ketika Anda dapat mengklik tombol di FirstApp itu harus membuka SecondApp.
sumber
Info.plist
satuFirstApp
. Kemudian tambahkan skema yang ingin dibuka aplikasi Anda, dalam hal iniItem 0
adalahiOSDevTips
LSApplicationQueriesSchemes
ke Info.plist-nya untuk dapat membuka SecondApp.Jawaban lee benar-benar benar untuk iOS sebelum 8.
Di iOS 9+ Anda harus memasukkan daftar putih skema URL apa pun yang ingin ditanyakan oleh Aplikasi Anda di Info.plist di bawah kunci LSApplicationQueriesSchemes (array string):
sumber
Dalam Swift
Untuk berjaga-jaga seandainya seseorang mencari salinan dan tempel Swift cepat.
sumber
Agar Anda dapat membuka aplikasi dari yang lain, Anda harus melakukan perubahan di kedua aplikasi tersebut. Berikut langkah-langkah menggunakan Swift 3 dengan pembaruan iOS 10 :
1. Daftarkan aplikasi Anda yang ingin Anda buka
Perbarui
Info.plist
dengan mendefinisikan Skema URL khusus dan unik aplikasi Anda.Perhatikan bahwa nama skema Anda harus unik, jika tidak, jika Anda memiliki aplikasi lain dengan nama skema URL yang sama diinstal pada perangkat Anda, maka ini akan ditentukan runtime mana yang akan dibuka.
2. Sertakan skema URL sebelumnya di aplikasi utama Anda
Anda harus menentukan skema URL yang Anda inginkan agar aplikasi dapat digunakan dengan
canOpenURL:
metodeUIApplication
kelas. Jadi buka aplikasi utamaInfo.plist
dan tambahkan skema URL aplikasi lainLSApplicationQueriesSchemes
. (Diperkenalkan di iOS 9.0)3. Terapkan tindakan yang membuka aplikasi Anda
Sekarang semuanya sudah diatur, jadi Anda baik untuk menulis kode Anda di aplikasi utama Anda yang membuka aplikasi Anda yang lain. Seharusnya terlihat seperti ini:
Perhatikan bahwa perubahan ini memerlukan rilis baru jika Anda ingin aplikasi Anda yang sudah ada (diinstal dari AppStore) untuk dibuka. Jika Anda ingin membuka aplikasi yang sudah Anda lepaskan ke Apple AppStore, maka Anda harus mengunggah versi baru yang mencakup pendaftaran skema URL Anda.
sumber
Berikut ini adalah tutorial yang bagus untuk meluncurkan aplikasi dari dalam aplikasi lain:
iOS SDK: Bekerja dengan Skema URL
Dan, tidak mungkin untuk meluncurkan aplikasi sewenang-wenang, tetapi aplikasi asli yang mendaftarkan Skema URL .
sumber
Untuk mencapai ini, kita perlu menambahkan beberapa baris Kode di kedua Aplikasi
Aplikasi A: Yang ingin Anda buka dari Aplikasi lain. (Sumber)
Aplikasi B : Dari Aplikasi B Anda ingin membuka Aplikasi A (Tujuan)
Kode untuk Aplikasi A
Tambahkan beberapa tag ke Plist of App A Open Plist Source dari App A dan Past di bawah XML
Di App delegate App A - Dapatkan Panggilan Balik di sini
Sekarang datang ke kode App B -
Jika Anda hanya ingin membuka Aplikasi A tanpa parameter input apa pun
Jika Anda ingin meneruskan parameter dari App B ke App A, gunakan Kode di bawah ini
Catatan: Anda juga dapat membuka Aplikasi dengan cukup ketik testApp.linking: //? di browser safari
sumber
Coba kode berikut ini akan membantu Anda untuk Meluncurkan aplikasi dari aplikasi Anda
Catatan: Ganti nama fantacy dengan nama aplikasi yang sebenarnya
sumber
Anda hanya dapat meluncurkan aplikasi yang telah mendaftarkan skema URL. Maka sama seperti Anda membuka aplikasi SMS dengan menggunakan sms :, Anda akan dapat membuka aplikasi menggunakan skema URL mereka.
Ada contoh yang sangat bagus yang tersedia dalam dokumen yang disebut LaunchMe yang menunjukkan ini.
Kode contoh LaunchMe per 6 November 2017.
sumber
Bukan itu. Selain penangan URL yang terdokumentasi, tidak ada cara untuk berkomunikasi dengan / meluncurkan aplikasi lain.
sumber
Saya juga mencoba ini beberapa waktu yang lalu ( Luncurkan Aplikasi iPhone dengan Identifier ), tetapi jelas tidak ada cara DOKUMEN untuk melakukan ini. :)
sumber
Dalam Swift 4.1 dan Xcode 9.4.1
Saya memiliki dua aplikasi 1) PageViewControllerExample dan 2) DelegateExample. Sekarang saya ingin membuka aplikasi DelegateExample dengan aplikasi PageViewControllerExample. Ketika saya mengklik tombol terbuka di PageViewControllerExample, aplikasi DelegateExample akan dibuka.
Untuk ini, kita perlu membuat beberapa perubahan pada file .plist untuk kedua aplikasi.
Langkah 1
Dalam aplikasi DelegateExample buka file .plist dan tambahkan Jenis URL serta Skema URL. Di sini kita perlu menambahkan nama yang diperlukan seperti "myapp".
Langkah 2
Di aplikasi PageViewControllerExample, buka file .plist dan tambahkan kode ini
Sekarang kita dapat membuka aplikasi DelegateExample ketika kita mengklik tombol di PageViewControllerExample.
sumber
Catatan tambahan tentang topik ini ...
Ada batas permintaan 50 untuk protokol yang tidak terdaftar.
Dalam diskusi apel ini menyebutkan bahwa untuk versi aplikasi tertentu Anda hanya dapat menanyakan
canOpenUrl
jumlah terbatas kali dan akan gagal setelah 50 panggilan untuk skema yang tidak diumumkan . Saya juga melihat bahwa jika protokol ditambahkan setelah Anda memasuki kondisi gagal ini, ia masih akan gagal.Waspadai hal ini, bisa bermanfaat bagi seseorang.
sumber
Swift 3 versi cepat dan rekatkan jawaban @ villy393 untuk:
sumber