iPhone - Finalisierung von Apples vage "VerificationController.m"
Ich versuche das neue umzusetzenVerificationController.m Klasse, die Apple veröffentlicht hat, um das Problem mit In-App-Kaufbetrug zu beheben.
Wie alles, was von Apple veröffentlicht wurde, ist dies ein vageres, unvollständiges und schlecht erklärtes Dokument mit vielen Lücken und Unbekannten, die nicht von jedermann umgangen / verstanden werden können.
Ich versuche das zu implementieren, aber am Ende des Codes sehen wir diese vier Methoden:
- (NSString *)encodeBase64:(const uint8_t *)input length:(NSInteger)length
{
#warning Replace this method.
return nil;
}
- (NSString *)decodeBase64:(NSString *)input length:(NSInteger *)length
{
#warning Replace this method.
return nil;
}
#warning Implement this function.
char* base64_encode(const void* buf, size_t size)
{ return NULL; }
#warning Implement this function.
void * base64_decode(const char* s, size_t * data_len)
{ return NULL; }
Sie sehen, dass Apple die C-Funktionen am Ende des Codes nur schleppend implementierte. Da meine C / C ++ - Fähigkeiten stinken, sehe ich, dass ich diese beiden Funktionen in C / C ++ implementieren muss und dass sie char und void (???) zurückgeben müssen. Andere Leute haben Routinen veröffentlicht, um dies auf SO zu tun, aber sie sind entweder in Objective-C oder geben keine Zeichen und nichtig (??) zurück.
HINWEIS: Dies ist ein weiteres Problem, das ich habe: Wie kann eine Methode ungültig werden, wenn sie von Apple in dieser Form verwendet wird?
uint8_t *purchase_info_bytes = base64_decode([purchase_info_string cStringUsingEncoding:NSASCIIStringEncoding], &purchase_info_length);
Sollte es nicht uint8_t zurückgeben?
HINWEIS 2: Ein weiteres Problem ist, dass Apple sagt, dass base64_encode erforderlich ist, aber es wird nicht für den von ihnen bereitgestellten Code verwendet. Ich denke sie rauchen schlechtes Zeug oder meine C / C ++ Kenntnisse stinken wirklich.
Zurück zu meiner ersten Frage. Kann jemand eine Methode posten / zeigen, die die Arbeit erledigen kann, die den Anforderungen der deklarierten Methoden base64_encode und base64_decode entspricht? Bitte veröffentlichen Sie keine Objective-C-Methoden, die mit diesen von Apple auferlegten Anforderungen nicht kompatibel sind.
Vielen Dank.