Search Unity

Prime31 Unity Plugins Officially Live! [CLOSED]

Discussion in 'iOS and tvOS' started by prime31, Aug 27, 2010.

Thread Status:
Not open for further replies.
  1. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
  2. iossif

    iossif

    Joined:
    Mar 4, 2011
    Posts:
    332
    yep, i am aware and i am not blaming you ;). just wanted to double check with other peolpe as sanity check. a few days of lag happened to me before as well but never this long.
     
  3. BigToe

    BigToe

    Joined:
    Nov 1, 2010
    Posts:
    208
    I am having this problem too. Did anyone figure this out?
     
  4. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @bigtoe, that issue sounds suspiciously like one we have seen before. If it is the same thing then the issue is Playhaven's plugin is saving the Xcode project file in the non-default format (which thankfully is discontinued for Xcode 5). Our plugins require that the Xcode project file in it's default file format just as Xcode saves it. If you provide the logs from our troubleshooting guide (http://prime31.com/docs#iosTroubleshooter) I can most likely confirm/deny that is the case.
     
  5. BigToe

    BigToe

    Joined:
    Nov 1, 2010
    Posts:
    208
    Prime,

    I have included the the log from the build below. I am assuming your guess on the problem is correct. I am curious if there is a good work around that you could point me towards?

    Thanks!


    6/20/13 2:04:03.647 PM Prime31[13919]: Processing all folders
    6/20/13 2:04:03.648 PM Prime31[13919]: folder has postprocess in it: EveryplaySDK
    6/20/13 2:04:03.648 PM Prime31[13919]: folder has postprocess in it: PlayHaven
    6/20/13 2:04:03.648 PM Prime31[13919]: --- About to kick off the Runner for Etcetera ---
    6/20/13 2:04:03.657 PM Prime31[13919]: runner failed with error: Error: could not find the buildConfigurationList when loading the Xcode project file. This error usually only occurs when a non-prime[31] Unity plugin modifies and saves the Xcode project in a non-standard format. Our post build system requires the Xcode project file to be in the default format.
    6/20/13 2:04:03.657 PM Prime31[13919]: --- Finished Etcetera ---
    6/20/13 2:04:03.657 PM Prime31[13919]: --- About to kick off the Runner for Etcetera2 ---
    6/20/13 2:04:03.663 PM Prime31[13919]: runner failed with error: Error: could not find the buildConfigurationList when loading the Xcode project file. This error usually only occurs when a non-prime[31] Unity plugin modifies and saves the Xcode project in a non-standard format. Our post build system requires the Xcode project file to be in the default format.
    6/20/13 2:04:03.663 PM Prime31[13919]: --- Finished Etcetera2 ---
    6/20/13 2:04:03.663 PM Prime31[13919]: --- About to kick off the Runner for GameCenter ---
    6/20/13 2:04:03.667 PM Prime31[13919]: runner failed with error: Error: could not find the buildConfigurationList when loading the Xcode project file. This error usually only occurs when a non-prime[31] Unity plugin modifies and saves the Xcode project in a non-standard format. Our post build system requires the Xcode project file to be in the default format.
    6/20/13 2:04:03.668 PM Prime31[13919]: --- Finished GameCenter ---
    6/20/13 2:04:03.668 PM Prime31[13919]: --- About to kick off the Runner for SocialNetworking ---
    6/20/13 2:04:03.673 PM Prime31[13919]: runner failed with error: Error: could not find the buildConfigurationList when loading the Xcode project file. This error usually only occurs when a non-prime[31] Unity plugin modifies and saves the Xcode project in a non-standard format. Our post build system requires the Xcode project file to be in the default format.
    6/20/13 2:04:03.673 PM Prime31[13919]: --- Finished SocialNetworking ---
    6/20/13 2:04:03.673 PM Prime31[13919]: --- About to kick off the Runner for StoreKit ---
    6/20/13 2:04:03.680 PM Prime31[13919]: runner failed with error: Error: could not find the buildConfigurationList when loading the Xcode project file. This error usually only occurs when a non-prime[31] Unity plugin modifies and saves the Xcode project in a non-standard format. Our post build system requires the Xcode project file to be in the default format.
    6/20/13 2:04:03.680 PM Prime31[13919]: --- Finished StoreKit ---
     
  6. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @BigToe, that is 100% without a doubt the issue as the log suggests: "This error usually only occurs when a non-prime[31] Unity plugin modifies and saves the Xcode project in a non-standard format. Our post build system requires the Xcode project file to be in the default format." One possible workaround could be the following:

    - remove their PostProcessBuildPlayer script then do a build. Our post build system will kick in and save the Xcode project file in it's default format which any other post build system can open.
    - add their PostProcessBuildPlayer script back into your project and build again

    That *should* do the trick.
     
  7. BigToe

    BigToe

    Joined:
    Nov 1, 2010
    Posts:
    208
    Haven't had stable luck yet.

    Here are my most successful steps: ( I have repeated this in different combinations about 20 times trying to find a solution )
    1) Build a new project with both post processors, I get the linking errors.
    2) Remove Playhaven post-processor... Build and append with XCode closed. Project will compile.
    3) Add Playhaven post-processor back in. Build and append with Xcode closed. Project will compile. Success!!!...Oh..Wait.
    4) I can build and append the project numerous times (With Xcode closed) as long as I don't make changes.
    4) Build and append again after making small code change. Both post-processors are still in there. Receive this error from Unity...

    "Error building Player: Exception: Append is not supported for old version of XCode project. Build your project to different location or replace existing one."

    I am unable to ever recover the Xcode project from this point. If I remove the Playhaven post-processor, I still receive the error.

    I also know that I am unable ever to use the "build and run" option with Append from within Unity It will always give me the above error even if I haven't made changes to the project.

    Any suggestions?

    Thanks
     
  8. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @BigToe, that Unity error on append is most likely due to the different project format Playhaven's plugin is using as well. Unity, our build system and any other sane post build system is expecting the default Xcode project format.

    I would just suggest leaving Playhaven out of your builds unless you are specifically testing it or ready to submit to the App Store. You may want to drop Playhaven an email letting them know that it would be beneficial for their post build system to just save the Xcode project file in the default format.
     
  9. BigToe

    BigToe

    Joined:
    Nov 1, 2010
    Posts:
    208
    @Prime and anyone else that has had difficulty combining Playhaven with Prime 31 plugs.

    This is what I received from Playhaven's support and it seems to work for now.

    >>>>Playhaven Support>>>>>
    Luckily we have discovered a way to integrate playhaven with prime31.

    Uncheck the post-processor script that comes with the PlayHaven Unity plugin when importing it, and also make sure that the only python file in the package is removed. Specifically, don't import these files:
    1. Assets/Editor/mod_pbxproj.pyc
    2. Assets/Editor/PostprocessBuildPlayer_PlayHaven
    3. Assets/Editor/PostprocessBuildPlayer

    Hope this helps anyone who is having this problem.
     
  10. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I'm having exactly this problem right now BigToe. After NOT importing those files you specified, how do you get Playhaven to work? I figure it's dragging a file or 2 into xCode and adding a couple frameworks? If you could share that it would be a life-saver!
     
  11. BigToe

    BigToe

    Joined:
    Nov 1, 2010
    Posts:
    208
    @jerotas

    The steps I posted allowed Playhaven to compile and work for my project. It doesn't seem like it should work since the post-processore script has been removed, but for now it is functioning without having to do additional steps other than configuring placements on Playhaven'd Dashboard.
     
  12. krys65

    krys65

    Joined:
    Jun 28, 2013
    Posts:
    10
  13. bawenang

    bawenang

    Joined:
    Aug 18, 2012
    Posts:
    119
    Hi, I'm trying to implement these plugins for my game.
    1. AmazonIAP from Amazon's website
    2. Prime31 Mobclix Android
    3. Prime31 Flurry Android
    4. Prime31 Admob Android
    5. Prime31 Google IAB

    The Admob is the newest addition to the game because my boss has just bought the plugin recently because Mobclix's payment is overdue for a few months now. The game can be build just fine before I added Admob. But now, I can't build it because of an invokation error. this is the error:

    AFAIK, all the plugins are the newest ones downloaded from the link given inside the email. And strangely though, when I imported the Admob package into an empty project and build it just with the demo scene, it can be built successfully. So I assume there are some conflicting plugins between the many plugins I've used.

    How do fix this error? Thanks in advance.

    EDIT:

    So, now I can't even build the project at all. Even when I have deleted the AdmobAndroid folder in the Plugins and re-importing the whole plugins to the game, except for the Admob. Can you tell me how to fix this? Thanks.

    EDIT AGAIN:

    I've deleted these jar files from the Plugins/Android: GoogleAdMobAdsSdkAndroid,jar, AdmobPlugin.jar, and GoogleAdMobAdsSdkAndroid-6.0.1.jar. And it can be built now. However it's peculiar to see that there are two GoogleAdMobAdsSdkAndroid.jar in the folder. It seems like the one from Mobclix Android plugin and Admob Android are conflicting one another.
     
    Last edited: Jul 5, 2013
  14. luis1992

    luis1992

    Joined:
    Mar 25, 2013
    Posts:
    7
    Hi prime and everyone, I have a problem when I try to export my game to Iphone. (using 3.4.5)

    The game runs fine android and the editor. But when I export it on mac, it gives the following message, then it crashes on the iphone.

    ''Application windows are expected to have a root view controller at the end of application launch''

    A lot people say that is cause by the prime31 Etcetera Plugin, but I don't have it in my project.

    Prime31 plugin I have got in my project:

    IAB , StoreKit, SocialNetworking (both Android and IOS), Chartboost (Android only)

    And I got them on Asset Store very recent. I also used the update button to import new stuff.

    Please help if you have any idea. Thank you very much.
     
  15. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @luis, none of our plugins have anything at all to do with the root view controller being set.
     
  16. Darkoo

    Darkoo

    Joined:
    Feb 4, 2013
    Posts:
    96
    How come I cant find Gamecenter plugin or Gamecenter multiplayer plugin on asset store?
     
  17. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @darkook, they are only available via our website.
     
  18. Darkoo

    Darkoo

    Joined:
    Feb 4, 2013
    Posts:
    96
    That explains it. Thank you for the quick answer.
    I had two more questions, how can one test things for iOS while developing if one douse not have the pro version of unity. Must I compile and run the game on the device to test?

    And what about VAT when buying this plugins on your website since it seems that we have to go through Paypal?

    Thanks for the help!
     
  19. Abza1989

    Abza1989

    Joined:
    Jul 17, 2012
    Posts:
    47
    Hi Prime,

    Just tried using Storekit for a new project and the requestProductData is not working at all.. Not even in the test scene..

    Any ideas to why?

    Thanks
     
  20. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @darkoo, Unity Pro is not required for mobile plugins. You of course have to compile and run on the device though. Native code runs only on the operating system it was compiled for.

    @abza, requestProductData won't just magically work. You have to setup products in iTunes Connect, setup your app ID in the developer portal, get a proper provisioning profile, etc. You need to run through all the standard setup in the Apple documentation.
     
  21. Abza1989

    Abza1989

    Joined:
    Jul 17, 2012
    Posts:
    47
    @prime ofc i know that. i have set up the products in iTunes Connect got all the Provisioning Profiles sorted. Shouldn't the test scene work? as it uses your test products.
     
  22. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @abza, the test scene will absolutely not work for you. It requires our bundle ID, provisioning profile and the app would need to be signed with our certs.
     
  23. Abza1989

    Abza1989

    Joined:
    Jul 17, 2012
    Posts:
    47
    Hi Prime..

    I dont understand how its not working now and did work for my first project.. is the a checklist i should follow of things to do before i do the build??

    Thanks
     
  24. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @abza, our documentation page not only has a list of requirements but also links to other tutorials on the web with regard to the required setup.
     
  25. sicklepickle

    sicklepickle

    Joined:
    Apr 8, 2012
    Posts:
    44
    Hi, I'm having some issues with the iAd plugin having returned this error for over a week now:

    bannerView:didFailToReceiveAdWithError: The operation couldn’t be completed. Ad inventory unavailable

    And once in a while: "Loading Throttled" or "Unknown Error"

    But never having actually displayed a test ad.

    Some details:
    -Most recent version of the plugin.
    -Using an iPhone 3GS running ios 5.0
    -Switched Location Based Services "ON" in restrictions as per some forum suggestions
    -Same thing happens when aeroplane mode is on/off, and whether or not there's a carrier signal.
    -I'm targeting the 5.0SDK and IOS 5 (Higher than the required 4.3 for iAd), with a Universal Binary.
    -All of the developer agreements and so forth have been agreed to.
    -I've made sure the phone's clock time is up to date (Synced with apple automatically)
    -Tried with a brand new app, and an update of an existing app
    -Double checked all the iTunesConnect/iAd agreements.
    -Using Unity 3.5.2f2, with stripped mscorlib.
    -Currently using a developer profile, for a non-wildcarded bundle ID.
    -Phone is not rooted.

    All I can think of that might be going wrong is:

    -iPhone 3GS is unsupported or the screen is too small (could find no evidence to support this)
    -Ads aren't served in Scotland/UK (I know they'e been known not to work in Australia for example, but the phone has displayed iAd ads previously)
    -The App itself is in the wrong state (on ITC) to display ads. (A new verson of a pre-approved app, with iAd enabled, and a brand-new unsubmitted app with iAd disabled both currently awaiting binary uploads)
    -On iad.apple.com, the app information for specific apps reads 'Information Pending' for App URL, Supported Languages, Categories and Device Compatibility. (I assumed this was the default? The tech contact and AppleID are displaying fine though)

    Further info:

    -The plugin appears to integrate properly
    -The prime31 post processor executes fine "executing prime[31] post processor…" then "cleaning up leaked objects…"
    -I have updated the build system recently (And currently have "Prime 31" and "Prime [31]" menu options in unity.
    -I have updated the plugin via the plugin manager recently (this morning)
    -The P31 iAB, Social Networking, Social Networking Android and Storekit plugins are working flawlessly.
    -Everything is blank in info.plist additions window aside from CFBundle URLSchemes -> Element 0 (e.g. fb923493485984357)
    -I've tried logging in and out of the AppStore a few times, etc
    -I added an NSLog to double check the AdManager.mm class's init() function wasn't returning null/nil. (it isn't)
    -I've exported to a brand new Xcode project several times. ( Xcode 4.2)

    If you could give me any pointers on this, it would be greatly appreciated; it's pretty frustrating at this point.

    J
     
  26. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @sickle, there isn't much you can do about Ad inventory unavailable errors. It is Apple telling you that there is no ad currently available to display. If you are getting that message then everything is definitely setup correctly.
     
  27. rextr09

    rextr09

    Joined:
    Dec 22, 2011
    Posts:
    416
    Hi, I'm trying to sync save game data with key-value storage of iCloud. I want to disable the iCloud functionality if the "Documents and Data" setting is disabled in the users iCloud settings. However, "iCloudBinding.isiCloudAvailable()" function always return true whether or not the "Documents and Data" is disabled. But the iCloud is not working when this option is disabled. So, is there a way to get whether this setting is disabled or not in the users device?
     
  28. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @rextr, you can't disable the iCloud key/value store and there is no way to know if Documents and Data is disabled for the key/value store. isiCloudAvailable tells you if iCloud is available on the device, not if it is turned on or not. There is no such API for seeing if the key/value store is on or off. Apple automatically always stores a local copy of the key/value data whether iCloud is available or not.
     
  29. rextr09

    rextr09

    Joined:
    Dec 22, 2011
    Posts:
    416
    Thanks, but I'm sure there is a way, because the game Swordigo can already recognize it. I tried opening Swordigo with "Documents and Data" both disabled and enabled. When it's enabled, the game recognized it and showed a pop-up that asks me whether or not I want to enable iCloud sync. So, how can Swordigo can recognize this setting?
     
  30. sicklepickle

    sicklepickle

    Joined:
    Apr 8, 2012
    Posts:
    44
    Thanks for the quick reply - I guess it'll have to use an AdMob failsafe.
    For the record, what am I looking for? Is it a plain advert much like AdMob's "Congrats, you're all set up"?
    Thanks.
     
  31. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @rex, that is the document store which is a totally different API. The key/value store is 100% different and as previously mentioned it stores data locally whether iCloud is on or off.
     
  32. rextr09

    rextr09

    Joined:
    Dec 22, 2011
    Posts:
    416
    Hmm, so you are saying that Swordigo uses document store instead of key-value store to synch game saves, right?
     
  33. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @rextr, I am saying the only API Apple provides that will ever let you know if iCloud is enabled or not is the document store. When you attempt to get the iCloud document store directly Apple will either return it if iCloud is enabled or fail if iCloud is not enabled.
     
  34. rextr09

    rextr09

    Joined:
    Dec 22, 2011
    Posts:
    416
    @prime31, sorry for my lack of knowledge about these. I just want to achive the same functionality of Swordigo. Can you explain simply how did they achieve this? And how can I achieve this using your API? Thanks.
     
  35. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @rextr, I have never played Swordigo so I cannot say what they did. Based on what you are saying I assume they used the document store. See the P31CloudFile class for the details on how it works.
     
  36. rextr09

    rextr09

    Joined:
    Dec 22, 2011
    Posts:
    416
    I have checked P31CloudFile, nothing useful there. After some research about the Apple's iCloud API, I found out that it's actually possible to detect if the user disables "Documents and Data" in the iCloud settings. The following is taken from the Apple documentation:

    "If a user signs out of iCloud, such as by turning off Documents Data in Settings, the ubiquityIdentityToken method returns nil. To enable your app to detect when a user signs out and signs back in, register for changes in iCloud account availability. In your app’s launch sequence, add an app object as an observer of the NSUbiquityIdentityDidChangeNotification notification..."

    Here is the link: https://developer.apple.com/library...s.html#//apple_ref/doc/uid/TP40012094-CH6-SW1

    So, we need to access "ubiquityIdentityToken" to recognize whether Documents Data is enabled or not. Also we need to listen "NSUbiquityIdentityDidChangeNotification" event, which is fired when this setting is changed. Are these implemented in your API?
     
  37. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @rextr, unfortunately, the new API is iOS 6+ only. We will get it added but you still need to beware that it will only work on iOS 6+.
     
  38. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
  39. rextr09

    rextr09

    Joined:
    Dec 22, 2011
    Posts:
    416
    @prime31, big thanks for the quick update. I will check it tomorrow.
     
  40. echoic

    echoic

    Joined:
    Apr 29, 2011
    Posts:
    89
    Hi Prime,

    I have my storekit plugin working okay, but am seeing one recurring issue. I can purchase any product in my store, at which point the user is returned to the title screen when the purchase is successful. But if I return to the store and attempt purchase of another product, I get the following error:

    NullReferenceException
    at buyStuff.purchaseSuccessful (.StoreKitTransaction aPurchase) [0x00000] in <filename unknown>:0
    at (wrapper delegate-invoke) System.Action`1<StoreKitTransaction>:invoke_void__this___StoreKitTransaction (StoreKitTransaction)
    at StoreKitManager.productPurchased (System.String json) [0x00000] in <filename unknown>:0

    (Filename: Line: -1)


    Any ideas? :/ Thank you!
     
  41. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @echoic, errors like that are almost always due to not balancing registering with an event (+=) with due registering (-=).
     
  42. echoic

    echoic

    Joined:
    Apr 29, 2011
    Posts:
    89
    Awesome, fixed. Thank you!
     
  43. GermyGames

    GermyGames

    Joined:
    May 20, 2012
    Posts:
    38
    Is there a way to make the plugins append to an Xcode project instead of forcing a new one to be generated? Normally when you build for iOS, you get the option to append to, or replace the Xcode project. We have a lot of native code in our game, and having to make a bunch of changes in Xcode after our old project's been blown out is a time sink.
     
  44. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @greatbigjerk, once you export the initial Xcode project then you can do append builds as much as you want.
     
  45. Sam-K

    Sam-K

    Joined:
    Mar 23, 2013
    Posts:
    27
    @prime 31
    I also have the same problem with the plugins. i.e. error runner failed with error: Error Could not find configurationList
    Attached is the screenshot from unity player log. I'm using IAP and SocialNetworking plugin.
    $Screen Shot 2013-07-18 at 11.08.16 AM.png

    Other plugins(playhaven tapjy) are working fine.
    One thing more when I use Storekit alone nothing else it works fine and a dialogue is show after build completion like mentioned in you documention under general plugin information.
    But as soon as i add any other plugin playhaven/tapjoy it stops working and gives the same error.
     
  46. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @sam, if you expand the error line you will most likely see a note that the Xcode project file is not in it's default file format. Our plugins can only load and save the Xcode project file in the format that Apple uses. There are some third party plugins that don't "play nice" and they save the Xcode project file in a non-default format. If you leave only prime31 plugins in your project it will build fine.
     
  47. rextr09

    rextr09

    Joined:
    Dec 22, 2011
    Posts:
    416
    @prime31, do you plan to include Microsoft Store Plug-in in the IAP Combo Plug-in?
     
  48. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @rex, no. there would need to be about 500x more demand for anything Windows Store before it would end up in a combo.
     
  49. Moonjump

    Moonjump

    Joined:
    Apr 15, 2010
    Posts:
    2,572
    I have been using your Game Center plugin for some time. Previous projects were done with older versions that included the GameCenterManager prefab.

    Today I have added the plugin to my current project using the latest version. I am running Unity 3.5.7 and use Javascript.

    Similar code (I previously had onPlayerFailedToAuthenticate) to below has always worked in function Awake:

    Code (csharp):
    1. if  (GameCenterBinding.isGameCenterAvailable ())
    2. {
    3.     GameCenterManager.playerAuthenticated += playerAuthenticated;
    4.     GameCenterManager.playerFailedToAuthenticate += playerFailedToAuthenticate;
    5.     GameCenterBinding.authenticateLocalPlayer ();
    6. }
    But with the latest version I am getting errors that playerAuthenticated playerFailedToAuthenticate are unknown identifiers.

    What has changed? And what do I do to correct it?
     
  50. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @moon, they most definitely exist. See the image below or the demo scene which contains an example of listening to the event.

    $Screen Shot 2013-07-20 at 10.16.28 AM.png
     
Thread Status:
Not open for further replies.