playMaker

Author Topic: iOS problematic build  (Read 7103 times)

lkmad

  • Beta Group
  • Playmaker Newbie
  • *
  • Posts: 24
iOS problematic build
« on: May 03, 2016, 03:00:24 PM »
Built my game with Unity, Playmaker (ArrayMaker & Datamaker) and Easy Save 2. Windows / Mac and Android builds were perfect. Got to iOS and nothing seems to work. I've spent a few days trying to even get the build on my iPhone, but now that I have, nothing is working properly.

I used Get / Set Property a fair bit (wasn't aware we couldn't and some actions don't exist) - will make a point of avoiding this in the future, but I've used Linker Wizard to create link.xml and fix this retroactively.

I however get this error in XCode when I'm running the game on my iPhone:

Quote
\
LinkerData is missing an instance, please create one first in your assets from the create menu: Assets/Create/PlayMaker/Create Linker Wizard\
HutongGames.PlayMaker.Fsm:UpdateStateChanges()\
HutongGames.PlayMaker.Fsm:Start()\
HutongGames.PlayMaker.Fsm:ProcessEvent(FsmEvent, FsmEventData)\
HutongGames.PlayMaker.Fsm:Event(FsmEventTarget, FsmEvent)\
 \
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 65)\

Then I also get a lot of:

Quote
\
ExecutionEngineException: Attempting to call method 'System.Reflection.MonoProperty::GetterAdapterFrame' for which no ahead of time (AOT) code was generated.\
  at System.Reflection.MonoProperty+GetterAdapter.Invoke (System.Object _this) [0x00000] in <filename unknown>:0 \
  at HutongGames.PlayMaker.ReflectionUtils.GetMemberValue (System.Reflection.MemberInfo member, System.Object target) [0x00000] in <filename unknown>:0 \
  at HutongGames.PlayMaker.ReflectionUtils.SetMemberValue (System.Reflection.MemberInfo[] memberInfo, System.Object target, System.Object value) [0x00000] in <filename unknown>:0 \
  at HutongGames.PlayMaker.FsmProperty.SetValue () [0x00000] in <filename unknown>:0 \
  at HutongGames.PlayMaker.FsmState.OnUpdate () [0x00000] in <filename unknown>:0 \
  at HutongGames.PlayMaker.Fsm.UpdateState (HutongGames.PlayMaker.FsmState state) [0x00000] in <filename unknown>:0 \
  at HutongGames.PlayMaker.Fsm.Update () [0x00000] in <filename unknown>:0 \
 \

and finally:

Quote
\
2016-05-03 20:50:41.282 Panmorphia[4418:2549643] App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.\
LoadLevel: 01 Start\
HutongGames.PlayMaker.Fsm:UpdateStateChanges()\
HutongGames.PlayMaker.DelayedEvent:Update()\
HutongGames.PlayMaker.Fsm:UpdateDelayedEvents()\
HutongGames.PlayMaker.Fsm:Update()\
 \

Any ideas on what is happening?

I'm building with IL2CPP, .NET 2.0, Disabled Stripping Level (though I've tried the other stripping levels and had similar issues). Slow and Safe (Script Call Optim). Tried building on Win 7 > moving folder, now I'm building on a Mac. Just nothing seems to work from my Playmaker scripts.


This is my link.xml file:
Code: [Select]
<linker>
  <assembly fullname="mscorlib">
    <namespace fullname="System.Security.Cryptography" preserve="all" />
    <namespace fullname="System.IO.Directory" preserve="all" />
  </assembly>
  <assembly fullname="UnityEngine">
    <type fullname="UnityEngine.Camera" preserve="all" />
    <type fullname="UnityEngine.AudioSource" preserve="all" />
    <type fullname="UnityEngine.GameObject" preserve="all" />
    <type fullname="UnityEngine.SpriteRenderer" preserve="all" />
    <type fullname="UnityEngine.Transform" preserve="all" />
    <type fullname="UnityEngine.Collider2D" preserve="all" />
    <type fullname="UnityEngine.BoxCollider2D" preserve="all" />
    <type fullname="UnityEngine.RectTransform" preserve="all" />
    <type fullname="UnityEngine.PolygonCollider2D" preserve="all" />
    <type fullname="UnityEngine.ParticleSystem" preserve="all" />
    <type fullname="UnityEngine.Animator" preserve="all" />
    <type fullname="UnityEngine.CircleCollider2D" preserve="all" />
  </assembly>
  <assembly fullname="UnityEngine.UI">
    <type fullname="UnityEngine.UI.Text" preserve="all" />
    <type fullname="UnityEngine.UI.Image" preserve="all" />
  </assembly>
</linker>

Hoping someone has an idea on what's going on and what I can do to make my game work.  :(

Thanks!

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15500
  • Official Playmaker Support
Re: iOS problematic build
« Reply #1 on: May 05, 2016, 03:05:36 AM »
Hi,

 Ok, let's tackle this in order.

 The first error tells you what to do, have you done this and created the missing asset? does the error go away after?

Bye,

 Jean

lkmad

  • Beta Group
  • Playmaker Newbie
  • *
  • Posts: 24
Re: iOS problematic build
« Reply #2 on: May 05, 2016, 04:07:26 AM »
Hi Jean,

If the missing asset is the Linker Wizard.asset, then I haven't deleted it. It's just sitting in the asset folder (only turned debug off). I'm also confused why it's looking for it in the game, if its only purpose is to create link.xml?

Also, I noticed that Linker Wizard, when you delete it - it turns Debug on. If you open the project in another Unity, again the debug is on (even if you haven't deleted it & turned it off initially). Why is it doing this?

Thanks,
Lydia


Edit: Sidenote - For the UnusedBytecodeStripper2.exe error (when using .Net 2.0 subset), it seems to happen after I added DataMaker. Is there something that needs to be updated in link.xml? I am not even using it in the 1 scene example and it still throws that error.
« Last Edit: May 05, 2016, 10:41:51 AM by lkmad »

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15500
  • Official Playmaker Support
Re: iOS problematic build
« Reply #3 on: May 06, 2016, 02:08:03 AM »
Hi,

Let me see if I can improve the situation so that it's totally disabled when published.

 Bye,

 Jean

memetic arts

  • Full Member
  • ***
  • Posts: 141
Re: iOS problematic build
« Reply #4 on: May 11, 2016, 01:10:43 AM »
I get the "missing linker" message every time I open my project, though it appears as a warning, not a full-on error. Is it necessary to run it every time if there is a linker.xml file present, or is this what you are going to check into, Jean?

thx

rr

lkmad

  • Beta Group
  • Playmaker Newbie
  • *
  • Posts: 24
Re: iOS problematic build
« Reply #5 on: May 12, 2016, 12:32:48 PM »
Linker Wizard is a real problem for me too. I'm almost convinced I can make the iOS build work, however two problems:

In Unity Editor 5.3.4 - debug keeps turning on all the time - even if Linker Wizard is off. Can be fixed by pressing 'turn on' then 'turn off'.

Inside the test build, I keep seeing Linker Wizard error messages in Xcode that it can't find it. Every single scene. Why is it looking for it?! I wish we could add it, do the linker.xml job and then delete it. If we need to redo the linker.xml then it can be readded?

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15500
  • Official Playmaker Support
Re: iOS problematic build
« Reply #6 on: May 13, 2016, 02:13:31 AM »
hi,

 Yes, I am looking into this currently.

Bye,

 Jean

memetic arts

  • Full Member
  • ***
  • Posts: 141
Re: iOS problematic build
« Reply #7 on: September 18, 2016, 02:20:17 AM »
Greetings . .  . Jean, did you ever find time to investigate? Would be great to get this resolved, I'm still getting linker wizard messages all the time (though not errors)..

Thx

Richard

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15500
  • Official Playmaker Support
Re: iOS problematic build
« Reply #8 on: September 20, 2016, 01:06:22 PM »
hi,

 Thanks for the bump. 1.8.3 is out, I'll upgrade the linker wizard to 1.8.3 and improve it so that it doesn't spam the log anymore

 Bye,

 Jean

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15500
  • Official Playmaker Support
Re: iOS problematic build
« Reply #9 on: September 21, 2016, 03:48:44 AM »
Hi,

Updated LinkerWizard on the Ecosystem, you should not get spammed anymore.

 Don't forget to turn off "debug" inside the linker wizard in your project if you have one.

The update features two new addition, callMethod and CallStaticMethod, so these actions will also register now to the linker.

Let me know how it goes.

Bye,

 Jean