发布由 Genexus 生成的应用程序

Publishing Apps generated by Genexus

当我在 AppStore 中发布由 Genexus 生成的应用程序时,我收到电子邮件:

"缺少推送通知授权 - 您的应用似乎包含 API 用于注册 Apple 推送通知服务...如果您应用程序使用 Apple 推送通知服务,请确保您的 App ID 已在配置门户中启用推送通知

这让我想到,我可以做些什么来删除未使用的引用以减小文件大小? (还因为我注意到 googlePlay 上有 Genexus 应用程序,其文件大小只是我的应用程序文件大小的一小部分 - 而我的应用程序更简单)。

简答:如果您的应用不使用推送通知,您可以忽略它。

长答案:当应用程序引用通知 API 并且 App ID 推送通知被禁用(定义 here)时,Apple 会发送此邮件作为警告. GeneXus 应用程序仅在启用时生成引用通知 API 的代码,但我们使用一些可能引用通知 API 的第三方库。我们仍然需要调查哪个库可能导致警告。

关于文件大小,大部分来自资源(例如所有分辨率变体中的启动画面和应用程序图标)。 iOS 应用的当前文件大小限制为 4GB。无论如何,在 GeneXus 的未来版本中,我们正在更改某些部分 iOS 生成的应用程序架构以减少二进制文件的大小。

由于问题中也提到了Android个应用,而Fabian的回答只提到了iOS,所以稍微澄清一下(不过太长了,无法发表评论)。

Android 生成器已经包含了某些基于 GeneXus 对象是否引用其相应的外部对象或用户控件的库(例如 Facebook 或 Twitter SDK)。这是一个必要性,因为 Dalvik 的 64K 方法限制,在开发离线应用程序时会很快接近这个限制。

话虽这么说,但还有更多工作要做。我们希望在未来的版本中进一步改进这一点,例如使用新的 Play Services granular dependencies(即将部署在 Salto 预览版中)或通过 minification/ProGuard.

剥离额外代码