2015-12-17 20 views
5

Geçerli projemde, iOS uygulamasından whatsapp üzerine metin paylaşmam gerekiyor. iOS9: WhatOpp'un url şeması için döndürülen canOpenURL

İşte WhatsApp metni paylaşmak benim kodudur: -

NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?text=Hello%2C%20World!"]; 
if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) { 
[[UIApplication sharedApplication] openURL: whatsappURL]; 
} 

ama canOpenURL hep iOS9 yanlış dönen.

Herhangi bir iOS9 gizlilik ilkesi var mı? Herkes bana yardımcı olabilir.

Şimdiden teşekkürler. Örneğin

: Yani

enter image description here

Uygulamanızda LSApplicationQueriesSchemes anahtarının altında Info.plist içinde sorgulamak isteyen her URL şemalarını (dizelerden oluşan bir dizi) beyaz listeye gerekir iOS 9

+1

w iOS 9, Apple Transport Güvenliği tanıtıldı. Belki onunla bir ilgisi vardır. Temelde artık herhangi bir güvensiz istek göndermeyeceğinizi söylüyor. Ama bu durumda sorun olup olmadığından emin değilim. – dan

+2

belki bu size yardımcı olabilir http://stackoverflow.com/questions/30987986/ios-9-not-opening-instagram-app-with-url-scheme – dan

+0

ATS bununla hiçbir ilgisi yoktur. Apple, bir uygulamanın kullanacağı şema olan info.plist'de belirtilmesi gereken ayrı bir sistem başlattı, ancak ATS'ye tamamen ortogonal. – Avi

cevap

36

Sizin durumunuzda, fb ve twitter yerine whatsapp belirtmeniz gerekecektir.

Bu mekanizmanın yalnızca openURL için değil, canOpenURL için geçerli olduğunu unutmayın. OpenURL ile açabilmek için Info.plist'de listelenmiş bir planınız olması gerekmez. Umarım yardımcı olur. o zaman benziyor (Xamarin ile örneğin) 2 kalemlerinde whatsapp ekle gerekiyorsa @ Z22 cevabı ek olarak

+1

Teşekkürler ... çalışıyorum ...Burada plist (ana dict düğüm sonunda ekleyin) kodudur: tembel olanlar için :) –

+0

@MayankModi sevindim ' LSApplicationQueriesSchemes \t \t \t whatsapp \t ' – z22

+2

yardım etmek :) –

0

Adım: 1 Info.plist

Adım LSApplicationQueriesSchemes ekle Bu: Benim için sorun ben tür URL'ler yerine LSApplicationQueriesSchemeskullanıyordum çünkü

<dict> 
     ... 

     <key>LSApplicationQueriesSchemes</key> 
     <array> 
      <string>whatsapp</string> 
     </array> 
    </dict> 
0

ve bu çalışmayacaktır LSApplicationQueriesSchemes

için işe yarar

URL types

Bu işlem eser

LSApplicationQueriesSchemes

İlgili konular