agens-no / imessagestickerunity Goto Github PK
View Code? Open in Web Editor NEWAn iMessage Sticker plugin for Unity3d that adds a Sticker extension target to an xCode project created by Unity3d
License: MIT License
An iMessage Sticker plugin for Unity3d that adds a Sticker extension target to an xCode project created by Unity3d
License: MIT License
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.
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?
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
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?
Thank you so much for your help, I do appreciate!
Regards,
Anh Nguyen
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
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.
Hello,
in order for this plugin to work we must open the Xcode generated project and select "Build Phases" -> "Target Dependencies" -> "Unity-iPhone-Stickers" target.
https://www.dropbox.com/s/0yshd72o862mem4/Screen%20Shot%202018-07-05%20at%2018.37.11.png?dl=0
Is there a way to automate this process?
Kind regards,
John.
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.
Do you have .unitypackage file to download?
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.
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.
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:
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!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.
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?
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.
Can I create iMessage game in Unity ?
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
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.
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?
Either remove fill percentage when something else is added or figure out a way for it to make sense to work with the other two options
Just wondering if you've tested with newer Unity 2018's
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!
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.
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
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.
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
Can this be used for stickers that are created by the game itself at runtime?
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!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.