请教热更新groupversion问题。。。

{“packageUrl”:“xxxx”,
“remoteManifestUrl”:“xxxx”,
“remoteVersionUrl”:“xxxx”,
“version”:“1.0.4”,

“groupVersions” : {
“1” : “1.0.1”,
“2” : “1.0.2”,
“3” : “1.0.3”,
“4” : “1.0.4”
},
“assets”:{

“1.0.1_app_version.zip”:{“size”:7209,“md5”:xxxx,“compressed”:true,“group” : “1”},

“1.0.2_app_version.zip”:{“size”:10098,“md5”:xxxxx,“compressed”:true,“group” : “2”},

“1.0.3_app_version.zip”:{“size”:23449690,“md5”:xxxxx",“compressed”:true,“group” : “3”},

“1.0.4_app_version.zip”:{“size”:10033,“md5”:xxxxx,“compressed”:true,“group” : “4”}

},“searchPaths”:[]}


IOS Log :

Verification passed : 1.0.3_app_version.zip size : 23449690
Verification passed : 1.0.1_app_version.zip size : 7209
Verification passed : 1.0.2_app_version.zip size : 10098
Verification passed : 1.0.4_app_version.zip size : 10033


问题是…为什么每次下载更都从 1.0.3 开始下载 , 然后才按顺序 1 ,2 ,4依次下载呢?? 是因为 version 包体 比较大吗?

Manifest::Asset Manifest::parseAsset(const std::string &path, const rapidjson::Value &json)
{
Asset asset;
asset.path = path;

if ( json.HasMember(KEY_MD5) && json[KEY_MD5].IsString() )
{
    asset.md5 = json[KEY_MD5].GetString();
}
else asset.md5 = "";

if ( json.HasMember(KEY_PATH) && json[KEY_PATH].IsString() )
{
    asset.path = json[KEY_PATH].GetString();
}

if ( json.HasMember(KEY_COMPRESSED) && json[KEY_COMPRESSED].IsBool() )
{
    asset.compressed = json[KEY_COMPRESSED].GetBool();
}
else asset.compressed = false;

if ( json.HasMember(KEY_SIZE) && json[KEY_SIZE].IsInt() )
{
    asset.size = json[KEY_SIZE].GetInt();
}
else asset.size = 0;

if ( json.HasMember(KEY_DOWNLOAD_STATE) && json[KEY_DOWNLOAD_STATE].IsInt() )
{
    asset.downloadState = (json[KEY_DOWNLOAD_STATE].GetInt());
}
else asset.downloadState = DownloadState::UNMARKED;

return asset;

}


group 這個key 在c++層面 根本沒有作用喔 請問是怎麼回事。。??

难道都没有 人做迭代更新么。。