EvanBacon / expo-apple-targets

Config Plugin to setup Apple targets
308 stars 30 forks source link

Console warning: [Malformed Xcode project]: Found orphaned reference #43

Open rickmed opened 2 months ago

rickmed commented 2 months ago

I get this console warning:

[Malformed Xcode project]: Found orphaned reference: 13B07F8E1A680F5B00A75B9A > PBXResourcesBuildPhase.files > 6DE26EAA77674812BFD4FF13

I'm using expo-apple-targets to add Notification Service Extension to my react native expo project.

in ./src/targets/notification-service I have:

expo-target.config.js

/** @type {import('@bacons/apple-targets').Config} */
module.exports = {
  type: 'notification-service',
  name: 'NotificationService',
  deploymentTarget: '13.0',
}

and NotificationService.swift (not sure if this file is necessary since there's an identical one in this repo):

import UserNotifications

class NotificationService: UNNotificationServiceExtension {
    var contentHandler: ((UNNotificationContent) -> Void)?
    var bestAttemptContent: UNMutableNotificationContent?

    override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
        self.contentHandler = contentHandler
        bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)

        if let bestAttemptContent = bestAttemptContent {
            // Modify the notification content here
            bestAttemptContent.title = "\(bestAttemptContent.title) [modified]"

            contentHandler(bestAttemptContent)
        }
    }

    override func serviceExtensionTimeWillExpire() {
        // Called just before the extension will be terminated by the system.
        // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used.
        if let contentHandler = contentHandler, let bestAttemptContent =  bestAttemptContent {
            contentHandler(bestAttemptContent)
        }
    }
}

In my app.json the first plugin is

      [
        "@bacons/apple-targets",
        {
          "appleTeamId": "...",
          "root": "./src/targets"
        }
      ],

I tried without using the root key (so that is not the problem).

cemck commented 1 month ago

same issue

carozo commented 1 month ago

same issue