Giter VIP home page Giter VIP logo

imessagestickerunity's Introduction

iMessageStickerUnity

An iMessage Sticker plugin for Unity3d that adds a Sticker extension target to an Xcode project created by Unity3d.

Unity Version

Tested with several Unity Versions

  • Unity 2017.3.0f3
  • Unity 2017.2.0p2
  • Unity 2017.1.1f1
  • Unity 5.6.4p4
  • Unity 5.6.1f1
  • Unity 5.6.0f3
  • Unity 5.5.2f1
  • Unity 5.4.5p5
  • Unity 5.4.5p3
  • Unity 5.4.4f1
  • Unity 5.3.8f2

Xcode Version

Tested with several Xcode Versions

  • Xcode 9.3
  • Xcode 9.1
  • Xcode 8.3.2

Stickers During Runtime

This plugin does not support adding stickers during runtime.

Feedback

We would 😍 to hear your opinion about this library. Please file an issue if there's something you would like to see improved.

If you use this library and are happy with it consider sending out a tweet mentioning @agens. This library is made with love by Skjalg S. Mæhre.

First, you need to Configurate the Sticker Pack.

You do this by selecting the Sticker Pack menu item from within Unity. This will create the StickerPack asset for you if it is not set up yet and then select it.

alt tag

Then you can specify the settings for the sticker pack.

alt tagalt tag

As well as add sticker images.

alt tag

Supported file types

Apple guidelines and restrictions

  • jpg single image
  • png single image - recommended for static images
  • png sequences
  • png animations (apng with .png extension) - recommended for animations
  • gif animations

Signing in Xcode

If you have trouble with signing issues in Xcode or are using automated builds, then its a good idea to specify the name of the provisioning profile directly in the sticker pack.

alt tag

imessagestickerunity's People

Contributors

cookie966507 avatar hfossli avatar jdd4494 avatar log-tom avatar pedrovieira avatar pixelenvision avatar rfadeev avatar rusitschka avatar skjalgsm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

imessagestickerunity's Issues

My Game is not loading...

Hi,

When i integrate this library, with my game, , everything is done successfully run from Xcode 8.2.1, but when game is not loading, then i have close game, and again start game the it is working fine.

And all configure stickers are in iMessage i can show and use. But that animated sequence sticker isn't work in iMessage.

Thank you
Amit

Getting Invalid iMessage App from iTunes Connect

Hello,

I received an e-mail from iTunes Connect and it won't let me upload my app. It's because below reason.

"Invalid iMessage App - Your iMessage app contains an invalid sticker pack. The app may have been built or signed with non-compliant or prerelease tools. For more information, go to developer.apple.com."

I researched about it, but I cannot find clear solution. Do you have any suggestion? Please help.

Unity 5.3 support

Hi I tried using this plugin in Unity 5.3 and there were compile errors (which I fixed) and a bunch of null refs (StickerPackEditor.cs, line 446, 363).

Is there any point in me trying to get this working in Unity 5.3? Or is there some fundamental, unfixable problem that I will eventually encounter?

Thanks.

Colin

Can't build on Xcode, no such file or directory error

I got this error after using your plugin
error: /Users/User/Library/Developer/Xcode/DerivedData/Unity-iPhone-gvttajoivpvyzcdcgyqgrpcvstmn/Build/Products/ReleaseForRunning-iphoneos/Unity-iPhone-Stickers.appex: No such file or directory

After that I decided to delete the plugin in Unity and add sticker manually in Xcode. It works well at first, but after I build from unity to Xcode, the error show up again? Seems that the plugin is not removed completely from unity? I have delete the whole stickers folder from your plugin.

Pls help me to solve the problem. It has stuck me for 2 days.

Stickers are not sorted

Hey,
I have added a bunch of stickers, sorted them in the StickerPack asset and also checked the index of each sticker. Additionally the image names start with the index too. Unfortunately the iMessage app shows them in a random order.

Is there any way to sort them?

Thanks!

PBXProject.cs - RecursivelyCopy does not work on Windows

I've just been tracking down a problem with adding Stickers to our iOS builds. I found that the structure of the Stickers project was not correct in the xCode Project, to which I have tracked down the problem to the RecursivelyCopy function. On Windows, the Directory.GetDirectories() function returns the path back with back slashes instead of forward slashes, making the recursive part fail when searching for the LastIndexOf the forward slash.

Ensuring the path only uses forward slashes make the code work again as intended.

PBXSourceTree type compilation errors when iOS Build Support module is not installed

Hello,

When opening repository as Unity project with Unity installation which does not have iOS build support, following compilation errors are observed in the Unity console:

Assets\Stickers\Editor\PBXProjectData.cs(117,72): error CS0246: The type or namespace name 'PBXSourceTree' could not be found (are you missing a using directive or an assembly reference?)
Assets\Stickers\Editor\PBX\Objects.cs(357,69): error CS0246: The type or namespace name 'PBXSourceTree' could not be found (are you missing a using directive or an assembly reference?)
Assets\Stickers\Editor\PBXProjectData.cs(226,79): error CS0246: The type or namespace name 'PBXSourceTree' could not be found (are you missing a using directive or an assembly reference?)
...

Reproduced with Unity 2018.4.6f1 and 2019.2.11f1.

This is caused by PBXProject.cs having PBXSourceTree enum commented hence trying to find it in Unity namespaces and fails to do so.

Installing iOS build support fixes the issue, though I think it's better to have project compile without errors regardless of Unity installation configuration. Reason for that could be several people working on the same project with some of them not having iOS build support installed.

Issue when changed to automatically sign

The plugin works fine, but if I change to automatically sign the sticker pack, all settings for stickers vanish from the Unity editor and the only way I can get them to return is to remove all code for the iMessage Sticker package and re-add it all.

This is with Unity 2019.4.6f1

Regards
Gavin

Invalid iMessage App, as in #23

Hello! I have a similar situation: "Invalid iMessage App - Your iMessage app contains an invalid sticker pack. .... "
I use Unity 5.6.1f1, xcode 9.2.
The build is automated through teamcity.
The screenshots from issue #23 fit my case one on one.
bundleId my application in a format, for example, com.company.app
bundleId project with stickers - com.company.app.stickers
In developer.apple.com two provisioned profiles were created and two AppsID for bundleId .
Sticker files are named as sticker_01.png, sticker_02.png, etc.
IMessage App icons are all correctly installed.
The Unity project for the test is empty, only the stickers and your iMessageStickerUnity-plugin have been added.
What else can you do and check? Help me, please.

Xcode error

Hi,
I have one problem with iMessageStickerUnity. When I added your plugin into my project I get few errors in Xcode

Signing for "Unity-iPhone-Stickers" requires a development team. Select a development team in the project editor.
Code signing is required for product type 'App Extension' in SDK 'iOS 10.2'

Do you have any idea what I doing wrong?

btw. when I added stickers via Xcode everything works well

Xcode File/New/Target/Sticker Pack Extension

Unable to build to xcode

Hello,
Thank you very much for this plugin.
But I am unable to create a build to xcode, I get this error: "System.Net.WebException : The remote server returned an error . (401) Unauthorized".
Could you help?
Also, is there any tutorial on how to use your plugin but the readme?

Build fails on Mac

Commit 9167e78 break the build on Mac. Xcode cannot find Stickers.xcassets.

Adding a slash to the target for CopyDirectory fixes the issue for me:

@@ -1044,7 +1044,7 @@ namespace UnityEditor.iOS.Xcode.Stickers
             proj.ReadFromString(File.ReadAllText(projPath));
             var targ = proj.TargetGuidByName(PBXProject.GetUnityTargetName());

-            CopyDirectory(extensionSourcePath, pathToBuiltProject + extensionGroupName, false);
+            CopyDirectory(extensionSourcePath, pathToBuiltProject + extensionGroupName + "/", false);
             if (proj.HasFramework("Messages.framework"))
             {
                 Debug.LogWarning("Xcode already contains a messages framework.");

Can someone verify that this won't break the build on Windows?

Failed to export icons when building iOS, if iPhones Settings @2x, @3x, iPads Settings @2x are not set

Hi! I have an issue when building iOS with the package, while some icons are not set. And, I think these icons should not be compulsory.

According to document from Apple, only the following icon sizes are compulsory for iMessage:

But the code from the current latest package, it also requires:

  • 58x58 iPhone Settings @2x
  • 87x87 iPhone Settings @3x
  • 58x58 iPad Settings @2x
    But seems they should be just optional according to apple document. Otherwise we will need some dummy Texture2D object here or I will get null reference and fail to build with stickers when exporting these icons when building iOS in Unity. As current code here expect these 3 icons always exists. Correct me if I misunderstand something. Thanks!

Cloud build Unity failed

Hello,

I am using your plugin in my project. Thank you so much for your useful plugin, it helps me a lot.
However I got an issue about building project with Unity Cloud Build. Here is the log:

16583: [xcode] Check dependencies
16584: [xcode] Unity-iPhone-Stickers has conflicting provisioning settings. Unity-iPhone-Stickers is automatically signed, but provisioning profile xxxxx-xxxxx-4083-9da1-65ba6360e337 has been manually specified. Set the provisioning profile value to "Automatic" in the build settings editor, or switch to manual signing in the project editor.
16585: [xcode] Code signing is required for product type 'App Extension' in SDK 'iOS 10.3'
16586: [xcode] ** ARCHIVE FAILED **
16587: [xcode] The following build commands failed:
16588: [xcode] Check dependencies
16589: [xcode] (1 failure)
16590: ! build of 'default-ios' failed. compile failed

I think I need to add manually the provisioning profile and provisioning profile specifier ( in sticker setting) Because in unity cloud build setting, the provisioning is added manually.

I have some concerns?

  1. Do i need a new provisioning for sticker extension with new app id?
  2. How can i get 2 values provisioning profile and provisioning profile specifier?

Thank you so much for your help, I do appreciate!

Regards,
Anh Nguyen

iMessage

Can I create iMessage game in Unity ?

Resources Folder Dependency

Hi,
Firstly, thanks very much for making this plugin and sharing it! It's been a real time saver, and the workflow is very simple and easy to follow. :)

We've had to make a few small tweaks to the code to make it suit our needs though;

  • Most importantly, the plugin currently stores the Stickers.asset ScriptableObject in the Resources folder, which means that all the Sticker and Icon textures get pulled into the main Unity game build (even for Android!), which bloats the build unnecessarily.
    On quick inspection, it seemed the only reason for it being in the Resources folder was to allow easy access to it from the Editor scripts. Therefore, we switched to using the 'Editor Default Resources' folder to get the same results, without the inclusion of assets in the Unity build.

  • Secondly, something that someone else has already flagged; the builds were being hardcoded to CODE_SIGN_IDENTITY 'iPhone Distribution', which was causing Xcode to freak out about our provisioning profile. We change it to set to 'iPhone Developer'.

Hope this helps!
Thanks again,
Tom

Headless mode doesn't work for auto-scaled app icons

TextureScale.ScaledResized fails to produce valid textures when running in headless mode. This is because Texture2D.ReadPixels is not supported in headless mode. Therefore you need to manually specify all your app icons rather than using the auto-scale feature. Currently all icons come out flat-grey when using this option.

"ReleaseForRunning" bundle identifier not set for imessagestickers target

When generating the xcode project and trying to run it I came across this, it's fixable by adding the bundle identifier to the ReleaseForRunning and ReleaseForProfling which is something that unity nowadays generates?

Anyway after that I get a different error:

error: Couldn't load Info dictionary for <DVTFilePath:0x7f8266f7d8c0:'/Users/.../ReleaseForRunning-iphoneos/game.app/PlugIns/Unity-iPhone-Stickers.appex'

I'm not sure if it's related or not, any ideas?

[Feature Request] Adding Localization

First, thank for the great plugin that saved us lot of time!

I would like to request a feature on localization. Our app name is localized using I2Localize, it would be great if the sticker app name can be localized too to match our main app name, in other language...

I'm not an iOS geek and I assume adding a group of InfoPlist.strings and Localizable.strings will do the job? Or even better, integrate with I2Localize and make all these automatic.

Xcode 9.2 complaining about conflicting code signing settings when automatic signing is selected

Hi!

Xcode 9.2 is complaining about conflicting code signing settings when automatic signing is selected.

I found that removing the CODE_SIGN_IDENTITY entries solves the problem in this case.

I made it work for myself by changing this in PBXProject.cs:

            config.AddProperty("CODE_SIGN_IDENTITY[sdk=iphoneos*]", "iPhone Distribution");

to only add it if automatic signing is selected:

            if (!automaticSigning)
            {
                config.AddProperty("CODE_SIGN_IDENTITY[sdk=iphoneos*]", "iPhone Distribution");
            }

But I thought I would report it anyway.

Thanks for the great plugin!

Sticker Pack Size

It would be nice to be able to set the sticker pack size from within Unity. You can choose Small, Medium and Large within Xcode.

Sorting order of sticker sequence is not matching StickerPack.asset

From the default StickerPack.asset, stickers should be in the order of logo, logo_full, ExamplePngSequence, exampleApng, exampleGif. But the resulting stickers in iOS will be in logo, logo_full, exampleApng, exampleGif, ExamplePngSequence.

This is possibly caused by StickerExport.CreateStickerListContent(StickerPack pack) method always putting sticker sequences into Content.json with .sticker file extension instead of .stickersequence. As a result, ExamplePngSequence.stickersequence is not found in Content.json. And it will be put after all .sticker files.

[Feature Request] Using in-game-generated GIF/APNG?

Thanks for the great plugin, it saved us lot of times!

I would also wanna know is that possible to use in-game dynamically generated GIF/APNG, in stickers? Just like "Steppy Pants" which can record a 3s customized animation of your characters and use that in iMessage.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.