Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

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. synapsemassage

    synapsemassage

    Joined:
    Jul 27, 2009
    Posts:
    334
    Hi Prime,

    I'm still using MoPub Plugin and I've seen problems in the last days. Means ads were not requested nor shown except iAds. So I downloaded the latest plugin version (April 20th) and submitted to the AppStore yesterday evening. As of today it seems that MoPub is in trouble or something, actually today all my networks except one disappeared from my account, the only one left is Millennial (native). MoPub is notified but haven't heard from them yet. Unfortunately millennial is bugged as it kills accelerometer in my game so I had it disqualified previously (millennial support also notified but I never heard back ). Yesterday I resumed millennial native as I completely forgot about the accelerometer problem but will disable it now. Just want to let you (and others) know about this. Also my question: Can you confirm the millennial bug killing the accelerometer functionality? Is it save to delete the millennial sdk without breaking anything as it is part of the plugin package?
     
    Last edited: Apr 24, 2012
  2. jsr2k1

    jsr2k1

    Joined:
    Aug 11, 2010
    Posts:
    118
    Hello, where can I find the last version of NativeToolkit available?
    I need to compile a project with Unity3D 3.5.1 and XCode 4.3.2
    Thanks,
    Joel
     
  3. Bwohaha

    Bwohaha

    Joined:
    Nov 17, 2011
    Posts:
    4
    I am using GameCenter and StoreKit plugins.
    The first time I've added them they've integrated themselves into xCode project just fine, but now they won't.
    I know that the problem lies in postprocessBuildPlayer scripts not running(no Finder pop-up window that says that they've been integrated), but I don't know how to fix it. I can't run them manually as far as I know.
    I saw a similiar problem and this fix: "chmod a+x PostprocessBuildPlayer*". It didn't work. Completely wiping out the plugins and checking them out of SVN helped me once, but isn't there an easier way to do this?

    Any ideas?
     
  4. ridil

    ridil

    Joined:
    Apr 24, 2012
    Posts:
    31
    I would like to add encryption to the files being stored on iCloud. I am currently encrypting the PlayerPrefs file before writing it out in an override class however my client wants iCloud support. I purchased your iCloud plugin but it wants to replace the PlayerPrefs class with the P31Prefs class, which is fine except that I cannot encrypt the file before it saves to the cloud because the file writing is handled externally. In my current implementation, the PlayerPrefs hashtable is serialized as a byte[] then saved out, when the game loads the file (if it exists) it is then deserialized back into a readable hashtable. How can I make this work with your plugin? Also, I do not ever, at any point want to store an un-encrypted save file.

    Thank you,
    Ridil
     
  5. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @dev, this is the iOS forum so in the future please keep it on topic. those plugins will work fine together. We currently do not offer a Tapjoy Android plugin so you will have to use their official, less feature-rich version.


    @synnapse, you will want to check with Millenniel with regard to any bugs in their SDK. If you aren't using Millennial it is safe to delete the adapter files and the SDK.


    @bwo, SVN fully and completely obliterates file permissions/flags. If you don't check the post process scripts into SVN they will continue to work. If it isn't too late I highly recommend using one of the modern version control systems that doesn't wreak havoc on the file flags like Git, Mercururial or Perforce.



    @ridil, there is no rule that you have to use the P31Prefa. You can certainly just use the same underlying methods that it uses and make your own class that encrypts/decrypts vales stored.


    @jsr, NativeToolkit was discontunued months ago.
     
  6. ridil

    ridil

    Joined:
    Apr 24, 2012
    Posts:
    31
    Hello again,

    I appreciate your previous response however I have spent most of the day trying to get the iCloud to work manually using your iCloudBinding class to no avail. I'm trying to store my encrypted playerPrefs.txt file on the iCloud (if possible) when the app closes. When the app loads I want to check if the save file exists locally (using System.IO.File.Exists(filePath)) and if it doesn't check if the file exists on the iCloud. If it exists on the iCloud then I want it to download the file. I am currently using iCloudBinding.isFileInCloud(fileName) to do this but nothing downloads. The game will wait (up to 30 seconds before timeout) for the file to download and once it exists, checking using System.IO.File.Exists(filePath), the game will deserialize the file into the playerPrefs hashtable. If the file doesn't exist on the cloud or there is no internet connection, no iCloud account (pre 5.01) or no local file then the game will create a new save file which on app close will serialize and try to store on the iCloud if possible as well as save locally.

    Am I going about this completely wrong? My primary issue is the inability to add files to the iCloud (iCloudBinding.addFile throws Cocoa error 516 which according to forums means the file already exists). Also, though this may be caused by the previous issue, I am unable to retrieve files from the cloud (only way i know of is using iCloudBinding.isFileDownloaded(fileName)).

    Sorry if this is long-winded but im pulling my hair out here. Any help would be greatly appreciated.

    Thanks,
    Ridil
     
  7. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @ridil, the iCloud API is almost entirely asynchronous (besides the isFileDownloaded and isFileInCloud methods). You won't be able to just do a check at startup and let it go from there. You can, however use a combination of the isFileInCloud and isFileDownloaded method at startup. If isFileDownloaded returns false, it will kick off a download for you which will eventually get around to firing the documentStoreUpdatedEvent with any files that were downloaded. Once a file is downloaded the P31CloudFile.read* methods will then be able to get the contents of the file. Unless you know the iCloud API in depth I wouldnt recommend trying to use the System.IO.File class. The P31CloudFile class hides the implementation details for you of reading/writing the files. If you use the P31CloudFile class you don't ever have to add files to iCloud. It will handle the details for you. The P31CloudFile class will also fallback to local storage automatically in the event that iCloud isn't available.
     
  8. jsr2k1

    jsr2k1

    Joined:
    Aug 11, 2010
    Posts:
    118
    Hi, could somebody send me the last version available of the Native Toolkit (before it was discontinued).
    I need to link an old project with XCode 4.3.2
    Thanks in advance,
    Joel
     
  9. FmRyu

    FmRyu

    Joined:
    Apr 18, 2012
    Posts:
    6
    Hi,

    how can I get callback after the user's interaction with Flurry Offers(App Circle)?
     
  10. Michael-ClockStone

    Michael-ClockStone

    Joined:
    Jan 18, 2012
    Posts:
    90
    We are using your SocialNetwork plugin to post to Facebook. We have a free and a premium version of our iOS app and we would like to post to the same facebook page from both apps. Is that possible? Currently the authorization web page always return to the either ONE of these apps (either free or pro). In other words: If a user has both versions installed, tries to post from the full version, the free version is launched after the authorization screen.
    Thanks for your help, Michael
     
  11. devGuillaume

    devGuillaume

    Joined:
    Feb 10, 2012
    Posts:
    23
    @prime Sorry! I only realized reading your post that we were in the iOS Development section of the forums... Thank you for the answers!
     
  12. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @fmryu, There are no callbacks available. What specifically were you looking for?


    @clock, see Facebooks documentation with regard to URL suffixes. That is what you will need to setup.
     
  13. Michael-ClockStone

    Michael-ClockStone

    Joined:
    Jan 18, 2012
    Posts:
    90
    I don't understand. I suppose URL suffixes are passed to Facebook by your SocialNetworking plugin (iOS) and as such I don't have control over that. What exactly do I have to do? Please help - this is the only issue preventing our iOS game to submit to the asset store and our publisher is urging us to find a solution quickly.
     
  14. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @clock, you need to follow the guide on Facebook and setup your URL suffixes in their web portal.
     
  15. Michael-ClockStone

    Michael-ClockStone

    Joined:
    Jan 18, 2012
    Posts:
    90
    I read the Facebook docu. I don't know objective-C so I don't fully understand what's ging on. It seems though that that the native initWithAppId function that should receive the urlSchemeSuffix is called by your plugin and I don't know how to configure your SocialNetworking plugin to pass the url suffix I set in the Info.plist additions.
     
  16. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @clock, from the docs:


    // Opens the Facebook single sign on login in Safari or the official Facebook app with the requested permissions
    public static void loginWithRequestedPermissions( string[] permissions, string urlSchemeSuffix )
     
  17. jesusluvsyooh

    jesusluvsyooh

    Joined:
    Jan 10, 2012
    Posts:
    377
    for the iAd plugin, instead of destroying an ad for a scene or for a bit, which i currently have it do, then it starts the add again when ready

    is there a hide and show function?
     
  18. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @jesus, Apples guidelines forbid hiding an iAd.
     
  19. jesusluvsyooh

    jesusluvsyooh

    Joined:
    Jan 10, 2012
    Posts:
    377
    thank you, destroying and re-creating it is then :)

    edit: its due to the game centre achievements and leader board pop up page, the 'done' button gets hidden behind the ads so you can't close them lol

    edit: have you come across a way around this at all? :)
     
    Last edited: Apr 25, 2012
  20. tasadar

    tasadar

    Joined:
    Nov 23, 2010
    Posts:
    290
    is there a prime31 forum that we can search answers instead of digging a hundred pages of posts?
     
  21. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @tasadar, there is no specific forum. I personally just made a Google custom search for the Unity forum (takes about 30 seconds to make) and it works MUCH better than the standard search.
     
  22. God-at-play

    God-at-play

    Joined:
    Nov 3, 2006
    Posts:
    330
    I seem to have some problems with the restoreCompletedTransactions() functionality of StoreKit, most of all an app freeze after cancelling the restore:

    First of all, there is code on the first page of this thread that has the function getting called on app start the first time the app is run. The Prime31 docs also state "DO NOT call this on every launch." Those two things together are misleading, because you get the idea that calling restoreCompletedTransactions is ok if done only on the first launch using PlayerPrefs to check. But my app just got rejected for using that code. Apparently Apple is now *requiring* developers to have a restore button and never restore at first start instead of just recommending it. I think it'd be in your best interest to add a comment to that page 1 code, in addition to updating your documentation to say that restoreCompletedTransactions should not be run at start at all since the app will almost certainly be rejected for that.

    Second, now that I have a restore button that calls restoreCompletedTransactions, I notice that when I cancel the login form that pops up, the app freezes for ~60 seconds before my fail alert pops up. If I enter my password and click OK instead, it does not freeze and succeeds after just a couple seconds. Here's my code:
    Code (csharp):
    1. // snip...
    2. else if (buttons[buttonHitID].CompareTag("RestoreButton"))
    3. {
    4.     // This is async, so if the user bought anything the purchaseSuccessful
    5.     // event will get triggered and we should give them the product at that time
    6.     StoreKitBinding.restoreCompletedTransactions();
    7. }
    Code (csharp):
    1. void restoreTransactionsFailed ( string error )
    2. {
    3.     Debug.Log( "restoreTransactionsFailed: " + error );
    4.        
    5.     EtceteraBinding.showAlertWithTitleMessageAndButton("Restoring Purchase Failed", "Check your data connection, your password, or make a purchase first.", "OK");
    6. }  
    7. void restoreTransactionsFinished ()
    8. {
    9.     Debug.Log( "restoreTransactionsFinished" );
    10.        
    11.     EtceteraBinding.showAlertWithTitleMessageAndButton("Restoring Purchase Succeeded", "Your purchase has been restored.", "OK");
    12. }
    The "restoreTransactionsFailed" output gets called after the app responds again, at the same time as the alert, so it is not hanging on showAlertWithTitleMessageAndButton.

    So restoreCompletedTransactions does not seem to be async after cancelling the password input, or something...
     
    Last edited: Apr 26, 2012
  23. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @god, it sounds like good old Apple has changed their policies without documenting the changes again. We will update the docs today. As for the freeze you are getting there isn't anything we can do. You will want to open a bug report with Apple for that. Once the restore call is made it is entirely in Apples code from there on out.
     
  24. God-at-play

    God-at-play

    Joined:
    Nov 3, 2006
    Posts:
    330
    No kiddin, I was pretty surprised. The wording of the email explicitly mentioned you shouldn't prompt a password right away, which I can see, but requiring a button was the surprising part.

    We thought based on the wording that it was just a recommendation, but my client talked with Apple directly and they were adamant about using a button. So my guess is those who don't use one and aren't rejected are lucky.

    Question about restoring:
    I noticed that there are events you can subscribe to for pressing an Etcetera alert button. Is that possible with the StoreKit alerts, or does Apple not provide those callbacks?
     
  25. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @God, apple doesnt provide access to the standard UIAlertView delegate methods. They own the alert view that is shown and there is no access to it.
     
  26. God-at-play

    God-at-play

    Joined:
    Nov 3, 2006
    Posts:
    330
    Yeah...that's what I was afraid of. Thanks for the quick response!
     
  27. ridil

    ridil

    Joined:
    Apr 24, 2012
    Posts:
    31
    Using P31CloudFile methods. Im attempting to write a game save file out using P31CloudFile.writeAllBytes and read it in using P31CloudFile.readAllBytes. This is not working however as when I close the app on my iPad I get the following console log:

    Apr 26 15:55:50 unknown librariand[5210] <Error>: item update observer error: Connection invalid
    Apr 26 15:55:50 unknown librariand[5210] <Error>: client connection is invalid: Connection invalid

    I have checked the entitlements file to ensure the container id's are correct:

    Code (csharp):
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    3. <plist version="1.0">
    4. <dict>
    5.     <key>com.apple.developer.ubiquity-container-identifiers</key>
    6.     <array>
    7.         <string> [10 digit team id].com.myStudio.myAppName</string>
    8.     </array>
    9.     <key>com.apple.developer.ubiquity-kvstore-identifier</key>
    10.     <string> [10 digit team id].com.myStudio.myAppName</string>
    11.     <key>get-task-allow</key>
    12.     <false/>
    13. </dict>
    14. </plist>
    15.  
    The file writes out locally fine but nothing writes to the cloud. I have also confirmed the following:
    - I am signed in to an iCloud enabled account.
    - I receive a return of True when calling to iCloudBinding.isiCloudAvailable()
    - P31CloudFile.writeAllBytes(fileName, serializedOutput); // This will be an encrypted file. serializedOutput is a byte[] and fileName does not include a full path to the file. Local writing works fine but nothing writes to the cloud.
    - The app ID is iCloud enabled.
    - The provisioning profile includes the correct container / key information as far as I can tell.

    Any advice would be greatly appreciated.

    Thanks,
    Ridil
     
  28. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Ridil, the P31Prefs class has a separate bool to check for the availability of the document store: iCloudDocumentStoreAvailable. You should check to see if that is true as well. You can then use the isFileInCloud method to see if iCloud has added it yet.
     
  29. ridil

    ridil

    Joined:
    Apr 24, 2012
    Posts:
    31
    Is iCloudDocumentStoreAvailable an asynchronous function? If so, do I need to wait for it to become true? I am only returning false when the app launches and iCloudBinding.isiCloudAvailable() returns true.

    Thanks,
    Ridil
     
  30. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @Ridil, it does take some time so it won't be set at launch. If you need to know at launch you can call iCloudBinding.documentStoreAvailable() which can be a bit slow so you will want to make sure you dont call it and block anything important.
     
  31. ridil

    ridil

    Joined:
    Apr 24, 2012
    Posts:
    31
    Unless I'm mistaken P31CloudFile already calls P31Prefs.iCloudDocumentStoreAvailable which returns the result of iCloudBinding.documentStoreAvailable(). This however always returns false for me. I tried changing my entitlements containers in several ways, thinking that might be the issue, but the app failed to install every time I changed them. It only works under the entitlements I posted earlier.

    On a side note, I'm calling P31CloudFile.writeAllBytes when the app closes to save the game file. This writes locally but not to the cloud. I added in a second line for iCloudBinding.addFile(), which would normally be getting handled by the P31CloudFile.WriteAllBytes except that it never calls because the class is never made into a CloudFileManager since P31Prefs.iCloudDocumentStoreAvailable is still false when the script loads, making it a LocalFileManager in the static constructor. By adding in the iCloudBinding.addFile() statement I am able to write a file to the cloud successfully. When I reload the app and attempt to P31CloudFile.readAllBytes the app crashes, I'm assuming because the file was written out improperly. I am calling P31CloudFile.readAllBytes inside the iCloudManager.documentStoreUpdatedEvent. Here is the code I use when the event fires (this is where the game crashes)

    Code (csharp):
    1.  void iCloudManager_documentStoreUpdatedEvent(List<iCloudManager.iCloudDocument> obj)
    2.         {
    3.  
    4.                 EtceteraBinding.hideActivityView();
    5.  
    6.             foreach (iCloudManager.iCloudDocument doc in obj)
    7.             {
    8.                 if (doc.filename == downloadedFile)
    9.                 {
    10.                     Debug.Log("********* iCLOUD Debug ******** iCloud backup file Successfully Downloaded!!!");
    11.  
    12.                     EtceteraBinding.showAlertWithTitleMessageAndButton("iCloud Data Retrieved", "Your data was successfully downloaded from your iCloud!", "Awesome!");
    13.  
    14.                     DataManagerDownloader.instance.StopCoroutine("BeginDownload");
    15.                     if (DataManagerDownloader.OnDownloadComplete != null)
    16.                         DataManagerDownloader.OnDownloadComplete();
    17.                 }
    18.             }
    19.         }
    My success alert is firing but the game crashes after tapping "Awesome" so I know the file got there, there's just something wrong with it. DataManagerDownloader is my custom class which is handling the Reading/Writing/Execution of save files. (Local files read/write properly, so I know its not my deserializer.)

    I apologize for the abundance of posts but I really need to get this working soon.

    Thanks,
    Ridil
     
  32. J_P_

    J_P_

    Joined:
    Jan 9, 2010
    Posts:
    1,027
    When I have an alert window up using the etc plugin, is there a way to let music continue playing? Music stops (the whole app pauses it seems). Have a feeling this is a Unity thing =/
     
    Last edited: Apr 27, 2012
  33. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @ridil, you definitely want to be careful with using the add to iCloud method directly. If iCloudDocumentStoreAvailable is false and you try to add files to the container anyway bad things will happen. Once the app properly hooks up with the iCloud document store and iCloudDocumentStoreAvailable gets set to true you are clear to add and remove. When testing be sure to delete the app from your device between tests until iCloud is hooking up to Apples servers. For entitlements, using the default values is the recommended way to go.


    @jtown, the plugin pauses Unity automatically do the animation is smooth. You can comment out any calls to UnityPause in the EtceteraManager.mm file to keep it running.
     
  34. J_P_

    J_P_

    Joined:
    Jan 9, 2010
    Posts:
    1,027
    Thanks I'll check it out
     
  35. ridil

    ridil

    Joined:
    Apr 24, 2012
    Posts:
    31
    Doesn't seem to matter how long I wait, iCloudBinding.documentStoreAvailable() never returns true. Is there something else I'm missing? I have the entitlements file with the default containers, I have the app id as iCloud enabled, the isiCloudAvailable always returns true and my provisioning profile is up to date. I'm about to go nuts here trying to get this to work by tomorrow. Is there anything you can think of I could be missing? I have also uninstalled the app every time i tested as well as rebooted the device and reset my iCloud account. I'm quickly running out of options...

    - Ridil
     
  36. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @ridil, it sounds like you have everything covered. It also sounds like you are going through the same pain that I did every time I used the document store. The one other thing I always do is to delete all provisioning profiles from my devices and from Xcodes organizer then click the refresh button. Also make sure Xcode is picking the right profile after refreshing.
     
  37. DanTreble

    DanTreble

    Joined:
    Aug 31, 2010
    Posts:
    590
    iCloud/config.plist says to link weak

    Code (csharp):
    1.  <key>weakLinkFrameworks</key>
    2.     <array>
    3.         <string>Foundation</string>
    4.     </array>
    but I still find it required. Is there another trick or caveat?
     
  38. chishti

    chishti

    Joined:
    May 21, 2009
    Posts:
    188
    @Prime31

    I asked this question in Android section sorry for that. Its about transferring a file from one device to an other using bluetooth.
    You told that we can transfer file and said
    I have bought the plug in and I am unable to find any function to send a whole 3d .obj file (its of 86 KB). Could you guide me how to send a file?

    I also want to send Texture along with file. But no matter if I can send the Texture separately.

    One approach that I have used is to send .obj file as string and on receiving device I saved that string in a file having .obj extension and than loaded and used it. But this approach does not work for sending Texture.

    thanks
     
  39. Selene

    Selene

    Joined:
    Mar 2, 2011
    Posts:
    25
    Hello,

    I have a question regarding the IOS social networking plugin. Does this work correctly also when used in a Mac application, or it could cause any problems.
    Can the following error be caused because something is incorrectly used with the plugin?

    Code (csharp):
    1. *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFDictionary setObject:forKey:]: attempt to insert nil key'
    2. *** Call stack at first throw:
    3. (
    4.     0   CoreFoundation                      0x00007fff857db784 __exceptionPreprocess + 180
    5.     1   libobjc.A.dylib                     0x00007fff849b5f03 objc_exception_throw + 45
    6.     2   CoreFoundation                      0x00007fff857db5a7 +[NSException raise:format:arguments:] + 103
    7.     3   CoreFoundation                      0x00007fff857db534 +[NSException raise:format:] + 148
    8.     4   Foundation                          0x00007fff87d04caf -[NSCFDictionary setObject:forKey:] + 164
    9.     5   productbuild                        0x0000000100001f4c createDistributionAndComponentPackages + 1465
    10.     6   productbuild                        0x0000000100002b55 main + 2012
    11.     7   productbuild                        0x0000000100001834 start + 52
    12.     8   ???                                 0x0000000000000007 0x0 + 7
    13. )
    14. terminate called after throwing an instance of 'NSException'
    15. Abort trap
    I get this error after using the productbuild command in the terminal for the mac build.
    Any idea about this would be very helpful.

    Thank you.
     
  40. XxPleYxX

    XxPleYxX

    Joined:
    Jul 26, 2011
    Posts:
    41
    Prime31 I cant import any song from ipod to Unity with the MediaPlayer plugin, It always returns an empty string. You know why? its for DRM? its for Apple?
     
  41. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @dtreble, what makes you think the weak linking isn't occurring? Did you look at the build command Xcode used to compile (that is where the weak linking will occur)?


    @unityboy, you need to use the sendRawMessage method which accepts a byte array.


    @selene, iOS plugins cannot run on any platform except iOS. The error in that log seems to be pointing at a createDistributionAndComponentPackages method. That is definitely not part of any of our plugins. You may want to rebuild your app to get a fresh copy.


    @xxplay, are you checking the songs isPlayable attribute? Do you see any errors in the console? DRMed songs obviously cannot be retrieved in raw form but there may be other reasons as well.
     
  42. DanTreble

    DanTreble

    Joined:
    Aug 31, 2010
    Posts:
    590
    Because every time I open the xcode project it is set as required! Something else might be dragging it in. I'll investigate
     
  43. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @DTreble, are you looking at the output of the actual xcodebuild command? That is where the weak linking actually occurs.
     
  44. akwok

    akwok

    Joined:
    Apr 21, 2009
    Posts:
    31
    Hello, for Tapjoy banner, I found that whenever (void)didReceiveAd: (TJCAdView*)adView is called at obj-c side, the banner is refreshed to a new one. So if a series of ADs is loaded one by one at short time interval, the banner reload and reload from one to another one, which is quite abnormal.
     
  45. DanTreble

    DanTreble

    Joined:
    Aug 31, 2010
    Posts:
    590
    Doing a build out of 3.5.1 without any of your plugins in has the Foundation.framework as required :-/

    $Screen Shot 2012-04-28 at 9.35.48 PM.png
     
  46. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @akwok, the plugin simply returns the events to Unity. The Tapjoy SDK is doing the actual refreshing of the banner.


    @dtreble, I think you are a bit confused. When any of our plugins weak link a library it will not affect the Xcode UI. The weak linking is done during the actual build step. You can view the xcodebuild command output and that is where it will happen.
     
  47. DanTreble

    DanTreble

    Joined:
    Aug 31, 2010
    Posts:
    590
    Sorry I had no idea the UI wasn't indicative.

    Our build machine uses jenkins continuous integration. Our build command is

    Code (csharp):
    1. xcodebuild -project $WORKSPACE/builds/iPhone/Unity-iPhone.xcodeproj PROVISIONING_PROFILE="XXXXXXXX-7B3C-4716-9E6E-4226F5CBA451" SHARED_PRECOMPS_DIR=/tmp/$JOB_NAME/SharedPCH CONFIGURATION_BUILD_DIR="$WORKSPACE/builds/iPhone/autopilot/"
    This results in a link command like so

    Code (csharp):
    1. Ld autopilot/heroescall.app/heroescall normal armv7
    2.     cd /Users/Shared/Jenkins/Home/jobs/HeroesCallSubmission/workspace/builds/iPhone
    3.     setenv IPHONEOS_DEPLOYMENT_TARGET 4.0
    4.     setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    5.     /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -L/Users/Shared/Jenkins/Home/jobs/HeroesCallSubmission/workspace/builds/iPhone/autopilot -L/Users/Shared/Jenkins/Home/jobs/HeroesCallSubmission/workspace/Assets/Editor/StoreKit -L/Users/Shared/Jenkins/Home/jobs/HeroesCallSubmission/workspace/Assets/Editor/iCloud -L/Users/Shared/Jenkins/Home/jobs/HeroesCallSubmission/workspace/builds/iPhone -L/Users/Shared/Jenkins/Home/jobs/HeroesCallSubmission/workspace/builds/iPhone/Libraries -F/Users/Shared/Jenkins/Home/jobs/HeroesCallSubmission/workspace/builds/iPhone/autopilot -filelist /Users/Shared/Jenkins/Home/jobs/HeroesCallSubmission/workspace/builds/iPhone/build/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/heroescall.LinkFileList -dead_strip -all_load -weak_framework CoreMotion -weak-lSystem -Wl,-S,-x -miphoneos-version-min=4.0 -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework OpenAL -liconv.2 -lApsalar -liPhone-lib -framework AudioToolbox -framework CFNetwork -framework MediaPlayer -framework CoreLocation -framework SystemConfiguration -weak_framework iAd -framework CoreMedia -framework CoreVideo -weak_framework AVFoundation -framework CoreGraphics -weak_framework CoreMotion -weak_framework GameKit -framework Security -lsqlite3.0 -weak_framework MessageUI -lz.1.1.3 -liCloudPlugin -weak_framework Twitter -framework StoreKit -lStoreKit -o /Users/Shared/Jenkins/Home/jobs/HeroesCallSubmission/workspace/builds/iPhone/autopilot/heroescall.app/heroescall
    Which contains
    Code (csharp):
    1. -framework Foundation
     
    Last edited: Apr 28, 2012
  48. ChuckT

    ChuckT

    Joined:
    Aug 18, 2008
    Posts:
    94
    Question about the AudioRecorder plugin

    I've looked around and watched the sample video and was wondering if the ability to load the recorded file into Unity with the WWW path has been fixed/added/changed etc. Is it possible yet to load and playback the recorded file as a Unity audio file?

    Thanks!
     
  49. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @chuck, Unity fixed the bug a whole back and all recent versions of the plugin use Unitys audio system for playback.
     
  50. ChuckT

    ChuckT

    Joined:
    Aug 18, 2008
    Posts:
    94
    Perfect! Thanks for the quick reply.
     
Thread Status:
Not open for further replies.