Этот проект разработан в Unity3d и собран для iOS.
Это мой файл .cs.
IEnumerator DownloadModel(string modelUrl)
{
isDownloading = true;
// Wait for the Caching system to be ready
while (!Caching.ready)
yield return null;
// Load the AssetBundle file from Cache if it exists with the same version or download and store it in the cache
WWW www = WWW.LoadFromCacheOrDownload (modelUrl, 1);
Debug.Log ("modelURL : " + modelUrl);
while (!www.isDone) {
progressText.text = "Progress : " + (www.progress * 100).ToString ("N0") + "%";
Debug.Log("Download Progress : " + (www.progress * 100).ToString ("N0") + "%");
yield return null;
}
yield return www;
isDownloading = false;
if (www.error != null) {
throw new UnityException ("WWW download had an error:" + www.error);
}
AssetBundle bundle = www.assetBundle;
downloadedObjectContainer = bundle.LoadAllAssets ();
// tempObj = Instantiate(downloadedObjectContainer[0]) as GameObject;
//
// tempObj.transform.SetParent(this.transform);
isDownloading = false;
// Unload the AssetBundles compressed contents to conserve memory
bundle.Unload (false);
// memory is freed from the web stream (www.Dispose() gets called implicitly)
Debug.LogWarning ("START CALLING OUT OBJECT");
if (downloadedObjectContainer[0] != null) {
Debug.Log("Downloadable content count : " + downloadedObjectContainer.Length );
currentDownloadedModel = Instantiate(downloadedObjectContainer[0]) as GameObject;
Debug.Log("OBJECT INSTANTIATE.");
currentDownloadedModel.transform.SetParent(this.transform);
//set the ARContent and ImageTarget
sic.setARContentAndMarker(currentDownloadedModel, ImageTarget);
Debug.Log("CONTENT MARKER SET.");
currentDownloadedModel.SetActive(true);
}
Debug.LogWarning ("COROUTINE FINISHED");
}
и моя "currentDownloadedModel" объявлена вверху как GameObject.
public class cloudTrackableEventHandler : MonoBehaviour{
GameObject currentDownloadedModel;
Когда я создаю свое приложение для Android, проблем не возникает. Но как только я создаю его в iOS, возникает эта ошибка
START CALLING OUT OBJECT
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
Downloadable content count : 1
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
MarcV2 was compiled with optimization - stepping may behave oddly; variables may not be available.
С помощью Debug.Log() я обнаружил, что проблема возникает, когда я хочу назначить currentDownloadedModel модели, которую я создаю. Может ли кто-нибудь помочь мне в этом? Заранее спасибо.
Примечание: для параметра «Оптимизация вызова сценария» в настройках проигрывателя Unity установлено значение «медленно и безопасно».