fix primitive wrapper
diff --git a/pkgs/swift2objc/lib/src/generator/generators/class_generator.dart b/pkgs/swift2objc/lib/src/generator/generators/class_generator.dart
index 0ccb827..eacf265 100644
--- a/pkgs/swift2objc/lib/src/generator/generators/class_generator.dart
+++ b/pkgs/swift2objc/lib/src/generator/generators/class_generator.dart
@@ -68,12 +68,16 @@
     "Wrapped instance can't have a generic type",
   );
 
-  return 'var ${property.name}: ${property.type.swiftType}\n';
+  final prefix = property.hasObjCAnnotation ? '@objc public ' : '';
+  return '${prefix}var ${property.name}: ${property.type.swiftType}\n';
 }
 
 List<String> _generateInitializers(ClassDeclaration declaration) {
   return [
-    ...generateInitializer(declaration.wrapperInitializer, isPublic: false),
+    ...generateInitializer(
+      declaration.wrapperInitializer,
+      isPublic: declaration.wrapperInitializer?.hasObjCAnnotation ?? false,
+    ),
     for (final init in declaration.initializers)
       ...generateInitializer(init, isPublic: true),
   ];
diff --git a/pkgs/swift2objc/lib/src/transformer/_core/primitive_wrappers.dart b/pkgs/swift2objc/lib/src/transformer/_core/primitive_wrappers.dart
index 921bff3..984f21d 100644
--- a/pkgs/swift2objc/lib/src/transformer/_core/primitive_wrappers.dart
+++ b/pkgs/swift2objc/lib/src/transformer/_core/primitive_wrappers.dart
@@ -28,6 +28,7 @@
     source: primitiveType.declaration.source,
     availability: availability,
     type: primitiveType,
+    hasObjCAnnotation: true,
   );
   return ClassDeclaration(
     id: primitiveType.id.addIdSuffix('wrapper'),
diff --git a/pkgs/swift2objc/test/integration/inout_output.swift b/pkgs/swift2objc/test/integration/inout_output.swift
index 9f02e66..da93fed 100644
--- a/pkgs/swift2objc/test/integration/inout_output.swift
+++ b/pkgs/swift2objc/test/integration/inout_output.swift
@@ -40,9 +40,9 @@
 }
 
 @objc public class IntWrapper: NSObject {
-  var wrappedInstance: Int
+  @objc public var wrappedInstance: Int
 
-  init(_ wrappedInstance: Int) {
+  @objc public init(_ wrappedInstance: Int) {
     self.wrappedInstance = wrappedInstance
   }
 
diff --git a/pkgs/swift2objc/test/integration/optional_primitives_output.swift b/pkgs/swift2objc/test/integration/optional_primitives_output.swift
index 6e4d2dd..25f26f4 100644
--- a/pkgs/swift2objc/test/integration/optional_primitives_output.swift
+++ b/pkgs/swift2objc/test/integration/optional_primitives_output.swift
@@ -61,36 +61,36 @@
 }
 
 @objc public class BoolWrapper: NSObject {
-  var wrappedInstance: Bool
+  @objc public var wrappedInstance: Bool
 
-  init(_ wrappedInstance: Bool) {
+  @objc public init(_ wrappedInstance: Bool) {
     self.wrappedInstance = wrappedInstance
   }
 
 }
 
 @objc public class DoubleWrapper: NSObject {
-  var wrappedInstance: Double
+  @objc public var wrappedInstance: Double
 
-  init(_ wrappedInstance: Double) {
+  @objc public init(_ wrappedInstance: Double) {
     self.wrappedInstance = wrappedInstance
   }
 
 }
 
 @objc public class FloatWrapper: NSObject {
-  var wrappedInstance: Float
+  @objc public var wrappedInstance: Float
 
-  init(_ wrappedInstance: Float) {
+  @objc public init(_ wrappedInstance: Float) {
     self.wrappedInstance = wrappedInstance
   }
 
 }
 
 @objc public class IntWrapper: NSObject {
-  var wrappedInstance: Int
+  @objc public var wrappedInstance: Int
 
-  init(_ wrappedInstance: Int) {
+  @objc public init(_ wrappedInstance: Int) {
     self.wrappedInstance = wrappedInstance
   }
 
diff --git a/pkgs/swift2objc/test/integration/primitive_wrappers_output.swift b/pkgs/swift2objc/test/integration/primitive_wrappers_output.swift
index 0457b72..3dc4243 100644
--- a/pkgs/swift2objc/test/integration/primitive_wrappers_output.swift
+++ b/pkgs/swift2objc/test/integration/primitive_wrappers_output.swift
@@ -113,36 +113,36 @@
 }
 
 @objc public class BoolWrapper: NSObject {
-  var wrappedInstance: Bool
+  @objc public var wrappedInstance: Bool
 
-  init(_ wrappedInstance: Bool) {
+  @objc public init(_ wrappedInstance: Bool) {
     self.wrappedInstance = wrappedInstance
   }
 
 }
 
 @objc public class DoubleWrapper: NSObject {
-  var wrappedInstance: Double
+  @objc public var wrappedInstance: Double
 
-  init(_ wrappedInstance: Double) {
+  @objc public init(_ wrappedInstance: Double) {
     self.wrappedInstance = wrappedInstance
   }
 
 }
 
 @objc public class FloatWrapper: NSObject {
-  var wrappedInstance: Float
+  @objc public var wrappedInstance: Float
 
-  init(_ wrappedInstance: Float) {
+  @objc public init(_ wrappedInstance: Float) {
     self.wrappedInstance = wrappedInstance
   }
 
 }
 
 @objc public class IntWrapper: NSObject {
-  var wrappedInstance: Int
+  @objc public var wrappedInstance: Int
 
-  init(_ wrappedInstance: Int) {
+  @objc public init(_ wrappedInstance: Int) {
     self.wrappedInstance = wrappedInstance
   }