Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by kk93 · Aug 26, 2014 at 02:52 PM · iosunity everyplay

Everyplay iOS integration issue

Hello,

I am trying to integrate Everyplay to my iOS game, and I am having some integration issue. I emailed Everyplay regarding the issue, but I have yet to receive a reply, so I decided to try the Unity Answers.

The main problem seems to be summarized by the following error:

ArgumentException: An element with the same key already exists in the dictionary. System.Collections.Generic.Dictionary`2[TKey,TValue].Add (.TKey key, .TValue value) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:404) Everyplay.XCodeEditor.PBXParser.ParseDictionary () (at Assets/Editor/Everyplay/XCodeEditor/PBXParser.cs:184) Everyplay.XCodeEditor.PBXParser.ParseValue () (at Assets/Editor/Everyplay/XCodeEditor/PBXParser.cs:144) Everyplay.XCodeEditor.PBXParser.ParseDictionary () (at Assets/Editor/Everyplay/XCodeEditor/PBXParser.cs:182) Everyplay.XCodeEditor.PBXParser.ParseValue () (at Assets/Editor/Everyplay/XCodeEditor/PBXParser.cs:144) Everyplay.XCodeEditor.PBXParser.Decode (System.String data) (at Assets/Editor/Everyplay/XCodeEditor/PBXParser.cs:49) Everyplay.XCodeEditor.XCProject..ctor (System.String filePath) (at Assets/Editor/Everyplay/XCodeEditor/XCProject.cs:81) EveryplayPostprocessor.ProcessXCodeProject (System.String path) (at Assets/Editor/Everyplay/Scripts/EveryplayPostprocessor.cs:123) EveryplayPostprocessor.PostProcessBuild_iOS (System.String path, System.String clientId) (at Assets/Editor/Everyplay/Scripts/EveryplayPostprocessor.cs:75) EveryplayPostprocessor.OnPostProcessBuild (BuildTarget target, System.String path) (at Assets/Editor/Everyplay/Scripts/EveryplayPostprocessor.cs:24) UnityEditor.HostView:OnGUI()

which results in the Everyplay folder to not appear on the XCode navigator, and, as a result, makes XCode throw the error "EveryplayGlesSupport.h file not found."

Now, the former error is thrown from the following lines of code in PBXParser class:

                     case DICTIONARY_ASSIGN_TOKEN:
                         valueObject = ParseValue();
                         dictionary.Add( keyString, valueObject );
                         break;

Now, I know nothing about iOS development, so I've done what little experimentations that I could, which were to change the code to several variations of the following:

                     case DICTIONARY_ASSIGN_TOKEN:
                         valueObject = ParseValue();
                         if (!dictionary.ContainsKey (keyString))
                         {
                             dictionary.Add( keyString, valueObject );
                         }
                         else
                         {
                             dictionary[keyString] = valueObject;
                             Debug.Log ("#### DUPLICATE ####");
                             Debug.Log (keyString);
                         }
                         break;

Unfortunately, this results in XCode not being about to open the build folder with the following pop-up error message:

[My Project] cannot be opened because the project file cannot be parsed.

I am currently using Google Play Game Services for Unity (https://github.com/playgameservices/play-games-plugin-for-unity), AdColony, and Everyplay - and am certain that this has something to do with the problem I am facing.

What are some things I can do to (a) zero-in on what the problem is, and/or (b) fix this issue?

Thanks!

EDIT:

So, on further investigation, I noticed that lines on porject.pbxproj seem... out of order(?) when I edit PBXParser class with the line above.

alt text

Does this cause XCode to not be able to open the project?

screen shot 2014-08-26 at 11.34.35 am.png (248.9 kB)
Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image ababab5 · Sep 05, 2014 at 06:10 PM 0
Share

I have the same sort of issue, it's new, it worked .. yesterday! :(

$$anonymous$$y error message :

$$anonymous$$eyNotFoundException: The given key was not present in the dictionary. System.Collections.Generic.Dictionary`2[T$$anonymous$$ey,TValue].get_Item (.T$$anonymous$$ey key) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:150) Everyplay.XCodeEditor.XCProject..ctor (System.String filePath) (at Assets/Editor/Everyplay/XCodeEditor/XCProject.cs:93) EveryplayPostprocessor.ProcessXCodeProject (System.String path) (at Assets/Editor/Everyplay/Scripts/EveryplayPostprocessor.cs:124) EveryplayPostprocessor.PostProcessBuild_iOS (System.String path, System.String clientId) (at Assets/Editor/Everyplay/Scripts/EveryplayPostprocessor.cs:76) EveryplayPostprocessor.OnPostProcessBuild (BuildTarget target, System.String path) (at Assets/Editor/Everyplay/Scripts/EveryplayPostprocessor.cs:24) UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by pmjo · Sep 08, 2014 at 05:55 AM

The problem seems to be the Adcolony plugin. It will do some changes to the xCode project which are not readable for the xCode editor.

I found a workaround for this issue:

  1. Open the AdColonyPostProcess.cs file

  2. Change the 200 on row 302 to 1081 like this: [PostProcessBuild(1081)] // <- this is where the magic happens, this attribute triggers unity to call this method when the build process has finished

This will make AdColony plugin to run post process stuff after Everyplay so the xCode project will be still readable for Everyplay.

Comment
Add comment · Show 6 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image kk93 · Sep 10, 2014 at 01:00 AM 0
Share

I LOVE YOU!!!!!!!!!!

Just one question: How did you get the number 1081?

avatar image pmjo · Sep 10, 2014 at 09:53 AM 0
Share

Everyplay's priority is currently 1080 ;)

avatar image ababab5 · Sep 11, 2014 at 05:54 PM 0
Share

Hi,

I still have this issue :

$$anonymous$$eyNotFoundException: The given key was not present in the dictionary. System.Collections.Generic.Dictionary`2[T$$anonymous$$ey,TValue].get_Item (.T$$anonymous$$ey key) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:150) UnityEditor.XCodeEditor.XCProject..ctor (System.String filePath) (at Assets/Facebook/Editor/iOS/third_party/XCodeEditor-for-Unity/XCProject.cs:95) UnityEditor.FacebookEditor.XCodePostProcess.OnPostProcessBuild (BuildTarget target, System.String path) (at Assets/Facebook/Editor/FacebookPostprocess.cs:25) UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

AND

$$anonymous$$eyNotFoundException: The given key was not present in the dictionary. System.Collections.Generic.Dictionary`2[T$$anonymous$$ey,TValue].get_Item (.T$$anonymous$$ey key) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:150) Everyplay.XCodeEditor.XCProject..ctor (System.String filePath) (at Assets/Editor/Everyplay/XCodeEditor/XCProject.cs:93) EveryplayPostprocessor.ProcessXCodeProject (System.String path) (at Assets/Editor/Everyplay/Scripts/EveryplayPostprocessor.cs:124) EveryplayPostprocessor.PostProcessBuild_iOS (System.String path, System.String clientId) (at Assets/Editor/Everyplay/Scripts/EveryplayPostprocessor.cs:76) EveryplayPostprocessor.OnPostProcessBuild (BuildTarget target, System.String path) (at Assets/Editor/Everyplay/Scripts/EveryplayPostprocessor.cs:24) UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

I'm losing my $$anonymous$$d .... 1 week on it :'(

Thanks a lot for your help !!

(I'm using Chartboost 5.0, Facebook 6.0 and Everyplay)

Thanks !

avatar image kk93 · Sep 14, 2014 at 02:09 PM 0
Share

pmjo, the problem has reoccured since the new update. Can you tell us how to find Everyplay's priority?

ababab5, I assume that Charboost or Facebook has a PostProcessing script just like AdColony and Everyplay has. I think it would be best for you to find those scripts, find the line similar to the one pmjo pointed out, and change the integer value. As stated above, it seems that Everyplay's priority has changed since the last update. I've emailed Everyplay asking how to find the priority on our own, so hopefully they will get back to me soon. I will keep you posted.

avatar image kk93 · Sep 14, 2014 at 02:55 PM 0
Share

ababab5, the Everyplay's priority seems to still be 1080. So yeah, I would suggest trying to replicate the solution provided by pmjo - if it doesnt work out, I think it would be best for you to contact charboost and facebook.

Show more comments

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

24 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

The name 'Joystick' does not denote a valid type ('not found') 2 Answers

Conflict between UnityAds and Everyplay SDK 2 Answers

Everyplay for Unity3D - Error for building on iOS 0 Answers

Everyplay — not working 2 Answers

What's the best way to confirm a consumable iOS purchase? 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges