小编cri*_*llo的帖子

iOS-watchOS应用发布问题CFBundleIdentifier冲突

应用上传后,我收到以下电子邮件

我们发现您的应用“ XXX”最近交付时出现了一个或多个问题。请更正以下问题,然后重新上传。

ITMS-90806:CFBundleIdentifier冲突-每个捆绑包必须具有唯一的捆绑包标识符。捆绑包标识符“ org.cocoapods.CocoaLumberjack”用于捆绑包“ [[CocoaLumberjack.framework,CocoaLumberjack.framework]””中

CocoaLumberjack是一个第三方库,我在过去已经使用了很多次而没有任何问题,我很困惑。

它与框架的.plist关键字CFBundlePackageType无关,因为此问题/答案是框架CFBundleIdentifier Collision中指定的。CocoaLumberjack捆绑包的类型为“框架”(CFBundlePackageType = FMWK)。CocoaLumberjack是使用cocoapods添加到我的项目中的广泛使用的第三方库。

该问题可能与我的应用程序包中的watchOS目标有关。CocoaLumberjack库在iOS应用程序和watchOS应用程序中都使用,这引起了有关捆绑标识符重复的问题。

如果iOS目标和Watch Extension之间共享框架,则Apple Connect服务器会检测到CFBundleIdentifier冲突。

target 'App' do
 platform :ios, '9.0'
 # Pods for App
 ...
 pod 'CocoaLumberjack/Swift', '~> 3.5.3'
 ...
end

target 'AppWatch Extension' do
 platform :watchos, '5.0'
 # Pods for Watch Extension
 ...
 pod 'CocoaLumberjack/Swift', '~> 3.5.3'
 ...
end
Run Code Online (Sandbox Code Playgroud)

iOS应用正在使用该库,而watchOS扩展正在使用相同的库。他们使用不同的库,但CocoaLumberjack是两者中唯一的一个。

过去,我已经多次发布我的应用程序,而相同的库配置没有任何问题。我想苹果在最近几天改变了一些关于捆绑标识符的限制。

使用迦太基也存在相同的问题。

xcode ios cocoapods carthage watchos

12
推荐指数
2
解决办法
906
查看次数

处理绘图/绘画/保存多个位图

目标:

我想从pdf中绘制/写/绘制位图并将它们保存在一起,这样我就可以发送电子邮件了.

细节:

我有多个Pdf文件包含5-20每个页面,现在正在从中提取位图pdfs并将它们加载到片段中ViewPager,我可以在其中滑动它们并写入/绘制或我想要的任何内容.保存/恢复我正在使用的位图的当前状态onSaveInstanceState.这样我就可以在来回滑动的同时检索位图的最后一个阶段.

像这样的东西:

@Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putParcelable("Bitmap", bitmap);
    }
Run Code Online (Sandbox Code Playgroud)

问题:

用户按下发送电子邮件按钮,我应该能够保存所有图像,无论他在哪个页面,即他已经编辑了5到10页,现在他在第10页,按下发送按钮我应该能够检索所有编辑过的图像.

问题2:

正如我所说,图像的数量大约为5-20,保存状态的onSaveInstanceState效果很好,但它会不断增加内存中的应用程序内存,并且应用程序在应用程序大小所在的第10个图像处崩溃150Mbs.

但是将图像保存为捆绑包onSaveInstanceState也是必要的,因为当用户向后滑动时,它有助于更​​快地加载图像.

所以我想我们有什么方法可以创建一个自定义捆绑类,我们可以在滚动5页之后将图像写入磁盘并清除内存并在用户向后滚动时将其从磁盘读回内存?这听起来有道理吗?

我尝试过的:

作为位图在单独的碎片装我试图挽救位图到外部存储中OnDestroy,但保存位图到磁盘上是一个不小的任务,它需要一定的时间,虽然现在用的AsyncTask ,但是当用户刷卡有点快片段之间,然后保存位图在OnDestroy做似乎不是一个方便的方式.

这就是为什么我问这个问题所以也许你对这种情况有了更好的了解,并且可以帮助我以更方便的方式实现这个目标.

那么你的目的是如何处理这种情况呢?

注意:

如果您无法理解情况并需要更多信息,请给我留言,我会更新问题.

谢谢

android bitmap android-asynctask android-fragments

6
推荐指数
1
解决办法
175
查看次数

azure 通知中心上的 iOS13 apns-push-type 标头

从 iOS 13 和 watchOS 6 开始,Apple 要求存在用于推送通知的标头apns-push-type(此标头的值可以是alertbackground)。

根据苹果文档:

此标头的值必须准确反映通知负载的内容。如果不匹配,或者所需系统上缺少标头,APN 可能会延迟通知的传递或完全丢弃它。

    HEADERS
      - END_STREAM
      + END_HEADERS
      :method = POST
      :scheme = https
      :path = /3/device/xxxxxx
      host = api.sandbox.push.apple.com
      authorization = bearer xxx
      apns-id = xxx-xxx-xxx
      apns-push-type = alert
      apns-expiration = 0
      apns-priority = 10
      apns-topic = com.example.MyApp
    DATA
      + END_STREAM
      { "aps" : { "alert" : "Hello" } }
Run Code Online (Sandbox Code Playgroud)

见苹果文档

不幸的是,使用 azure 通知中心我只能定义aps内容而不能定义标题。

{ "aps": { "alert":"Alert message!", "content-available": 1 }, "CustomData": …
Run Code Online (Sandbox Code Playgroud)

azure push-notification azure-notificationhub ios13

1
推荐指数
1
解决办法
3744
查看次数