Search Unity

No goes/ best practices for updates of iOS/Android apps

Discussion in 'Addressables' started by marjan, Nov 15, 2019.

  1. marjan

    marjan

    Joined:
    Jun 6, 2009
    Posts:
    563
    Hi,
    we are in the process of making an AR app using AR Foundation which shall be able to fetch updated external assets. About 40 3D models shall be loaded from a server for iOS and android. i startet with iOS. finally everything worked, even with updating external addressable and catalog on the server. (Unity 2019.2 and the latest Addressable Package)

    Then i switched the target to android, build addressable for remote use, uploaded them, did build a player. Works.

    Then i switched the target back to iOS, made an update for the remote addressable again and now my last compiled iOS app crashes because it cannot find some addressable path. said Xcode. Unfortunalty i did not copy the stack trace. I think i remember something about shaders or materials. not sure though.

    i need to read about the correct approach for doing these kind of things without shooting myself in the foot.

    A. Besides switching the target between android and iOS numerous times i changed something in the project/grafics settings. For Tier 2 and 3 i enabled "detail normal map". Is this ok or not? i did not build a new app afterwords, just made an addressables update.
    B. Is switching between targets ok?
    C. As for Unity Updates - are we stuck to the Unityversion we started the project with?
    D. If we compile a general App update - means over the app store - is this ok? what are possible caveats?
    E. i guess i should backup any working remote addressable folder completely and not just overwrite stuff on the server? recverting back should solve the issue?
    F. in the failing scenario above i only made an addressable update. in server data/ios i saw the expected files to be new. the catalog and 2 addressables. Uploading this broke the app. Interestlingly by trying to load the first asset which is NOT external but in the default local group. Huh? How can that be?
    G. In case of such a failure could i potentially fix something by editing the catalogue json?
    H. Just had a look into this json. Arrrrrggghhhhhhhhh. Is there binary data inside or what? Thats not readable in large parts for a human being.

    Clarification to avoid future hassle is very much appreciated!
     
  2. marjan

    marjan

    Joined:
    Jun 6, 2009
    Posts:
    563
    just continued to work and update some more addressable gameobjects. All of them were all ready added to groups. then made the "update a previous build" via selecting the iOS addressables_content_state.bin.
    The update progresses and i find the catalog hash and json files updated as well as some new bundle files.

    However after the upload the app not working any more. Strangly the first addressable supposed to load is an internal one. (default local group).

    also in the catalog json are several more keys which are not related to addressable at all. for example files residing in a resource folder.

    Or could i just make a new build of the remote addressables WITHOUT HAVING TO UPDATE THE APP ITSELF?
     
  3. marjan

    marjan

    Joined:
    Jun 6, 2009
    Posts:
    563
    Very strange is this entry from m_InternalIds
    old working version:
    /iOS/defaultlocalgroup_unitybuiltinshaders_19aa57953b4d87d58f8439e653d6f06d.bundle

    new failing version:
    /iOS/defaultlocalgroup_unitybuiltinshaders_04a5e1ca681e4fec5818a1e41bc6afb3.bundle