diff --git a/src/objective-c/ProtoRPC/ProtoRPC.m b/src/objective-c/ProtoRPC/ProtoRPC.m
index 4a2372e24089a812768b646022b4abaaf3495ef3..3158f91b5147dbea7ca8bce04fd18b5c39086c89 100644
--- a/src/objective-c/ProtoRPC/ProtoRPC.m
+++ b/src/objective-c/ProtoRPC/ProtoRPC.m
@@ -44,7 +44,7 @@
 
 - (instancetype)initWithHost:(NSString *)host
                       method:(GRPCMethodName *)method
-              requestsWriter:(id<GRXWriter>)requestWriter {
+              requestsWriter:(id<GRXWriter>)requestsWriter {
   return [self initWithHost:host
                      method:method
              requestsWriter:requestsWriter
@@ -59,7 +59,7 @@
                responseClass:(Class)responseClass
           responsesWriteable:(id<GRXWriteable>)responsesWriteable {
   // Because we can't tell the type system to constrain the class, we need to check at runtime:
-  if (![class respondsToSelector:@selector(parseFromData:)]) {
+  if (![responseClass respondsToSelector:@selector(parseFromData:)]) {
     [NSException raise:NSInvalidArgumentException
                 format:@"A protobuf class to parse the responses must be provided."];
   }
diff --git a/src/objective-c/ProtoRPC/ProtoService.m b/src/objective-c/ProtoRPC/ProtoService.m
index 45d015e1316efcfadb52240825c19883cdee914d..05a4ead8a6ef9ce2babd367afd3ae8f5b255efdb 100644
--- a/src/objective-c/ProtoRPC/ProtoService.m
+++ b/src/objective-c/ProtoRPC/ProtoService.m
@@ -46,7 +46,7 @@
 }
 
 - (instancetype)init {
-  return [self initWithHost:nil];
+  return [self initWithHost:nil packageName:nil serviceName:nil];
 }
 
 // Designated initializer
@@ -71,7 +71,7 @@
        responsesWriteable:(id<GRXWriteable>)responsesWriteable {
   GRPCMethodName *methodName = [[GRPCMethodName alloc] initWithPackage:_packageName
                                                              interface:_serviceName
-                                                                method:_method];
+                                                                method:method];
   return [[ProtoRPC alloc] initWithHost:_host
                                  method:methodName
                          requestsWriter:requestsWriter
diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Test.pb.m b/src/objective-c/examples/Sample/RemoteTestClient/Test.pb.m
index b05bcc7218f768282a705ae01911ff721f3dde99..959555d4bf7784ad4c92c7f021d2f753c3d5f7eb 100644
--- a/src/objective-c/examples/Sample/RemoteTestClient/Test.pb.m
+++ b/src/objective-c/examples/Sample/RemoteTestClient/Test.pb.m
@@ -2,6 +2,7 @@
 
 #import "Test.pb.h"
 
+#import <ProtoRPC/ProtoRPC.h>
 #import <RxLibrary/GRXWriteable.h>
 #import <RxLibrary/GRXWriter+Immediate.h>
 // @@protoc_insertion_point(imports)
@@ -27,12 +28,13 @@ static PBExtensionRegistry* extensionRegistry = nil;
 @end
 
 
-static NSString *const kServiceName = @"grpc.testing.TestService";
+static NSString *const kPackageName = @"grpc.testing";
+static NSString *const kServiceName = @"TestService";
 
 @implementation RMTTestService
 
 - (instancetype)initWithHost:(NSString *)host {
-  return (self = [super initWithHost:host serviceName:kServiceName]);
+  return (self = [super initWithHost:host packageName:kPackageName serviceName:kServiceName]);
 }
 
 
@@ -48,7 +50,7 @@ static NSString *const kServiceName = @"grpc.testing.TestService";
 - (ProtoRPC *)RPCToEmptyCallWithRequest:(RMTEmpty *)request
                                 handler:(void(^)(RMTEmpty *response, NSError *error))handler {
   return [self RPCToMethod:@"EmptyCall"
-            requestsWriter:[GRXWriter writerWithValue:request];
+            requestsWriter:[GRXWriter writerWithValue:request]
              responseClass:[RMTEmpty class]
         responsesWriteable:[GRXWriteable writeableWithSingleValueHandler:handler]];
 }
@@ -66,7 +68,7 @@ static NSString *const kServiceName = @"grpc.testing.TestService";
 - (ProtoRPC *)RPCToUnaryCallWithRequest:(RMTSimpleRequest *)request
                                 handler:(void(^)(RMTSimpleResponse *response, NSError *error))handler {
   return [self RPCToMethod:@"UnaryCall"
-            requestsWriter:[GRXWriter writerWithValue:request];
+            requestsWriter:[GRXWriter writerWithValue:request]
              responseClass:[RMTSimpleResponse class]
         responsesWriteable:[GRXWriteable writeableWithSingleValueHandler:handler]];
 }
@@ -85,7 +87,7 @@ static NSString *const kServiceName = @"grpc.testing.TestService";
 - (ProtoRPC *)RPCToStreamingOutputCallWithRequest:(RMTStreamingOutputCallRequest *)request
                                           handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler {
   return [self RPCToMethod:@"StreamingOutputCall"
-            requestsWriter:[GRXWriter writerWithValue:request];
+            requestsWriter:[GRXWriter writerWithValue:request]
              responseClass:[RMTStreamingOutputCallResponse class]
         responsesWriteable:[GRXWriteable writeableWithStreamHandler:handler]];
 }
@@ -104,7 +106,7 @@ static NSString *const kServiceName = @"grpc.testing.TestService";
 - (ProtoRPC *)RPCToStreamingInputCallWithRequestsWriter:(id<GRXWriter>)requestsWriter
                                                 handler:(void(^)(RMTStreamingInputCallResponse *response, NSError *error))handler {
   return [self RPCToMethod:@"StreamingInputCall"
-            requestsWriter:requestsWriter;
+            requestsWriter:requestsWriter
              responseClass:[RMTStreamingInputCallResponse class]
         responsesWriteable:[GRXWriteable writeableWithSingleValueHandler:handler]];
 }
@@ -124,7 +126,7 @@ static NSString *const kServiceName = @"grpc.testing.TestService";
 - (ProtoRPC *)RPCToFullDuplexCallWithRequestsWriter:(id<GRXWriter>)requestsWriter
                                             handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler {
   return [self RPCToMethod:@"FullDuplexCall"
-            requestsWriter:requestsWriter;
+            requestsWriter:requestsWriter
              responseClass:[RMTStreamingOutputCallResponse class]
         responsesWriteable:[GRXWriteable writeableWithStreamHandler:handler]];
 }
@@ -145,7 +147,7 @@ static NSString *const kServiceName = @"grpc.testing.TestService";
 - (ProtoRPC *)RPCToHalfDuplexCallWithRequestsWriter:(id<GRXWriter>)requestsWriter
                                             handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler {
   return [self RPCToMethod:@"HalfDuplexCall"
-            requestsWriter:requestsWriter;
+            requestsWriter:requestsWriter
              responseClass:[RMTStreamingOutputCallResponse class]
         responsesWriteable:[GRXWriteable writeableWithStreamHandler:handler]];
 }