See my answer to other question here:
The current version of usdz_converter fails for anything other than very simple obj files.
The problem is not with file size btw (I have been able to convert a full body human scan), however if the file has anything else than basic tags, it fails.
The trick is to edit the OBJ file (it is ASCII file) and comment out any complex tags.
I have gven my experiment results in above thread.
Thanks trayser. I edit my .obj files and still not working.
Then I realize something else, maybe I shouldn't use the file path to run this command. I did following things and now it's generating .usdz files correctly.
1. Launch Xcode 10 beta, then go to Preferences > Locations, change the command line tool to "Xcode 10" ( it was Xcode 9.3 before);
2. "cd" to folder where all obj and maps saved, then run
xcrun usdz_converter filename.obj filename.usdz
( I was using "xcrun /filepath-to-usdz_coverter /filepath-to-obj /filepath-to-usdz" and this doesn't work; although I can use -d to generate .usda file, wierd)
And I think what you mentioned also make sense, the obj file need to follow the certain standard. I was using Rhino3D and export as .obj, all using default settings.
Hope this helps.