<?xml version="1.0" encoding="windows-1252"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Giovanni Di Grezia - VFX Artist Forum - iOS</title>
		<link>https://www.xgiovio.com/forum/</link>
		<description>iOs Programming Topics</description>
		<language>en</language>
		<lastBuildDate>Sat, 30 May 2026 17:32:38 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>images/misc/rss.png</url>
			<title>Giovanni Di Grezia - VFX Artist Forum - iOS</title>
			<link>https://www.xgiovio.com/forum/</link>
		</image>
		<item>
			<title>Resign your iOS ipa (Frameworks and Plugins included)</title>
			<link>https://www.xgiovio.com/forum/forum/programming/ios/592-resign-your-ios-ipa-frameworks-and-plugins-included</link>
			<pubDate>Fri, 16 Oct 2015 00:31:40 GMT</pubDate>
			<description>Intoduction 
     
This code allow you to resign your own ipa assuming that you have: 
1) a developer certificate issued by apple and added to your...</description>
			<content:encoded><![CDATA[<div align="center"><b>Intoduction</b></div>    <div align="center"><span style="color:#777777"><span style="font-family:Actor"><span style="font-size:14px"><span style="color:#000000"><span style="font-family:inherit">This code allow you to resign your own ipa</span></span> assuming that you have:<br />
1) a <span style="color:#000000"><span style="font-family:inherit">developer certificate</span></span> issued by apple and added to your keychain<br />
2) a <span style="color:#000000"><span style="font-family:inherit">mobileprovision</span></span> file</span></span></span></div>    <div align="center"><span style="color:#777777"><span style="font-family:Actor"><span style="font-size:14px">This code allow you to resign your app <span style="color:#000000"><span style="font-family:inherit">without using xcode</span></span> or if you need to<span style="color:#000000"><span style="font-family:inherit"> add a UDID for development</span></span> distribution.<br />
This code correctly signs ipas with <span style="color:#000000"><span style="font-family:inherit">Frameworks</span></span> (.framework folders), <span style="color:#000000"><span style="font-family:inherit">Plugins</span></span> (.appex folders),<span style="color:#000000"><span style="font-family:inherit">Applications</span></span> (.app folders)<br />
This code <span style="color:#000000"><span style="font-family:inherit">autoincludes entitlements</span></span> with binaries extracting them from the provided mobileprovision file.</span></span></span></div>    <div align="center"><b>Usage</b></div>    <div align="center"><span style="color:#777777"><span style="font-family:Actor"><span style="font-size:14px">This code runs on mac osx<br />
You should already have installed OSX Command Lines Tools<br />
The code is a shell script</span></span></span></div>    <div align="center"><b>Step 1</b></div>    <div align="center"><span style="color:#777777"><span style="font-family:Actor"><span style="font-size:14px">Change the following variables inside the signall.sh script:</span></span></span><br />
<br />
<span style="color:#777777"><span style="font-family:Actor"><span style="font-size:14px">signscript=&quot;/path/to/sign.sh&quot;</span></span></span><br />
<span style="color:#777777"><span style="font-family:Actor"><span style="font-size:14px">ipasourcefolder=&quot;path/to/ipas/source/folder&quot;</span></span></span><br />
<span style="color:#777777"><span style="font-family:Actor"><span style="font-size:14px">ipadestfolder=&quot;/path/to/ipas/destinations/folder/&quot;</span></span></span><br />
<span style="color:#777777"><span style="font-family:Actor"><span style="font-size:14px">developer1=&quot;iPhone Developer: xxxxx (xxxxx)&quot;</span></span></span><br />
<span style="color:#777777"><span style="font-family:Actor"><span style="font-size:14px">mobileprovision1=&quot;/path/to/mobile/provision&quot;</span></span></span></div>    <div align="center"><b>Step 2</b></div>    <div align="center"><span style="color:#777777"><span style="font-family:Actor"><span style="font-size:14px">make sure that ipasourcefolder and ipadestfolder are writable<br />
run signall.sh via terminal<br />
done</span></span></span></div>    <div align="center"><span style="color:#777777"><span style="font-family:Actor"><span style="font-size:14px">In your destination folder you will have all your ipas signed.</span></span></span></div> <br />
<br />
<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">&nbsp;Bitbucket&nbsp;source&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">updates&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">https</span><span style="color: #007700">:</span><span style="color: #FF8000">//bitbucket.org/xgiovio/ios-ipa-resign/src&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div><span style="color:#000000"><span style="font-family:Consolas"><span style="font-size:14px">signall.sh</span></span></span><br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">&nbsp;&nbsp;</span><span style="color: #FF8000">#&nbsp;!/bin/bash<br />&nbsp;&nbsp;</span><span style="color: #0000BB">signscript</span><span style="color: #007700">=</span><span style="color: #DD0000">"/path/to/sign.sh"<br />&nbsp;&nbsp;</span><span style="color: #0000BB">ipasourcefolder</span><span style="color: #007700">=</span><span style="color: #DD0000">"path/to/ipas/source/folder"<br />&nbsp;&nbsp;</span><span style="color: #0000BB">ipadestfolder</span><span style="color: #007700">=</span><span style="color: #DD0000">"/path/to/ipas/destinations/folder/"<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">developer1</span><span style="color: #007700">=</span><span style="color: #DD0000">"iPhone&nbsp;Developer:&nbsp;xxxxx&nbsp;(xxxxx)"<br />&nbsp;&nbsp;</span><span style="color: #0000BB">mobileprovision1</span><span style="color: #007700">=</span><span style="color: #DD0000">"/path/to/mobile/provision"<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">cd&nbsp;$ipasourcefolder<br />&nbsp;&nbsp;find&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">d&nbsp;</span><span style="color: #007700">.&nbsp;-</span><span style="color: #0000BB">type&nbsp;f&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #DD0000">"*.ipa"</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">files</span><span style="color: #007700">.</span><span style="color: #0000BB">txt<br />&nbsp;&nbsp;</span><span style="color: #007700">while&nbsp;</span><span style="color: #0000BB">IFS</span><span style="color: #007700">=</span><span style="color: #DD0000">''&nbsp;</span><span style="color: #0000BB">read&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">r&nbsp;line&nbsp;</span><span style="color: #007700">||&nbsp;&#91;&#91;&nbsp;-</span><span style="color: #0000BB">n&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">$line</span><span style="color: #DD0000">"&nbsp;</span><span style="color: #007700">&#93;&#93;;&nbsp;do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">filename</span><span style="color: #007700">=$(</span><span style="color: #0000BB">basename&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">$line</span><span style="color: #DD0000">"&nbsp;</span><span style="color: #007700">.</span><span style="color: #0000BB">ipa</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Ipa:&nbsp;</span><span style="color: #0000BB">$filename</span><span style="color: #DD0000">"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">#_dev1_______<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">output</span><span style="color: #007700">=</span><span style="color: #0000BB">$ipadestfolder$filename<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output</span><span style="color: #007700">+=</span><span style="color: #DD0000">"_signed_dev1.ipa"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"</span><span style="color: #0000BB">$signscript</span><span style="color: #DD0000">"&nbsp;"</span><span style="color: #0000BB">$line</span><span style="color: #DD0000">"&nbsp;"</span><span style="color: #0000BB">$developer1</span><span style="color: #DD0000">"&nbsp;"</span><span style="color: #0000BB">$mobileprovision1</span><span style="color: #DD0000">"&nbsp;"</span><span style="color: #0000BB">$output</span><span style="color: #DD0000">"<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">done&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">files</span><span style="color: #007700">.</span><span style="color: #0000BB">txt<br />&nbsp;&nbsp;rm&nbsp;files</span><span style="color: #007700">.</span><span style="color: #0000BB">txt&nbsp;<br /></span>
</span>
</code></div>
</div><br />
<span style="color:#000000"><span style="font-family:Consolas"><span style="font-size:14px">sign.sh</span></span></span><br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#&nbsp;!/bin/bash<br /></span><span style="color: #0000BB">SOURCEIPA</span><span style="color: #007700">=</span><span style="color: #DD0000">"$1"<br /></span><span style="color: #0000BB">DEVELOPER</span><span style="color: #007700">=</span><span style="color: #DD0000">"$2"<br /></span><span style="color: #0000BB">MOBILEPROV</span><span style="color: #007700">=</span><span style="color: #DD0000">"$3"<br /></span><span style="color: #0000BB">TARGET</span><span style="color: #007700">=</span><span style="color: #DD0000">"$4"<br /><br /></span><span style="color: #0000BB">unzip&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">qo&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">$SOURCEIPA</span><span style="color: #DD0000">"&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">d&nbsp;extracted<br /><br />APPLICATION</span><span style="color: #007700">=$(</span><span style="color: #0000BB">ls&nbsp;extracted</span><span style="color: #007700">/</span><span style="color: #0000BB">Payload</span><span style="color: #007700">/)<br /><br /></span><span style="color: #0000BB">cp&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">$MOBILEPROV</span><span style="color: #DD0000">"&nbsp;"extracted/Payload/</span><span style="color: #0000BB">$APPLICATION</span><span style="color: #DD0000">/embedded.mobileprovision"<br /><br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"Resigning&nbsp;with&nbsp;certificate:&nbsp;</span><span style="color: #0000BB">$DEVELOPER</span><span style="color: #DD0000">"&nbsp;</span><span style="color: #007700">&gt;&amp;</span><span style="color: #0000BB">2<br />find&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">d&nbsp;extracted&nbsp;&nbsp;</span><span style="color: #007700">\(&nbsp;-</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #DD0000">"*.app"&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">o&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #DD0000">"*.appex"&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">o&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #DD0000">"*.framework"&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">o&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #DD0000">"*.dylib"&nbsp;</span><span style="color: #007700">\)&nbsp;&gt;&nbsp;</span><span style="color: #0000BB">directories</span><span style="color: #007700">.</span><span style="color: #0000BB">txt<br />security&nbsp;cms&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">D&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #DD0000">"extracted/Payload/</span><span style="color: #0000BB">$APPLICATION</span><span style="color: #DD0000">/embedded.mobileprovision"&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">t_entitlements_full</span><span style="color: #007700">.</span><span style="color: #0000BB">plist<br /></span><span style="color: #007700">/</span><span style="color: #0000BB">usr</span><span style="color: #007700">/</span><span style="color: #0000BB">libexec</span><span style="color: #007700">/</span><span style="color: #0000BB">PlistBuddy&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">x&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #DD0000">'Print:Entitlements'&nbsp;</span><span style="color: #0000BB">t_entitlements_full</span><span style="color: #007700">.</span><span style="color: #0000BB">plist&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">t_entitlements</span><span style="color: #007700">.</span><span style="color: #0000BB">plist<br /></span><span style="color: #FF8000">#/usr/libexec/PlistBuddy&nbsp;-c&nbsp;'Print:application-identifier'&nbsp;t_entitlements.plist&nbsp;&gt;&nbsp;t_entitlements_application-identifier&nbsp;&nbsp;&nbsp;#save&nbsp;developer&nbsp;application-identifier&nbsp;to&nbsp;file<br />#/usr/libexec/PlistBuddy&nbsp;-c&nbsp;'Print:com.apple.developer.team-identifier'&nbsp;t_entitlements.plist&nbsp;&gt;&nbsp;t_entitlements_com.apple.developer.team-identifier&nbsp;&nbsp;#save&nbsp;com.apple.developer.team-identifier&nbsp;application-identifier&nbsp;to&nbsp;file<br /></span><span style="color: #007700">while&nbsp;</span><span style="color: #0000BB">IFS</span><span style="color: #007700">=</span><span style="color: #DD0000">''&nbsp;</span><span style="color: #0000BB">read&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">r&nbsp;line&nbsp;</span><span style="color: #007700">||&nbsp;&#91;&#91;&nbsp;-</span><span style="color: #0000BB">n&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">$line</span><span style="color: #DD0000">"&nbsp;</span><span style="color: #007700">&#93;&#93;;&nbsp;do<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">#/usr/bin/codesign&nbsp;-d&nbsp;--entitlements&nbsp;:-&nbsp;&nbsp;"$line"&nbsp;&gt;&nbsp;t_entitlements_original.plist&nbsp;&nbsp;&nbsp;&nbsp;#save&nbsp;original&nbsp;entitlements&nbsp;from&nbsp;the&nbsp;app<br />&nbsp;&nbsp;&nbsp;&nbsp;#/usr/libexec/PlistBuddy&nbsp;-x&nbsp;-c&nbsp;'Import&nbsp;application-identifier&nbsp;t_entitlements_application-identifier'&nbsp;t_entitlements_original.plist&nbsp;#overwrite&nbsp;application-identifier<br />&nbsp;&nbsp;&nbsp;&nbsp;#/usr/libexec/PlistBuddy&nbsp;-x&nbsp;-c&nbsp;'Import&nbsp;com.apple.developer.team-identifier&nbsp;t_entitlements_com.apple.developer.team-identifier'&nbsp;t_entitlements_original.plist&nbsp;#overwrite&nbsp;com.apple.developer.team-identifier<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">/</span><span style="color: #0000BB">usr</span><span style="color: #007700">/</span><span style="color: #0000BB">bin</span><span style="color: #007700">/</span><span style="color: #0000BB">codesign&nbsp;</span><span style="color: #007700">--continue&nbsp;-</span><span style="color: #0000BB">f&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">s&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">$DEVELOPER</span><span style="color: #DD0000">"&nbsp;</span><span style="color: #007700">--</span><span style="color: #0000BB">entitlements&nbsp;</span><span style="color: #DD0000">"t_entitlements.plist"&nbsp;&nbsp;"</span><span style="color: #0000BB">$line</span><span style="color: #DD0000">"<br /></span><span style="color: #0000BB">done&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">directories</span><span style="color: #007700">.</span><span style="color: #0000BB">txt<br /><br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"Creating&nbsp;the&nbsp;Signed&nbsp;IPA"<br /></span><span style="color: #0000BB">cd&nbsp;extracted<br />zip&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">qry&nbsp;</span><span style="color: #007700">../</span><span style="color: #0000BB">extracted</span><span style="color: #007700">.</span><span style="color: #0000BB">ipa&nbsp;</span><span style="color: #007700">*<br /></span><span style="color: #0000BB">cd&nbsp;</span><span style="color: #007700">..<br /></span><span style="color: #0000BB">mv&nbsp;extracted</span><span style="color: #007700">.</span><span style="color: #0000BB">ipa&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">$TARGET</span><span style="color: #DD0000">"<br /><br /></span><span style="color: #0000BB">rm&nbsp;</span><span style="color: #007700">-</span><span style="color: #0000BB">rf&nbsp;</span><span style="color: #DD0000">"extracted"<br /></span><span style="color: #0000BB">rm&nbsp;directories</span><span style="color: #007700">.</span><span style="color: #0000BB">txt<br />rm&nbsp;t_entitlements</span><span style="color: #007700">.</span><span style="color: #0000BB">plist<br />rm&nbsp;t_entitlements_full</span><span style="color: #007700">.</span><span style="color: #0000BB">plist<br /></span><span style="color: #FF8000">#rm&nbsp;t_entitlements_original.plist<br />#rm&nbsp;t_entitlements_application-identifier<br />#rm&nbsp;t_entitlements_com.apple.developer.team-identifier&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/ios">iOS</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/ios/592-resign-your-ios-ipa-frameworks-and-plugins-included</guid>
		</item>
	</channel>
</rss>
