我使用this plugin并将其整合为this demo-application。那使用Star SDK。
但是,当我进行Ionic构建时,如何在 config.xml 中更改SDK总是添加/加载的内容?因为现在当我们使用不同的MacBook构建时,我们都必须将它重新添加到我们的项目中。
它现在特定于StarIO SDK,但我认为其他人在添加SDK时也可能遇到同样的困难。
编辑:每次我从Ionic项目归档iOS应用之前,我都必须手动执行以下操作:
ExternalAccessory.framework
info.plist
这是很多工作,特别是当我们每周有多个构建时。我们并不总是在同一台机器上部署,而且很难忘记一步。
我看到很多Cordova软件包,例如,当没有Podfile时你需要手动完成一些事情,或者它总是需要一些配置。
答案 0 :(得分:3)
这是StarIOPlugin创建者应该做的事情而不是告诉您手动添加Star SDK。首先在StarIOPlugin的github存储库中添加一个问题。
如果作者不想这样做,那么您可以分叉插件并自行更新。
首先应将StarIO.framework
添加到src/ios
文件夹
现在您只需编辑plugin.xml
文件
首先将此行添加到plugin.xml以将框架复制到Xcode项目
<source-file src="src/ios/StarIO.framework" framework="true" />
然后添加这两行以添加蓝牙和ExternalAccesory框架
<framework src="CoreBluetooth.framework" />
<framework src="ExternalAccesory.framework" />
最后,写一下info.plist使用
<config-file target="*-Info.plist" parent="UISupportedExternalAccessoryProtocols">
<array>
<string>jp.star-m.starpro</string>
</array>
</config-file>
我没有测试过,但应该足够了。
答案 1 :(得分:1)
我是最初贡献iOS支持的开发人员,我不明白为什么你需要做多次提到的配置。您是否从项目中删除并添加了iOS平台?这是应该造成这种情况的唯一原因。
有几个原因我没有在原始PR中包含该库。但我的推理很可能是有缺陷的。
这是我在想的......
无论如何,应该改进文档以帮助其他开发人员遇到同样的问题。
答案 2 :(得分:-1)
我想你必须在这里做一些手工工作。如果它是一个简单的命令,您可以在package.json中创建一个“脚本”并使用“npm run script_name”运行它。
根据您的特定需求,您还可以向gulpfile.js添加任务(这由离子构建使用)或编写一个JS脚本,该脚本通过特定的Cordova生命周期步骤执行。 Check this out了解有关此问题的详细信息。默认的离子项目有example hook你可以查看灵感。