microsoftconnect/intune-app-wrapping-tool-ios

Cannot wrap in version 15.0

Closed this issue · 79 comments

/Volumes/IntuneMAMAppPackager/IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i {NAME}.ipa -o {NAME}_wrapped.ipa -p {origin}.mobileprovision -x <array><string>/Users/admin/Desktop/intune/{extra}.mobileprovision</string></array> -c "{CREDENTIAL}" -v true -e

I have been wrapping in 14.0 with the same command, but after migrating to 15.0, I cannot wrap and a segmentation 11 error occurs.

When I tested it several times, it seems to be a provisioning profile problem, but what builds in 14.0 does not build in 15.0 despite the same profile.

When I put the profile used in -p in the argument in the test when I put it in the -x argument, only IntuneOpenInAction warning is displayed and the build works.

I upgraded Xcode to version 13, is it impossible to build at all in wrapping tool 14.0?

@songmw90 Can you provide the exact error the wrapper is printing?

@songmw90 Also when mentioning 14.0 and 15.0 are you referring to wrapper versions or iOS versions? If iOS versions what versions of the wrapper are you using?

@songmw90 Can you provide the exact error the wrapper is printing?
I don't know how to output debug log in English. However, although the log is in Korean, I think you will be able to recognize it.

MacBook-Pro-2:intune admin$ Volumes/IntuneMAMAppPackager/IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i {NAME}.ipa -o {NAME}_wrapped.ipa -p {origin}.mobileprovision -x /Users/admin/Desktop/intune/{extra}.mobileprovision -c "{CREDENTIAL}" -v true -e

애플리케이션을 패키징하는 중...
MACOSX의 버전은 11.5입니다.
설치된 XCode의 버전은 Xcode 13.0
Build version 13A233
입니다.
프로비전 프로필을 구문 분석하는 중...
주 앱 프로비전 프로필을 구문 분석하는 중...
확장 프로비전 프로필을 구문 분석하는 중...
주 프로비전 프로필이 만료되지 않았음을 확인하는 중...
확장 프로비전 프로필이 만료되지 않았음을 확인하는 중...
서명 인증서가 유효한지 확인하는 중...
제공된 인증서 이름 길이가 SHA1 해시의 길이와 일치합니다.
쿼리에서 반환된 인증서 수: 62
인덱스에서 인증서를 확인하는 중: 0
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 1
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 2
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 3
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 4
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 5
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 6
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 7
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 8
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 9
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 10
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 11
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 12
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 13
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 14
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 15
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 16
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 17
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 18
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 19
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 20
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 21
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 22
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 23
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 24
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
인덱스에서 인증서를 확인하는 중: 25
인증서 일반 이름을 가져오는 중입니다.
현재 인증서의 SHA-1 지문을 계산하는 중입니다.
제공된 인증서의 SHA-1 지문을 계산하는 중입니다.
일치하는 지문을 찾을 수 없습니다. 프로비전 프로필에 인증서가 포함되어 있는지 확인하는 중...
인증서의 SHA 256 지문을 계산하는 중입니다.
프로비전 프로필에 SHA-256 해시가 있는지 확인하는 중입니다.
프로비전 프로필에서 인증서를 찾았습니다.
인증서 발급자가 Apple인지 확인하는 중
각 확장 프로필에 서명 인증서가 있는지 확인하는 중...
인증서의 SHA 256 지문을 계산하는 중입니다.
프로비전 프로필에 SHA-256 해시가 있는지 확인하는 중입니다.
임시 디렉터리를 만드는 중...
입력 매개 변수
입력 애플리케이션 경로: /Users/admin/Desktop/intune/{Name}.ipa
출력 애플리케이션 경로: /Users/admin/Desktop/intune/{Name}_wrapped.ipa
프로비저닝 프로필: {provision1}.mobileprovision
인증서: {Credential(SHA1)}
CRLStyle이 'None'으로 설정됩니다. 'defaults write com.apple.security.revocation CRLStyle BestAttempt' 명령을 실행하여 'BestAttempt'로 설정하세요.
Segmentation fault: 11

Also 15.0 mean wrapper. not iOS. As you can see we are already using Xcode 13

Same with the wrapping tool 15.1.

Segmentation fault: 11
What exactly is this? Is there anything else I should check? Like getting a new provisioning profile...etc.

@songmw90 That usually means there is faulty code in out wrapper. Has this been happening on multiple apps or only on a specific app? If it is a specific app would you be willing to share an ipa of it so we could attempt wrapping it with a debug verison of the wrapper?

Also trying a new provisioning profile could help. Also the error message in english is
"CRLStyle is set to 'None'. Please set this to 'BestAttempt' by running the command 'defaults write com.apple.security.revocation CRLStyle BestAttempt'."

Could you try running the command 'defaults write com.apple.security.revocation CRLStyle BestAttempt'

IntuneAppPackager_log_2021_11_308_09_58_00.txt
IntuneAppPackager_log_2021_11_308_09_59_01.txt

I applied 'defaults write com.apple.security.revocation CRLStyle BestAttempt' as you said. And I changed the Mac language to change the log to English messages.

I have attached two log files. After downgrading to wrapping tool 14.6, I ran it. The command difference is that the provisioning files included in -x are equal and not equal. (The command is written on the first line of the issue)
If it's an app problem, I wonder if both cases should fail.

It is not possible to provide an ipa file for debugging purposes. But if I can do it, I'll do whatever you tell me to do.

@songmw90 So packaging with 14.6 works with the original provisioning profile but not with the new one. Did the 15 wrapper fail with the new provisioning profile?

Also for the second log file it seems that no errors were captured to the text yet I don't see a successful finish statement. Did that run also succeceed?

@songmw90 Any updates?

Sorry for the late update. I've been busy lately
I tested the same with the latest version 15.1.3 wrapping tool, but the result is the same

The provisioning profile in the log is not mine. So I can't update it on my own. Therefore, we will make a test app in the short term and update the contents later.

  • If the result fails, the final result is not written in the log of the lapping tool. Even if a segmentation error actually occurs, no error is left in the log file.

@songmw90 Sorry for the delayed response. Would you be willing to get a preview wrapper with more logging in it that you could run to help us determine where the crash is happening?

There is a problem even after testing with a completely new build rather than the version provided to the client. Tested on the latest version of the wrapper. (I updated the provisioning profile as well, and it all happens in ipa where "recompile bitcode" of xcode is checked or not checked )

Sorry for the delayed response. Would you be willing to get a preview wrapper with more logging in it that you could run to help us determine where the crash is happening?

sure

@songmw90 Cool. Once we have a repo to share a preview with you I will update this thread

@songmw90 You should get an invite to a preview repo soon. Accept that invite. I will update this thread letting you known when we have the wrapper updated for you to try out

@songmw90 The private repo should now have the preview wrapper. Please run it with the "-v" option and send the output.

The added log seems to be this

VerifyingSignatures
VerifyingExtensionProvisioning
AttemptingUpgradeIfNeeded
CopyingIntoTemporary
ComputeBundleIds
AddOpenIn
Segmentation fault: 11

The command entered is as follows

/Volumes/IntuneMAMAppPackager/IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i {APPNAME}.ipa -o {APPNAME}_wrapped.ipa -p {provision1}.mobileprovision -c "{SHA1}" -x <array><string>/Users/admin/Desktop/intune/{provison2}.mobileprovision</string></array> -v true -e

@songmw90 Ok good. I have updated the repo again with another version of the wrapper with more logging that should help us narrow down where it is going even further. Could you run the command again with the new version of the wrapper?

It is currently 3 am in Korea. I think I can try it out in about 6 hours. Maybe we can resolve this issue within this week?

@songmw90 No rush. Im hoping we should be able to figure this out by the end of this week. The extra logging is helping alot with pin pointing where the seg fault is happening.

I'll try in 6 hours. Additionally, starting today, I will take my MacBook when I get home from work. Starting tomorrow, I will cooperate as much as possible around this time. Our company is hoping that this issue will be resolved as soon as possible.

added log

VerifyingSignatures
VerifyingExtensionProvisioning
AttemptingUpgradeIfNeeded
CopyingIntoTemporary
ComputeBundleIds
AddOpenIn
AddOpenInLookForProvisioningProfile
AddOpenInCopyExtension
AddOpenInUpdateInfoPlist
AddOpenInUpdateLocalizedBundle
AddOpenInGenerateExtensionIcons
Segmentation fault: 11

@songmw90 Does the app being wrapped have icons?

If you are talking about the app icon, there is.

@songmw90 Would you be willing to email me an unwrapped IPA so that I can attempt to repro the issue on my end?

The app isn't mine, it's the company's, so that could be a problem. Is there any other way?

@songmw90 Yea I could send over another wrapper with more logging. I was just figuring if the issue is with the icons I could probably reproduce it on my end and it would be quicker.

Binary is large in size. So, I will send you a link using dropbox. tell me your email

I just sent

@songmw90 Was able to reproduce. Investigating now.

@songmw90 It appears to be something with us not reading your image files correctly. I am able to open them up in preview but when attempting to open them up in GIMP it fails saying the files are corrupted. How did y'all make the icons? Also if possible can you ensure that whoever made them exported them with an alpha channel?

Im also seeing that the largest icon file "AppIcon83.5x83.5@2x~ipad.png" is 17 KB while the smaller one "AppIcon72x72~ipad.png" is 22KB so im guessing that larger icon is missing an alpha layer.

Is wrapping tools affected by app icons? I'll check the icon today. But I have a question, if I enter the same -p and the same provisioning in the additional provisioning file, the error does not occur. Isn't wrapping tool using icons this time? What difference does it make?

VerifyingSignatures
VerifyingExtensionProvisioning
AttemptingUpgradeIfNeeded
CopyingIntoTemporary
ComputeBundleIds
AddOpenIn
AddOpenInLookForProvisioningProfile
경고: 이 애플리케이션은 하나 이상의 파일 형식 열기를 지원하지만, Intune 앱에서 지원되기 위한 적절한 권리 유형이 없습니다. -x 명령줄 인수를 사용하여 추가 프로비저닝 프로필을 지정해야 합니다. 이 프로필은 와일드카드 애플리케이션 식별자를 포함하거나 '{APPNAME}.IntuneOpenInAction' 애플리케이션 식별자를 포함하고 주 애플리케이션에서 공유되는 하나 이상의 애플리케이션 그룹을 포함해야 합니다. 이 프로필을 지정하지 않으면 다른 Intune 앱 사용 애플리케이션에서 이 애플리케이션으로 파일을 보낼 수 없습니다.
mean -> Warning: This application supports opening one or more file types, but does not have the appropriate entitlement type to be supported by the Intune app. You must specify additional provisioning profiles using the -x command-line argument. This profile must contain either a wildcard application identifier or a '{APPNAME}.IntuneOpenInAction' application identifier and contain at least one application group that is shared by the main application. If this profile is not specified, other Intune app-enabled applications cannot send files to this application.
CreateEntitlementsFile
UpdateInfoPlist
패키지 작성 도구 버전: 14.0.0, 패키지 작성 도구 빌드: 20211214.6, 앱 빌드: 2040, 연결된 빌드: 20213268.6.0
:: mean -> Packager Version: 14.0.0, Packager Build: 20211214.6, App Build: 2040, Linked Build: 20213268.6.0
CopyResources
InjectFramework
UpdateSettingsBundle
EnablePPEIfNeeded
SignPackage
CreateIPA
SignIPA
CopyFinalIPA
애플리케이션을 패키징했습니다.
:: mean -> You have packaged your application.

I used https://appicon.co/ to change all app icons. But the problem seems to be the same. When I open the png file through Photoshop, the alpha channel is not checked. I created and saved the alpha channel arbitrarily, but in the png file, the alpha channel disappeared and in the case of bmp, it was confirmed that it remained.
Today, we will do a little more testing, focusing on changing the icon.
(should i check launch screen?)

@songmw90 Yea the wrapper will inject an OpenIn extension into the app and part of that process is making copies of the app icons. For that errorless run its becuase the provisioning profile doesn't support the OpenIn Extension. Thats what this message is indicating
"경고: 이 애플리케이션은 하나 이상의 파일 형식 열기를 지원하지만, Intune 앱에서 지원되기 위한 적절한 권리 유형이 없습니다. -x 명령줄 인수를 사용하여 추가 프로비저닝 프로필을 지정해야 합니다. 이 프로필은 와일드카드 애플리케이션 식별자를 포함하거나 '{APPNAME}.IntuneOpenInAction' 애플리케이션 식별자를 포함하고 주 애플리케이션에서 공유되는 하나 이상의 애플리케이션 그룹을 포함해야 합니다. 이 프로필을 지정하지 않으면 다른 Intune 앱 사용 애플리케이션에서 이 애플리케이션으로 파일을 보낼 수 없습니다.
mean -> Warning: This application supports opening one or more file types, but does not have the appropriate entitlement type to be supported by the Intune app. You must specify additional provisioning profiles using the -x command-line argument. This profile must contain either a wildcard application identifier or a '{APPNAME}.IntuneOpenInAction' application identifier and contain at least one application group that is shared by the main application. If this profile is not specified, other Intune app-enabled applications cannot send files to this"

@songmw90 I should also specify it seems that the largest icon file is the one causing problems however I wasn't able to open any of them in GIMP with the message that they were corrupted

After hearing your comments, today I replaced all the icons and tried the same, but the same problem occurred.

I don't know if you're aware of this error, but you can't use an alpha channel for an Apple icon.
ERROR ITMS-90717: "Invalid App Store Icon. The App Store Icon in the asset catalog in 'documera.app' can't be transparent nor contain an alpha channel."

AppIcons (5).zip

This is the asset image used for the application icon. Made through the attached site

@songmw90 I was not aware of that error for the app store. However you should not be submitting wrapped apps to the app store. If you are submitting to the app store we do recommend implementing the SDK directly. Wrapped apps should be distributed as Line-Of-Buisness apps.

The source PNG is able to open and does have an alpha channel as can be seen in the bottom corner of this screen shot.
Screen Shot 2021-12-16 at 11 08 45 AM

I do think there might be bug inside the wrapper as some weird behavior is occuring with these icons. I will keep investigating that bug however I would reccomend one of the following solutions for a faster mitigation.

  1. Regenerate the icons in a different way. Try exporting them in photoshop to the different sizes. That could fix the issue.
  2. Have the wrapped version of the app not accept document types. This is not ideal as you will lose functionality however it would allow the app to be wrapped. I would reccomend trying the icon solution first.

However if you are submitting to the app store if is highly recommended that instead of wrapping you implement the SDK directly. I can help y'all implement the SDK as discussed in these docs. https://docs.microsoft.com/en-us/mem/intune/developer/app-sdk-ios

For single identity apps, which this one would have to be since its being wrapped, it usually isn't too much work to implement the SDK.

I will not upload the app to the store. Errorlog shared what I found out today while browsing the app icon alpha channel.

The compressed file attached to the previous comment is all I used to archive the app today. Can you check the files? If there is no problem, I have to think about what I can do more....

@songmw90 What error did you get when using that file? Also do you mean that the only file that was an icon was that file?

I don't know if I understood it well, but an asset image set is used because different images must be used for each device and resolution. (As you well know)

The attached "all" image was used for the asset image. "Include all app cion assets" is unchecked.

The error occurred with the same content.

photo_2021-12-17_02-36-11

@songmw90 but how did you generate those new icons? Was it via xcode?

no. It was created by uploading the source image to the attached site. The source file is as follows
photo_2021-12-17_02-43-15

@songmw90 Yea so Im thinking that website could be causing issues. Maybe try https://www.iconsgenerator.com/Home/AppIcons
Also for testing purposes. You can just make a copy of the source image and resize it using photoshop to 76x76 to see if the wrapper works. If it does than it is an issue with the website generating icons.

The app icons menu of the site you gave does not work, and only three images are created in the icon set menu.

I gave you all the asset images attached. Do you have any sample apps that your company uses? Can't you attach it yourself and return it? Of course, I will also find a way to create a new icon and build it.

@songmw90 Are you using that xcasset you sent me? Those aren't being seen as corrupted in GIMP while the icons in the IPA you sent me are. Im currently running a test to see if archiving and unzipping is whats causing the icons to be corrupted.

After hearing that there may be a problem with the icon, I replaced all the icons. The binary I sent to you is outdated, and whenever I comment, I am sharing the results of archiving and testing the app.

The xcasset I attached earlier is currently applied to my xcode. There may be a problem with the site, so I just made some images here at https://makeappicon.com/, build a new app, and tried wrapping, but the result is the same.

I have a trivial question, is it necessary to extract the icon from within? Is it impossible to input an icon as a parameter?

@songmw90 Currently I do not think the wrapper has that capability. Since you have the original xcode project, would you be willing to try implementing the SDK directly?

@songmw90 Also have you been able to test with just one icon? Like a resized 76x76 from photoshop that you put directly into xcode

At first I tried to do it, but it was too difficult.
Crucially, we're not making apps for the purpose of intune wrapping. It is trying to wrap for customers who require intune wrapping.
In answer to the last question, yes. (see screenshot)

Is there no other way?

스크린샷 2021-12-17 오전 3 21 32

@songmw90 Did the wrapper work when the single icon? If so than it would appear to be with the website.

No it's not work. same error

@songmw90 Can you send me the ipa with the single icon in it? I would like to debug that one as it should be a bit simpler

just sent.

@songmw90 I found a possible fix for the issue however the person who originally wrote the code is on vacation and won't be back until monday. I will talk to them on monday on why the code is set up the way it is and how we should fix it. If we do find a fix it would most likely be release in January 2022.

Okay. I'll be waiting

@songmw90 After more testing we have found that the icon files in the IPA are being corrupted somehow when being exported. So long term solution is to find a way to generate them that doesn't use those websites. A good quick test to see if the file is corrupted appears to be attempting to open it in GIMP as it wouldn't open those files.

However we did notice that if you open the image in Preview, then export it as a PNG, that exported file is no longer corrupted. So a possible quick solution could be to go to your icon xcasset folder and open each icon file in preview and export it using preview. We did that with the icons sent that were crashing and afterwards the crash did not occur.
Would y'all be able to try that?

Are you saying that if I don't use the website and make assets one by one using tools such as Photoshop, there will be no problem?

@songmw90 Thats what we are finding. You could use the website and then use preview to export the images again which could be a little bit faster than using photoshop manually.

Are you saying that it doesn't work when I build using a single 76x76 icon rather than an imageset?
Why don't you give me a sample of an image that "works well"?

@songmw90 It has something to do with your icons themselves. For example this picture of a giraffe does not cause a crash.
R

Also if we take on of the icons y'alll provided and then export them through preview that does not crash. However y'all are creating the icons being put into the app is causing them to become corrupted images.

I think I've figured out the problem.
Starting with iOS 5, to register an icon, it was put in the info.plist, not the asset set.
In our app, there were icons registered in info.plist, and there were also icon asset sets. (I don't know which icons worked as actual icons. It seems that they are all included in the app)

After you gave me the image, I tried to delete all the assets, but the wrapping failed and I thought it was strange. So I looked for it. I found out that the icon was registered separately in info.plist. So, when I wrapped all the icons after completely deleting them, it was successful.

However, this is a test when everything is deleted, and tomorrow I will register an actual asset set and build it and report the result. I want to inform you of the results quickly. But I have deleted too many parts of the project for this test, so I have to restore it first.

@songmw90 Awesome good to here we might have a solution!

I found something really weird. If there is nothing 'transparent', the wrapping seems to fail.

In the two attached icons, transparency is added to the upper left corner, and the wrapping result is different depending on the difference between not and not. It only succeeds when there is transparency.
(The added transparency is named _trans)

Apple forbids transparent icons, so why does this happen when wrapping? Do I have to add transparency when creating icons in the future?

icon_1024
icon_1024_trans

@songmw90 Interesting. I will have to keep that in mind while investigating on our side. It could be that adding anything transparent causes it to have an alpha channel.

I thought apple only forbid transparent store icons?

We haven't really seen this issue before so we will keep looking into it on our side but if you do run into this issue again adding an alpha layer to the icon would be a quick mitigation.

As you said, it is forbidden when uploading to the Apple Store, but it is not a problem to follow the guidelines and create icons. We just made the icons as a guide.

We are also making icons with transparency. But I don't think it's a complete solution to this issue. I hope you solve the issue

@songmw90 It is interesting that we were able to avoid the crash by reexporting the icon through preview without adding any transparent items in general. How did you make these non-transparent icons? Are they originally from JPEGs? Also it is interesting that the icons that were causing the crash were labeled as corrupted by GIMP?

As far as I know, the only file that can be used for iconset is png.
We made up the icon set from undamaged, intact files. To be honest, I don't even know what you mean by damaged and I don't understand. I can open the file and it looks fine.

Do you also have a sample app? Try removing the alpha channel by completely filling the transparent parts of the giraffe image with color.

Then build the app and try wrapping it. If giraffes are bothering you, you don't need to. Try the two icons I attached. Do you think it will happen right away? They are 'uncorrupted' files as you say

@songmw90 We were able to open the file in preview but GIMP told us it is corrupted.

@songmw90 Didn't you generate the icon set from a JPEG? Also we need to do the alpha channel as Open In action extension icons are transparent. I think apples requirement might only be for the App Store icon not the icon in general.

Even if it is a png, if there is no transparent area, there is no alpha channel. The icon set is made with png.

What I understand is that the extension is a transparent icon with no image, but if it is a transparent icon, why not just create a transparent image randomly in the wrapper? Why is the app icon affected?

And although I am not going to upload it to the App Store, there are many icons other than us that do not use transparency. It's not that we're weird. We just filled in the icons without any blank space.

So please, forget the binary I sent and try it with the attached icon.

I already did the wrapping test. The transparent ones are wrapping and the non-transparent ones are not.

The only difference between the two is the one transparent pixel on the left. I've provided two samples for you to troubleshoot

If you say that the icon must be transparent, you can edit the document to say that it is a specification.
Then I follow.

However, since you call the current situation an 'issue', I keep commenting and I am providing information so you can solve it...

@songmw90 A PNG can have an alpha layer yet no transparency. Consider this image I got by exporting one of the icons via preview. It has no transparent pixels yet it has an alpha layer.

AppIcon76x76~ipad
Screen Shot 2021-12-22 at 2 17 02 PM

The issue in our code appears to be with having no alpha layer. However we aren't sure as the icon images causing the crash behave oddly compared to other PNGs so we don't necessarily know. There may also be an issue with our code however that will take longer to fully figure out. Also it can sometimes take a while for a fix to be released.

I would recommend finding a way to add an alpha layer to the icons either by adding the transparent pixel or by exporting via Preview so that y'all aren't blocked anymore while we investigate our code further.

I was curious about the JPEG becuase y'alls source image is a JPEG and its possible whatever tool y'all used to generate the icons didn't correctly convert from JPEG to PNG.

We need to read the app icons becuase the wrapper uses them as a template to generate the icons for the IntuneMAMOpenInActionExtension, which is used so that the app will be able to receive files from other apps, and we attempt to make the icon look similar to the original app icon.

We do appreciate all the information and help you have provided with this issue.

Also as a heads up I will be out of office from tomorrow until 2022-1-17. So while I am out @hhawkins can help if y'all need anymore help.

We've had this problem for too long. I will proceed with wrapping with a transparent image. We will continue to cooperate.

@songmw90 Was using the transparent image able to unblock y'all and your customers? If y'all want more help we can set up a call to talk about the issue. Due to this issue being quite niche we think using a different icons, such as the one with a transparent pixel or by exporting the icon via Preview is the best solution as of now.

Let me know if y'all need any more help.

We built the icon with a transparent 1 pixel, and distributed it this week. There does not seem to be any problem with the operation of the app.
I also agree that inserting a transparent 1 pixel into the icon is the best option. However, since there is no way for general users to know about this part, I wondered if it would be better to fix the simple "segment error". I don't mind closing the issue as this has been fixed.

Closing the issue. If you need any more help feel free to reopen it and ask. Thanks for being patient with us.