diff --git a/Ring/Ring/Bridging/Utils.h b/Ring/Ring/Bridging/Utils.h
index 063752b5a3e168ac524b7bdf4366d93fbb12049b..f8e2d1dee28ddbe76ea8f714b59bc48d3b1c0565 100644
--- a/Ring/Ring/Bridging/Utils.h
+++ b/Ring/Ring/Bridging/Utils.h
@@ -31,5 +31,6 @@
 + (NSMutableDictionary*)mapToDictionnary:
     (const std::map<std::string, std::string>&)map;
 + (std::map<std::string, std::string>)dictionnaryToMap:(NSDictionary*)dict;
++ (NSArray*)vectorOfMapsToArray:(const std::vector<std::map<std::string, std::string>>&)vectorOfMaps;
 
 @end
diff --git a/Ring/Ring/Bridging/Utils.mm b/Ring/Ring/Bridging/Utils.mm
index 332ff1157eed0f2c3b1f542d9c77cdc5f624b8ba..bbfceaa38fd894cc2de1094c8607e0591bebf58f 100644
--- a/Ring/Ring/Bridging/Utils.mm
+++ b/Ring/Ring/Bridging/Utils.mm
@@ -56,4 +56,17 @@
   return resMap;
 }
 
++ (NSArray*)vectorOfMapsToArray:
+(const std::vector<std::map<std::string, std::string>>&)vectorOfMaps {
+    NSMutableArray* array = [[NSMutableArray alloc] initWithCapacity:vectorOfMaps.size()];
+
+    std::for_each(
+                  vectorOfMaps.begin(), vectorOfMaps.end(), ^(std::map<std::string, std::string> map) {
+                      NSDictionary *dictionary = [Utils mapToDictionnary:map];
+                      [array addObject:dictionary];
+                  });
+
+    return [NSArray arrayWithArray:array];
+}
+
 @end