我目前正在Xamarin Studio中开发一个应用程序,我想通过脚本修改构建info.plist。不幸的是,Xamarin Studio缺少脚本构建阶段,因此我唯一的选择是在构建之后运行脚本,这当然会破坏签名。
由于不同的身份用于不同的配置,我无法使身份成为静态,无论哪种方式,我都希望尽可能少地干扰Xamarin(I.E.能够使用项目设置等)。
有没有办法通过shell脚本使用当前签名的身份来重新签名应用?
答案 0 :(得分:0)
您可以尝试修改Info.plist
,然后再次重新签名您的应用程序包。我从未试图这样做,但我相信,它应该有效。
答案 1 :(得分:0)
您是否尝试过xcodebuild
命令,在构建配置中指定了Identity,因此您只需要提及配置..您可以在/ obj / xcode / somewhere中找到xcodeproj
xcodebuild -project Xamarin.xcodeproj -scheme TestApp -configuration "Ad Hoc"
答案 2 :(得分:0)
所以我找到了解决方案:
#!/usr/bin/env python
import sys
import subprocess
import re
import os
app_path = os.path.abspath(sys.argv[1])
signing_info = subprocess.Popen(['codesign', '--display', '--verbose=4', app_path], stdin=subprocess.PIPE, stderr=subprocess.STDOUT, stdout=subprocess.PIPE, close_fds=True).communicate()[0]
identity = re.search('Authority=(.*)', signing_info).group(1)
subprocess.call(['codesign', '--sign', identity, '--force', '--preserve-metadata=entitlements,resource-rules,requirements', '/Users/stefanfisk/Projekt/Tunaspot/Xamarin/App/Touch/bin/iPhone/Ad-Hoc/Touch.app'])