2016-01-25 23 views
15

Tôi đang sử dụng gói https://github.com/mikaelbr/node-notifier để hiển thị thông báo trong trình bao.Xóa biểu tượng đầu cuối trong thông báo nút

Đây là mã của tôi:

var notifier = require('node-notifier'); 
var path = require('path'); 

notifier.notify({ 
    title: 'My awesome title', 
    message: 'Hello from node, Mr. User!', 
    icon: path.join(__dirname, 'coulson.jpg'), // absolute path (not balloons) 
    sound: true, // Only Notification Center or Windows Toasters 
    wait: true // wait with callback until user action is taken on notification 
}, function (err, response) { 
    // response is response from notification 
}); 

notifier.on('click', function (notifierObject, options) { 
    // Happens if `wait: true` and user clicks notification 
}); 

notifier.on('timeout', function (notifierObject, options) { 
    // Happens if `wait: true` and notification closes 
}); 

Thông báo đến như thế này:

enter image description here

Như bạn có thể thấy một biểu tượng thiết bị đầu cuối đang đến trước tên.

Bạn có thể giúp tôi cách xóa biểu tượng đó không?

Trả lời

8

Đã biết vấn đề với node-notifier.

Từ issue #71:

mikaelbr:

Không, tôi sợ đó là cách làm việc thông báo, vì nó là thiết bị đầu cuối mà khởi nhắn. Cách duy nhất để tránh điều này là sử dụng trình thông báo thiết bị đầu cuối tùy chỉnh của bạn, nơi biểu tượng Thiết bị đầu cuối được hoán đổi cho riêng bạn. Nó không phải là một nhiệm vụ lớn, và bạn có thể dễ dàng set customPath cho phóng viên trung tâm thông báo.

kurisubrooks:

Điều này xảy ra bởi vì các thông báo cách thức làm việc OS X. Thông báo sẽ hiển thị biểu tượng ứng dụng giới thiệu và bởi vì chúng tôi đang sử dụng terminal-notifier để đẩy thông báo, chúng tôi có biểu tượng trình thông báo thiết bị đầu cuối.

Để giải quyết vấn đề này, bạn sẽ cần phải biên dịch thiết bị đầu cuối thông báo bằng app.icns của riêng bạn. Tải xuống mã nguồn, thay đổi gói AppIcon bằng gói của riêng bạn trong Xcode, biên dịch lại trình thông báo đầu cuối và bật nó vào trình thông báo nút. (/node-notifier/vendor/terminal-notifier.app)

Bây giờ bạn có trình thông báo đầu cuối của riêng mình bên trong trình thông báo nút, xóa tất cả các tham chiếu biểu tượng khỏi mã Trung tâm thông báo OS X của bạn và chạy thông báo như thể nó không có biểu tượng. Nếu biểu tượng ứng dụng cũ hiển thị trong thông báo của bạn, bạn cần xóa bộ nhớ cache biểu tượng của mình. (Google làm thế nào để làm điều này)

Một bình luận có giá trị từ mikaelb:

Đó là chính xác. Nhưng xin lưu ý, trình thông báo nút sử dụng một ngã ba thiết bị đầu cuối-notifier (github.com/mikaelbr/terminal-notifier) để thêm tùy chọn để chờ thông báo kết thúc, do đó, điều này nên được sử dụng để thêm biểu tượng của riêng bạn. Một cách dễ dàng để làm điều đó là sao chép/dán từ thư mục nhà cung cấp và sử dụng customPath để trỏ đến nhà cung cấp của riêng bạn.

+1

Đúng vậy. Nhưng hãy nhớ, nút thông báo sử dụng một ngã ba thiết bị đầu cuối-notifier (https://github.com/mikaelbr/terminal-notifier) ​​để thêm tùy chọn để chờ thông báo kết thúc, do đó, điều này nên được sử dụng để thêm biểu tượng của riêng bạn . Một cách dễ dàng để làm điều đó là sao chép/dán từ thư mục nhà cung cấp và sử dụng 'customPath' để trỏ đến nhà cung cấp của riêng bạn. – mikaelb

+0

@mikaelb Cảm ơn. Tôi đã bao gồm bình luận của bạn cho câu trả lời, vì vậy nó sẽ không bị lạc. –

1

Tôi đã thử các bước của @Aleksandr M nhưng có vẻ như nó không hoạt động đối với tôi. Có lẽ tôi không hiểu các bước đủ tốt. Đây là cách nó làm việc cho tôi.

Tôi nhân bản https://github.com/mikaelbr/terminal-notifier. Sau đó, mở dự án bằng xcode và xóa tệp Terminal.icns và thay thế bằng biểu tượng tùy chỉnh Myicon.icns.

Sau đó, chỉnh sửa terminal-notifier/Terminal Notifier/Terminal Notifier-Info.plist bằng cách đặt khóa icon file thành Myicon.

Sau khi thực hiện việc này, chỉ cần xây dựng dự án KHÔNG hoạt động. Tôi phải thay đổi các giá trị của build versionbuild identifier (mọi giá trị mới sẽ làm) see this.

Sau đó tôi chỉ xây dựng dự án với xcode và sau đó sao chép xây dựng .app tập tin (bạn có thể tìm thấy nó bằng cách nhấn vào thư mục Products của dự án từ xcode Products > right click the file > show in finder) cho dự án điện tử của tôi

ví dụ như con đường cuối cùng của bạn có thể trông như thế này. electron-project/vendor/terminal-notifier.app.

Sau đó, tôi set customPath như @Aleksandr M đề xuất.

Đây là những gì tôi trông giống như

var notifier = new NotificationCenter({ customPath: 'vendor/terminal-notifier.app/Contents/MacOS/terminal-notifier' });

và sau đó nó làm việc!

Các vấn đề liên quan