9

iOS'ta bir gcm konusuna abone olmaya çalışıyorum.Gcm iOS, konuya abone ol, hata kodu 3004

GCMPubSub.sharedInstance().subscribeWithToken(registrationId, topic: "/topics/mytopic", options: nil) { error in 
    print(error.localizedDescription) 
} 

İşlem tamamlanamadı. (com.google.gcm hata 3004.)

Bu hata kodu için herhangi bir yerde belge bulamıyorum. Ben de hatalar tanımlanmaktadır kaynak kodunu okudum ve şuna benzer:

typedef NS_ENUM(NSUInteger, GCMServiceErrorCode) { 
    /** 
    * HTTP errors. 
    */ 

    // InvalidRequest -- Some parameters of the request were invalid. 
    kGCMServiceErrorCodeInvalidRequest = 0, 

    // Auth Error -- GCM couldn't validate request from this client. 
    kGCMServiceErrorCodeAuthentication = 1, 

    // NoAccess -- InstanceID service cannot be accessed. 
    kGCMServiceErrorCodeNoAccess = 2, 

    // Timeout -- Request to InstanceID backend timed out. 
    kGCMServiceErrorCodeTimeout = 3, 

    // Network -- No network available to reach the servers. 
    kGCMServiceErrorCodeNetwork = 4, 

    // OperationInProgress -- Another similar operation in progress, 
    // bailing this one. 
    kGCMServiceErrorCodeOperationInProgress = 5, 

    // Unknown error. 
    kGCMServiceErrorCodeUnknown = 7, 

    /** 
    * Upstream Send errors 
    */ 

    // Upstream send not available (e.g. network issues) 
    kGCMServiceErrorCodeUpstreamServiceNotAvailable = 1001, 

    // Invalid send parameters. 
    kGCMServiceErrorCodeInvalidParameters = 1002, 

    // Invalid missing to. 
    kGCMServiceErrorCodeMissingTo = 1003, 

    // GCM could not cache the message for sending. 
    kGCMServiceErrorSave = 1004, 

    // Message size exceeded (size > 4KB). 
    kGCMServiceErrorSizeExceeded = 1005, 

    /** 
    * GCM Connect errors. 
    */ 

    // GCM already connected with the client. 
    kGCMServiceErrorCodeAlreadyConnected = 2001, 

    /** 
    * PubSub errors. 
    */ 

    // Topic already subscribed to. 
    kGCMServiceErrorCodePubSubAlreadySubscribed = 3001, 

    // Topic already unsubscribed from. 
    kGCMServiceErrorCodePubSubAlreadyUnsubscribed = 3002, 

    // Invalid topic name, does not match the topic regex "/topics/[a-zA-Z0-9-_.~%]+" 
    kGCMServiceErrorCodePubSubInvalidTopic = 3003, 
}; 

hata kodları 3003 sona!

cevap

6

Bunu daha önce görmüştüm çünkü GCMPubSub'u kullanmadan önce GCM'yi başlatmadım. Yani bu

var config = GCMConfig.defaultConfig() 
// Note you should only call start once during the lifetime of your app. 
GCMService.sharedInstance().startWithConfig(config) 
GCMPubSub.sharedInstance().subscribeWithToken(registrationId, topic: "/topics/mytopic", options: nil) { error in 
    print(error.localizedDescription) 
} 
+0

subscribeWithToken buydu çağırmadan önce bir özellik olarak GCMPubSub.shareInstance() kaydedemezsiniz GCMService.sharedInstance().startWithConfig(config) arayana kadar bile GCMPubSub.sharedInstance() arayamayacağımı oldu için sorun için bunu düzeltmek gerektiğini ben cevapsız. Çok teşekkürler! – Siamaster

+0

Ayrıca bu sorunu yaşıyorum ve bu hata kodu 3004 – oronbz

+0

teşekkürler çözmedi! "GCMService" ve "GGLInstanceID" ye dikkat etmeyenlere dikkat edin: ikisi farklı! – wangii

1

beni bu kadar aslında